首先要启动Hadoop以及zookeeper,可以参考前面发布的文章。
这里我使用的是1.3.6的版本,具体的根据自己的版本来。
~~~[root@master ~]# ls
[root@master ~]# ls
hbase-1.3.6-bin.tar.gz
然后解压hbase的包到当前的目录。
[root@master ~]# tar -zxvf hbase-1.3.6-bin.tar.gz
查看解压后Hbase目录中的文件
[root@master ~]# cd hbase-1.3.6
[root@master hbase-1.3.6]# ll
total 420
drwxr-xr-x 4 503 games 4096 Oct 14 2019 bin
-rw-r–r-- 1 503 games 197073 Oct 15 2019 CHANGES.txt
drwxr-xr-x 2 503 games 4096 Apr 26 09:08 conf
drwxr-xr-x 12 503 games 4096 Oct 15 2019 docs
drwxr-xr-x 7 503 games 75 Oct 15 2019 hbase-webapps
-rw-r–r-- 1 503 games 262 Oct 5 2019 LEGAL
drwxr-xr-x 3 root root 8192 Apr 26 08:34 lib
-rw-r–r-- 1 503 games 143083 Oct 15 2019 LICENSE.txt
drwxr-xr-x 2 root root 4096 Apr 26 09:11 logs
-rw-r–r-- 1 503 games 47316 Oct 15 2019 NOTICE.txt
-rw-r–r-- 1 503 games 1477 Oct 11 2019 README.txt
#### 配置Hbase
进入到conf配置目录中,需要修改三个文件,具体如下:
1.配置hbase-env.sh文件
[root@master hbase-1.3.6]# cd conf/
[root@master conf]# ls
hadoop-metrics2-hbase.properties hbase-policy.xml log4j.properties
hbase-env.cmd hbase-site.xml regionservers
hbase-env.sh log4j-hbtop.properties
[root@master conf]# vi hbase-env.sh
然后找到配置Java变量这一行,去除前面的#号,并将内容修改如下
export JAVA_HOME=/opt/bigdata/jdk1.8.0_161(这是我的Java环境变量,具体的根据自己真实的路径填写)
然后在这条命令下添加以下内容
export HBASE_MANAGES_ZK=false (意思是不使用自带zookeeper管理HBase集群)
最后保存退出
2.配置hbase-site.xml文件,将以下内容代替之前的内容。
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,node1,node2</value> (这个是自己的节点名称)
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
3.配置regionservers文件
[root@master conf]# vi regionservers
node1
node2
**** 注意添加的是你自己的节点名称。
配置Hbase的环境变量并且验证Hbase集群
[root@master ~]# vi .bash_profile
添加以下内容
#HBase
export HBASE_HOME=/root/hbase-1.3.6
export PATH=HBASEHOME/bin:HBASE_HOME/bin:HBASEHOME/bin:PATH
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
然后执行以下命令使环境变量生效。
[root@master ~]# source .bash_profile
将配置好的HBase文件夹复制到从节点
[root@master ~]# scp -r hbase-1.3.6 node1:~/
[root@master ~]# scp -r hbase-1.3.6 node2:~/
在master节点启动Hbase集群
[root@master ~]# start-hbase.sh
然后查看各个节点的jps
[root@master ~]# jps
4788 HMaster
5240 Jps
3835 NameNode
4588 QuorumPeerMain
4255 ResourceManager
[root@node1 ~]# jps
2866 DataNode
2981 SecondaryNameNode
3061 NodeManager
3207 QuorumPeerMain
3293 HRegionServer
3581 Jps
[root@node2 ~]# jps
2739 DataNode
3076 HRegionServer
2854 NodeManager
3000 QuorumPeerMain
3372 Jps
注意!!! 检查mater节点是否出现HMaster,另外两个节点是否出现HRegionServer。
利用hbase shell进入HBase命令行。
[root@master ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/hbase-1.3.6/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop-3.0.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter ‘help’ for list of supported commands.
Type “exit” to leave the HBase Shell
Version 1.3.6, r806dc3625c96fe2cfc03048f3c54a0b38bc9e984, Tue Oct 15 01:55:41 PDT 2019
hbase(main):001:0>
至此hbase搭建就全部完毕了,欢迎大家留言讨论!!!!