HBase的安装
1. 解压
将下载好的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文件内容修改为:
<property><name>hbase.rootdir</name><value>hdfs://master:9000/hbase</value>
</property>
<property> <name>hbase.master</name> <value>hdfs://master:60000</value>
</property>
<property><name>hbase.zookeeper.property.dataDir</name><value>/home/hadoop/zookeeper-3.4.5/data</value>
</property>
<property><name>hbase.cluster.distributed</name><value>true</value>
</property>
<property><name>hbase.zookeeper.quorum</name><value>master,slave1,slave2</value>
</property>
<property><name>hbase.zookeeper.property.clientPort</name><value>2181</value>
</property>
<property><name>hbase.master.info.port</name><value>60010</value>
</property>
注意: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