1、 Zookeeper 正常部署
首先保证 Zookeeper 集群的正常部署,并启动之:
/opt/module/zookeeper-3.4.10/bin/zkServer.sh start
2、 Hadoop 正常部署
Hadoop 集群的正常部署并启动:
/opt/module/hadoop-2.7.2/sbin/start-dfs.sh
/opt/module/hadoop-2.7.2/sbin/start-yarn.sh
3、 HBase 的解压
解压 HBase 到指定目录:
tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module/
4、 HBase 的配置文件
需要修改 HBase 对应的配置文件。
hbase-env.sh 修改内容:
export JAVA_HOME=/opt/module/jdk1.8.0_151
export HBASE_MANAGES_ZK=false
hbase-site.xml 修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102: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>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/zkData/</value>
</property>
</configuration>
regionservers:
hadoop102
hadoop103
hadoop104
5、 HBase 需要依赖的 Jar 包
由于 HBase 需要依赖 Hadoop,所以替换 HBase 的 lib 目录下的 jar 包,以解决兼容问题:
1 删除原有的 jar:
rm -rf /opt/module/hbase-1.3.1/lib/hadoop-*
rm -rf /opt/module/hbase-1.3.1/lib/zookeeper-3.4.6.jar
2 拷贝新 jar,涉及的 jar 有:
hadoop-annotations-2.7.2.jar
hadoop-auth-2.7.2.jar
hadoop-client-2.7.2.jar
hadoop-common-2.7.2.jar
hadoop-hdfs-2.7.2.jar
hadoop-mapreduce-client-app-2.7.2.jar
hadoop-mapreduce-client-common-2.7.2.jar
hadoop-mapreduce-client-core-2.7.2.jar
hadoop-mapreduce-client-hs-2.7.2.jar
hadoop-mapreduce-client-hs-plugins-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2.jar
hadoop-mapreduce-client-jobclient-2.7.2-tests.jar
hadoop-mapreduce-client-shuffle-2.7.2.jar
hadoop-yarn-api-2.7.2.jar
hadoop-yarn-applications-distributedshell-2.7.2.jar
hadoop-yarn-applications-unmanaged-am-launcher-2.7.2.jar
hadoop-yarn-client-2.7.2.jar
hadoop-yarn-common-2.7.2.jar
hadoop-yarn-server-applicationhistoryservice-2.7.2.jar
hadoop-yarn-server-common-2.7.2.jar
hadoop-yarn-server-nodemanager-2.7.2.jar
hadoop-yarn-server-resourcemanager-2.7.2.jar
hadoop-yarn-server-tests-2.7.2.jar
hadoop-yarn-server-web-proxy-2.7.2.jar
zookeeper-3.4.10.jar
尖叫提示: 这些 jar 包的对应版本应替换成你目前使用的 hadoop 版本,具体情况具体分析。
查找 jar 包举例:
find /opt/module/hadoop-2.7.2/ -name hadoop-annotations*
然后将找到的 jar 包复制到 HBase 的 lib 目录下即可。
6、 HBase 软连接 Hadoop 配置
ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/module/hbase-1.3.1/conf/
ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/module/hbase-1.3.1/conf/
7、 HBase 同步到其他集群
xsync /opt/module/hbase-1.3.1/
8、 HBase 服务的启动
启动方式 1:
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver
尖叫提示: 如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出ClockOutOfSyncException 异常。
修复提示:
a、 同步时间服务
b、属性: hbase.master.maxclockskew 设置更大的值
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
启动方式 2:
bin/start-hbase.sh
对应的停止服务:
bin/stop-hbase.sh
尖 叫 提 示 : 如 果 使 用 的 是 JDK8
以 上 版 本 , 则 应 在 hbase-evn.sh 中 移 除
“HBASE_MASTER_OPTS”
和“HBASE_REGIONSERVER_OPTS”
配置。
修改后记得同步配置文件xsync hbase-env.sh
9、查看 Hbse 页面
启动成功后,可以通过“host:port” 的方式来访问 HBase 管理页面,例如:
http://hadoop102:16010