当前位置:   article > 正文

大数据平台分布式搭建 - HBase分布式搭建_hbaseexplorer 官方网站

hbaseexplorer 官方网站
文件清单
  1. hbase-1.3.0
下载链接

[HBase 下载链接]: https://hbase.apache.org/downloads.html

HBase分布式部署

在同时部署HadoopZookeeper的基础上,进行以下操作。
总览,集群信息:

节点角色MasterSlave1Slave2
IP192.168.137.128192.168.137.129192.168.137.130
HostNameBlogMasterBlogSlave1BlogSlave2
HadoopBolgMaster-YESBlogSlave1-YESBlogSlave2-YES
ZookeeperBolgMaster-YESBlogSlave1-YESBlogSlave2-YES
HBaseBolgMaster-YES-HMaster(可以包含HRegionServer)BlogSlave1-HRegionServer-YESBlogSlave2-HRegionServer-Yes

Step 1: 解压HBase压缩包至指定目录(/opt/cluster/下)

采用如下命令,将hbase压缩包解压到指定的目录。

[root@BlogMaster ~]# tar -zxvf hbase-2.2.2-bin.tar.gz -C /opt/cluster/
  • 1

Step 2: 修改HBase的hbase-env.sh配置文件(位于:/opt/cluster/hbase-2.2.2/conf)

进入该文件后,分别修改HAVA_HOME和HBASE_MANAGES_ZK。

对于JAVA_HOME

# The java implementation to use.  Java 1.8+ required.
export JAVA_HOME=/opt/cluster/jdk1.8.0_181
  • 1
  • 2

对于HBASE_MANAGES_ZK

# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=false
  • 1
  • 2

Step 3: 修改Hbase的hbase-site.xml配置文件(位于:/opt/cluster/hbase-2.2.2/conf)

进入该文件后,新添如下内容:

<configuration>
        <!-- 设置namenode所在位置 通过rootdir设置 也就是设置hdfs中存放的路径 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://BlogMaster:9000/hbase</value>
        </property>

        <!-- 是否开启集群 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>

        <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
        <property>
                <name>hbase.master.port</name>
                <value>16000</value>
        </property>

        <!-- zookeeper集群的位置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>BlogMaster:2181,BlogSlave1:2181,BlogSlave2:2181</value>
        </property>

        <!-- hbase的元数据信息存储在zookeeper的位置 -->
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/opt/cluster/zookeeper-3.4.10/zkData</value>
        </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Step 4: 修改HBase的regionserver文件(位于:/opt/cluster/hbase-2.2.2/conf)

进入该文件后,添加如下内容:

BlogMaster
BlogSlave1
BlogSlave2
  • 1
  • 2
  • 3

Step 5: 以Hadoop集群最新文件替换HBase自带的旧Hadoop文件(位于:/opt/cluster/hbase-2.2.2/lib)

进入该目录后,判断其依赖的hadoop的lib版本号是否与此前安装的hadoop集群版本号相同,若相同,则运气倍儿棒;若不相同,则逐一将HBase依赖的lib替换为hadoop集群各文件夹下分散的lib文件。
首先,进入该目录后,观察依赖的hadoop lib包:
在这里插入图片描述
不幸的是,里面依赖包的版本号为2.8.5,而此前安装的hadoop集群版本号为2.8.4,故需要逐一替换(尽量全部替换,若没有可能升级后jar包互相合并了,如hadoop-client-2.84.jar合并到hadoop-hdfs-client-2.8.4.jar中)。
第一步: 删除当前hbase依赖的自带hadoop lib包

[root@BlogMaster lib]# rm -f hadoop-*
  • 1

第二步: 进入hadoop安装目录下的/share/hadoop目录下的common子目录,将如下两包ll拷贝至hbase安装目录的lib子目录,执行如下命令:

[root@BlogMaster common]# cp hadoop-common-2.8.4* /opt/cluster/hbase-2.2.2/lib/
  • 1

第三步: 进入hadoop安装目录下的/share/hadoop目录下的hdfs子目录,将如下两包拷贝至hbase安装目录的lib子目录,执行如下命令:

[root@BlogMaster hdfs]# cp hadoop-hdfs-2.8.4* /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster hdfs]# cp hadoop-hdfs-client-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
  • 1
  • 2

第三步: 进入hadoop安装目录下的/share/hadoop目录下的mapreduce子目录,将如下两包拷贝至hbase安装目录的lib子目录,执行如下命令:

[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-app-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-common-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-core-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-hs-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-jobclient-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster mapreduce]# cp hadoop-mapreduce-client-shuffle-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

第四步: 进入hadoop安装目录下的/share/hadoop目录下的yarn子目录,将如下两包拷贝至hbase安装目录的lib子目录,执行如下命令:

[root@BlogMaster yarn]# cp hadoop-yarn-api-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-client-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-common-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-applicationhistoryservice-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-common-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-nodemanager-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-resourcemanager-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-web-proxy-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster yarn]# cp hadoop-yarn-server-tests-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

第五步: 进入hadoop安装目录下的/share/hadoop目录下的/tools/lib子目录(即/opt/cluster/hadoop-2.8.4/share/hadoop/tools/lib
),将如下两包拷贝至hbase安装目录的lib子目录,执行如下命令:

[root@BlogMaster lib]# cp hadoop-auth-2.8.4.jar /opt/cluster/hbase-2.2.2/lib/
[root@BlogMaster lib]# cp hadoop-distcp-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
[root@BlogMaster lib]# cp hadoop-annotations-2.8.4.jar /opt/cluster/hbase-2.2.2/lib
  • 1
  • 2
  • 3

Step 6: 创建两个软连接

在hbase安装目录下conf文件夹下,创建core-site.xml和hdfs-site.xml软连接。
创建命令为:

