1.zookeeper正常部署
zkServer.sh start
2.hadoop正常部署
start-dfs.sh
3.hbase的解压
tar -zxvf hbase-1.3.1-bin.tar.gz -C /root/apps/
4.hbase的配置文件
hbase-env.sh修改内容:
export JAVA_HOME=/root/apps/jdk
export HABSE_MANAGES_ZK=false
export HBASE_PID_DIR=/root/apps/hadoop/pids xxx
hbase-site.xml修改内容:
<configuration>
<!-- hbase存储的数据放在什么位置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node01:9000/root/hbasedata</value>
</property>
<!-- 配置是完全分布式,是集群 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98后的新变动,端口号变为16010 -->
<property>
<name>hbase.master.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01:2181,node02:2181,node03:2181</value>
</property>
<!-- 配置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/zkdata</value>
</property>
</configuration>
regionservers修改内容:
node01
node02
node03
5.hbase需要依赖的Jar包
1.删除原有的jar
rm -rf /root/apps/hbase/lib/hadoop-*
rm -rf /root/apps/hbase/lib/zookeeper-3.4.6.jar
2.拷贝新jar,涉及的jar有:
hadoop-client-2.7.2.jar (一般找不到,需要自己下载)
hadoop-annotations-2.7.2.jar
hadoop-auth-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 /root/apps/hadoop/ -name hadoop-annotations*
然后将找到的jar包复制到HBase的lib目录下即可
6.HBase软连接 Hadoop 配置
ln -s /root/apps/hadoop/etc/hadoop/core-site.xml /root/apps/hbase/conf/
ln -s /root/apps/hadoop/etc/hadoop/hdfs-site.xml /root/apps/hbase/conf/
7.HBase远程scp到其他集群
scp -r hbase node02:`pwd`
scp -r hbase node03:`pwd`
8.hbase服务启动
启动方式 1 :
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver
提示:如果集群之间的节点时间不同步,会导致regionserver无法启动,抛出ClockOutOfSyncException 异常。
修复:a、同步时间服务(时间服务器)
sudo ntpdate time.nist.gov
sudo ntpdate asia.pool.ntp.org
b、hbase-site.xml属性:允许有多少的时间误差(不好的做法)
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
启动方式 2 :
bin/start-hbase.sh
bin/stop-hbase.sh
提示:如果使用的是JDK8以上版本,则应在hbase-env.sh中移除
“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置。
更改后需要拷贝,重新启动hbase。
9.查看hbase的网页
http://node01:16010