1.Zookeeper正常部署
首先保证Zookeeper集群的正常部署,并启动之:
$ ~/modules/zookeeper-3.4.5/bin/zkServer.sh start
2.Hadoop正常部署
Hadoop集群的正常部署并启动:
$ ~/modules/hadoop-2.7.2/sbin/start-dfs.sh
$ ~/modules/hadoop-2.7.2/sbin/start-yarn.sh
3.HBase的解压解压
HBase到指定目录:
$ tar -zxf ~/softwares/installations/hbase-1.3.1-bin.tar.gz -C ~/modules/
4.HBase的配置文件
需要修改HBase对应的配置文件。
hbase-env.sh修改内容:
export JAVA_HOME=/home/admin/modules/jdk1.8.0_121
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>/home/admin/modules/zookeeper-3.4.5/zkData</value>
</property>
</configuration>
regionservers:
hadoop102
hadoop103
hadoop104
5.HBase需要依赖的Jar包
由于HBase需要依赖Hadoop,所以替换HBase的lib目录下的jar包,以解决兼容问题:
1)删除原有的jar:
$ rm -rf /home/admin/modules/hbase-1.3.1/lib/hadoop-*
$ rm -rf /home/admin/modules/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.5.jar
特别提示:以上这些jar包的对应版本应替换成你目前使用的hadoop版本,具体情况具体分析。
查找jar包举例:
$ find /home/admin/modules/hadoop-2.7.2/ -name hadoop-annotations*
然后将找到的jar包复制到HBase的lib目录下即可。
6.HBase软连接Hadoop配置
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/core-site.xml ~/modules/hbase-1.3.1/conf/core-
site.xml
$ ln -s ~/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml ~/modules/hbase-1.3.1/conf/hdfs-
site.xml
7.HBase远程scp到其他集群
$ scp -r /home/admin/modules/hbase-1.3.1/ hadoop103:/home/admin/modules/
$ scp -r /home/admin/modules/hbase-1.3.1/ hadoop104:/home/admin/modules/
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”配置。
9.查看Hbse页面
启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:
http://hadoop102:16010