[root@BlogMaster conf]# ln -s /opt/cluster/hadoop-2.8.4/etc/hadoop/core-site.xml 
[root@BlogMaster conf]# ln -s /opt/cluster/hadoop-2.8.4/etc/hadoop/hdfs-site.xml 
  • 1
  • 2

创建后结果为:

[root@BlogMaster conf]# ll
total 44
lrwxrwxrwx. 1 root   root     50 Nov 13 10:19 core-site.xml -> /opt/cluster/hadoop-2.8.4/etc/hadoop/core-site.xml
-rw-r--r--. 1 hadoop hadoop 1811 Oct 19 17:53 hadoop-metrics2-hbase.properties
-rw-r--r--. 1 hadoop hadoop 4284 Oct 19 17:53 hbase-env.cmd
-rw-r--r--. 1 hadoop hadoop 7540 Nov 13 09:01 hbase-env.sh
-rw-r--r--. 1 hadoop hadoop 2257 Oct 19 17:53 hbase-policy.xml
-rw-r--r--. 1 hadoop hadoop 1772 Nov 13 09:05 hbase-site.xml
lrwxrwxrwx. 1 root   root     50 Nov 13 10:19 hdfs-site.xml -> /opt/cluster/hadoop-2.8.4/etc/hadoop/hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop 1168 Oct 19 17:53 log4j-hbtop.properties
-rw-r--r--. 1 hadoop hadoop 4977 Oct 19 17:53 log4j.properties
-rw-r--r--. 1 hadoop hadoop   33 Nov 13 09:09 regionservers
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Step 7: 分发BlogMaster节点下hbase-2.2.2整个文件至两台Slave节点

执行如下命令:

[root@BlogMaster cluster]# scp -r hbase-2.2.2/ BlogSlave1:$PWD
[root@BlogMaster cluster]# scp -r hbase-2.2.2/ BlogSlave2:$PWD
  • 1
  • 2

注意此部分时间稍长,因为Hbase包将近230M~~,要不听一首Camera Obscura的Break it to you Gently。

HBase运行状态监测

Step 1: 启动HBase服务

在启动HBase前,确保先启动Hadoop集群和Zookeeper,因为HBase依赖这两者。进一步,需要启动Master和RegionServer服务。因此,在确保这两者服务均启动的情况下,执行如下命令。

[root@BlogMaster hbase-2.2.2]# bin/start-hbase.sh
  • 1

附:
启动Hadoop集群和Zookeeper的命令:

启动Hadoop集群

[root@BlogMaster hbase-2.2.2]# start-dfs.sh
  • 1

启动Zookeeper
可参照此前博客Zookeeper

Step 2: JPS和HBase Web页面查看运行状态

这里考虑到主节点同时充当Master和RegionServer服务,因此注意观察是否HMaster和HRegionServer服务已启动。

  • Step 2.1: 方法一, 以JPS方式查看
[root@BlogMaster hbase-2.2.2]# jps
2945 QuorumPeerMain
2390 NameNode
2682 ResourceManager
3882 Jps
3835 HRegionServer
3709 HMaster
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

对于BlogSlave1和BlogSlave2节点,两者均充当RegionServer服务,因此需要观察HRegionServer进程启动。
对于BlogSlave1

[root@BlogSlave1 ~]# jps
3505 Jps
2628 QuorumPeerMain
2342 SecondaryNameNode
3384 HRegionServer
2282 DataNode
2413 NodeManager
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

对于BlogSlave2

[root@BlogSlave2 ~]# jps
3089 Jps
2278 DataNode
2551 QuorumPeerMain
2345 NodeManager
3035 HRegionServer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Step 2.2: 以HBase Web页面方式查看
    其一,登录网址:http://192.168.137.128:16010/master-status,查看HBase运行情况
    在这里插入图片描述
    其二,登录网址:http://192.168.137.128:50070/explorer.html#/hbase,查看HBase元数据在HDFS的创建情况
    在这里插入图片描述

Step 3: HBase Shell简单操作

其一,进入HBase Shell,逐一执行如下命令,创建employer表格和插入数据。
Code 1 - 创建表格:

hbase(main):003:0> create 'employer','info'
Created table employer
Took 1.3684 seconds                                                                                    
=> Hbase::Table - employer
  • 1
  • 2
  • 3
  • 4

Code 2 - 插入数据:

hbase(main):006:0> put 'employer','1001','info:sex','male'
Took 0.5977 seconds                                                                                    
hbase(main):007:0> put 'employer','1001','info:age','22'
Took 0.0578 seconds                                                                                    
hbase(main):008:0> put 'employer','1002','info:age','23'
Took 0.0112 seconds                                                                                    
hbase(main):009:0> put 'employer','1002','info:name','Janna'
Took 0.0076 seconds                                                                                    
hbase(main):010:0> put 'employer','1002','info:sex','female'
Took 0.0068 seconds   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Code 3 - 更新数据:

hbase(main):019:0> put 'employer','1001','info:age','100'
Took 0.0077 seconds       
  • 1
  • 2

Code 4 - 查看数据:

hbase(main):021:0> scan 'employer'
ROW                        COLUMN+CELL                                                                 
 1001                      column=info:age, timestamp=1573615776681, value=100                         
 1001                      column=info:sex, timestamp=1573615579624, value=male                        
 1002                      column=info:age, timestamp=1573615596987, value=23                          
 1002                      column=info:name, timestamp=1573615608456, value=Janna                      
 1002                      column=info:sex, timestamp=1573615622557, value=female                      
2 row(s)
Took 0.0240 seconds 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

其二,HBase页面查看数据。

登录网址:http://192.168.137.128:16010/master-status
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/980121
推荐阅读
相关标签
  

闽ICP备14008679号