参考:
http://www.aboutyun.com/blog-9721-986.html
http://www.cnblogs.com/jun1019/p/6260492.html
虚拟机中共五个centos系统,每个系统有两个用户root和hadoop:cdh1,cdh2,cdh3,cdh4,cdh5
集群规划
安装hbase(cdh1机器)
第一步,解压已下载好的hbase安装包
#tar -zxvf hbase-1.0.0-cdh5.4.4.tar.gz
解压后删除hbase安装包,节省磁盘空间
#rm -rf hbase-1.0.0-cdh5.4.4.tar.gz
第二步,root用户配置环境变量
#vi /etc/profile
添加以下配置
HBASE_HOME=/home/hadoop/app/hbase-1.0.0-cdh5.4.4 export PATH=$PATH:$HBASE_HOME/bin
使环境变量及时生效
#source /etc/profile
第三步,配置hbase-env.sh
hadoop用户登录
#su hadoop
进入$HBASE_HOME/conf目录,配置 hbase-env.sh文件
#vi hbase-env.sh
添加以下两个配置:
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79 export HBASE_MANAGES_ZK=false
第四步,配置hbase-site.xml文件
进入$HBASE_HOME/conf目录,配置hbase-site.xml文件
添加以下配置:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- /** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --> <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://cluster1/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>cdh3:2181,cdh4:2181,cdh5:2181</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>
其中,hbase-site.xml文件中的hbase.rootdir和hadoop的配置文件core-site.xml中fs.defaultFS的值一致,我的配置是hdfs://cluster1;
hbase-site.xml文件中的hbase.zookeeper.quorum和hadoop的配置文件core-site.xml中ha.zookeeper.quorum的值一致,我的配置是cdh3:2181,cdh4:2181,cdh5:2181;
core-site.xml配置如下:
hbase-site.xml文件的配置如下
第五步,配置regionservers
添加以下配置(从机):
cdh3
cdh4
cdh5
第六步,拷贝hadoop的hdfs-site.xml和core-site.xml 放到$ HBASE_HOME/conf下
# cp ~/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/hdfs-site.xml ~/app/hbase-1.0.0-cdh5.4.4/conf/ # cp ~/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/core-site.xml ~/app/hbase-1.0.0-cdh5.4.4/conf/
第七步,拷贝hbase安装文件到其他节点(cdh2,cdh3,cdh4,cdh5)
在cdh1的~/tools目录下执行deploy.sh批处理命令
# ./deploy.sh ~/app/hbase-1.0.0-cdh5.4.4/ ~/app/ all
验证其他节点是否拷贝成功,如cdh2
第八步,其他节点的root用户配置环境变量(可以用批处理脚本,也可以每个节点手动配置)
#vi /etc/profile
添加以下配置
HBASE_HOME=/home/hadoop/app/hbase-1.0.0-cdh5.4.4 export PATH=$PATH:$HBASE_HOME/bin
其他节点配置如下:
使环境变量及时生效
#source /etc/profile
第九步,启动hadoop 启动zookeeper,进入cdh3节点的~/tools目录 #cd ~/tools/ #./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh start" zookeeper 启动HDFS,进入cdh1节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录,执行./start-dfs.sh # cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin #./start-dfs.sh 启动YARN,进入cdh1节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录,执行./start-yarn.sh # cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin #./start-yarn.sh 启动resourcemanager,进入cdh2节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录 # cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin # ./yarn-daemon.sh start resourcemanager 查看各节点进程,进入cdh1的~/tools目录下 #cd ~/tools/ #./runRemoteCmd.sh "jps" all ****************************关闭hadoop集群************************ 关闭cdh1的resourcemanager,进入cdh1节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录,执行./yarn-daemon.sh stop resourcemanager #cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin #./yarn-daemon.sh stop resourcemanager 关闭yarn(也会关闭cdh2的resourcemanager),进入cdh2节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录,执行./stop-yarn.sh #cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin # ./stop-yarn.sh 关闭HDFS,进入cdh1节点的~/app/hadoop-2.6.0-cdh5.4.5/sbin目录,执行./stop-dfs.sh # cd ~/app/hadoop-2.6.0-cdh5.4.5/sbin #./stop-dfs.sh 关闭zookeeper,进入cdh3节点的~/tools目录 #cd ~/tools/ #./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh stop" zookeeper 查看进程,进入cdh1的~/tools目录下 #cd ~/tools/ #./runRemoteCmd.sh "jps" all
第十步,启动hbase
# start-hbase.sh
启动完成后,cdh1节点会多出HMaster进程,cdh3,cdh4,cdh5三个节点会多出HRegionServer进程(regionservers文件中配置的cdh3,cdh4,cdh5)
第十一步,访问cdh1的hbase管理页面
第十二步,启动另外一个Hmaster节点
在cdh2节点启动Hmaster
# hbase-daemon.sh start master
访问cdh2的hbase管理页面
http://cdh2:60010/
可以看出cdh2节点是hbase的从机。
第十三步,停掉cdh1节点的Hmaster
# hbase-daemon.sh stop master
第十四步,再次访问cdh2的hbase管理页面
http://cdh2:60010/
可以看出,cdh2已经成功切换为Hmaster主节点。
第十五步,验证hbase shell
#hbase shell
至此,Hbase安装完成。
**************************启动和停止hbase命令*********************** 启动HBase集群: bin/start-hbase.sh 单独启动一个HMaster进程: bin/hbase-daemon.sh start master 单独停止一个HMaster进程: bin/hbase-daemon.sh stop master 单独启动一个HRegionServer进程: bin/hbase-daemon.sh start regionserver 单独停止一个HRegionServer进程: bin/hbase-daemon.sh stop regionserver
完成!