将下载好的Hbase文件上传到Hadoop集群中的master节点
tar -zxvf hbase-1.3.1-bin.tar.gz -C /home/hadoop/2. 修改Hbase的配置文件 (1)修改hbase-env.sh文件
新增四项配置
export Hbase_CLASSPATH=/home/hadoop/hadoop-2.6.5/etc/hadoop export Hbase_PID_DIR=/home/hadoop/hbase-1.3.1/pids export JAVA_HOME=/usr/local/java/jdk1.8.0_161 export Hbase_MANAGES_ZK=false
一个分布式运行的Hbase依赖一个Zookeeper集群,所有的节点和客户端都必须能够访问Zookeeper。默认的情况下Hbase会管理一个Zookeep集群,即Hbase默认自带一个Zookeep集群,这个集群会随着Hbase的启动而启动。而在实际的商业项目中通常自己管理一个Zookeeper集群更便于优化配置提高集群工作效率,但需要配置Hbase。需要修改conf/hbase-env.sh里面的Hbase_MANAGES_ZK来切换,这个值默认是true,作用是让Hbase启动的时候同时也启动Zookeeper。在安装过程中,采用独立运行Zookeeper集群的方式,故将其属性值改为false。
(2)修改regionservers文件regionservers文件负责配置Hbase集群中哪台节点做RegionServer服务器,本书的规划是所有slave节点均可当RegionServer服务器,故其配置内容为:
slave1 slave2(3)修改hbase-site.xml文件
hbase-site.xml文件内容修改为:
hbase.rootdir hdfs://master:9000/hbase hbase.master hdfs://master:60000 hbase.zookeeper.property.dataDir /home/hadoop/zookeeper-3.4.5/data hbase.cluster.distributed true hbase.zookeeper.quorum master,slave1,slave2 hbase.zookeeper.property.clientPort 2181 hbase.master.info.port 60010
注意:hbase.zookeeper.quorum用来设置Hbase集群中哪些节点安装了ZooKeeper,只能设置为主机名而不是IP地址。Hbase1.0 以后的版本,需要手动配置Web访问端口号60010。
(4)分发到slave1和slave2节点scp -r /home/hadoop/hbase-1.3.1/ slave1:/home/hadoop/ scp -r /home/hadoop/hbase-1.3.1/ slave2:/home/hadoop/3. 修改三个节点的环境变量
在/etc/profile文件末尾添加
export PATH=$PATH:/home/hadoop/hbase-1.3.1/bin
并执行命令"source /etc/profile"使配置的环境变量生效。
4. 测试在master节点运行start-hbase.sh,将Hbase集群启动,可以通过jps或查看运行状况。master节点存在HMaster进程,如图4-7所示:
图4-7 master节点jps信息
slave1和slave2存在HRegionServer进程,如图4-8,4-9所示:
图4-8 slave1节点jps信息
图4-9 slave2节点jps信息
通过浏览器访问地址http://master:60010/master-status,可以看到整个Hbase集群的状态,如图4-10所示:
图4-10 Hbase master节点Web
在master节点,使用命令"hbase-daemon.sh stop master",等待一会发现slave1成为master,当Hbase的master节点故障后,ZooKeeper会从备份中自动推选一个作为master,如图4-11所示:
图4-11 Hbase slave节点Web



