1. Zookeeper正常部署

首先保证Zookeeper集群的正常部署并启动,参考:Zookeeper 二、安装部署 3.集群模式安装

2. Hadoop正常部署

Hbase依赖Hadoop组件,因此Hadoop 集群也需正常部署并启动,参考:Hadoop 六、Hadoop安装部署 3. 完全分布式运行模式(开发重点)

image.png

3. HBase的解压

  1. [root@hadoop101 hbase]# tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module/

4. HBase 的配置文件

修改三个文件 hbase-env.shhbase-site.xmlregionservers

4.1 hbase-env.sh

用于配置hbase的环境信息,修改如下三个地方

  1. # 1. JAVA_HOME
  2. export JAVA_HOME=/opt/module/jdk1.6.0_144
  3. # 2. 可以选择注释掉下面2个配置,不注释也可以,在JDK8+环境下使用该配置启动时会报2个警告,因此此处注释掉
  4. # Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
  5. #export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
  6. #export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
  7. # 3. HBASE自带zk,如果不修改为false,在hbase启动时会使用自带的zk,修改掉我们自己zk的pid,下次导致启动失败。因此当前需要使用我们自己的zk
  8. export HBASE_MANAGES_ZK=false

4.2 hbase-site.xml

全部配置信息详解———>hbase-default.xml

  1. <configuration>
  2. <!-- 指定hbase数据在hadoop中存储目录 -->
  3. <property>
  4. <name>hbase.rootdir</name>
  5. <value>hdfs://hadoop101:9000/HBase</value>
  6. </property>
  7. <!-- 分布式 -->
  8. <property>
  9. <name>hbase.cluster.distributed</name>
  10. <value>true</value>
  11. </property>
  12. <!-- 0.98 前,之前版本没有.port,默认端口为 60000 -->
  13. <!-- 0.98 后,master端口号16000;还可以配置webUI端口号,默认是16010 -->
  14. <property>
  15. <name>hbase.master.port</name>
  16. <value>16000</value>
  17. </property>
  18. <!-- zk地址 -->
  19. <property>
  20. <name>hbase.zookeeper.quorum</name>
  21. <value>hadoop101,hadoop102,hadoop103</value>
  22. </property>
  23. <!-- zk的功能目录,zk在磁盘上数据存储的目录 version 2 -->
  24. <property>
  25. <name>hbase.zookeeper.property.dataDir</name>
  26. <value>/opt/module/zookeeper-3.4.10/zkData</value>
  27. </property>
  28. </configuration>

4.3 regionservers

所有regionserver的地址

hadoop101
hadoop102
hadoop103

4.4 软连接hadoop配置文件到HBase

告诉Hbase,hadoop的 core-site.xmlhdfs-site.xml 配置

[root@hadoop101 conf]# ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml
[root@hadoop101 conf]# ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml

4.5 分发

xsync hbase/

4.6 启动

4.6.1 集群时间同步问题

注意:如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出 **ClockOutOfSyncException** 异常。
解决:a. 同步时间服务,参考:Hadoop 九、集群时间同步
b. 属性: hbase.master.maxclockskew 设置最大时钟偏差为更大的值

<!-- 允许regionserver之间最大时间差 -->
<property>
 <name>hbase.master.maxclockskew</name>
 <value>180000</value>
 <description>Time difference of regionserver from master</description>
</property>

4.6.2 单独启动(不推荐)

  • 分别启动master和regionserver
  • hadoop101的master和regionserver
  • hadoop102的regionserver
  • hadoop103的regionserver
# 启动HMaster
[root@hadoop101 bin]# ./hbase-daemon.sh start master
# 启动HRegionServer
[root@hadoop101 bin]# ./hbase-daemon.sh start regionserver
# 停止HMaster
[root@hadoop101 bin]# ./hbase-daemon.sh stop master
# 停止HRegionServer
[root@hadoop101 bin]# ./hbase-daemon.sh stop regionserver

4.6.3 群起/群停(推荐)

注意:在哪台机器起,这台机器默认就是master

bin/start-hbase.sh
bin/stop-hbase.sh

4.7 HBase的可视化页面

Web端默认端口16010 http://hadoop101:16010

image.png

4.8 日志

日志分为masterregionserver两种

image.png