0.机器列表
采用四台机器hadoop1-hadoop4,其中hadoop1作为HMaster,hadoop2-hadoop4作为HRegionServer.以下操作在hadoop1上进行
1.上传hbase安装包
2.解压
tar -zxvf hbase-1.2.3-bin.tar.gz -C ~/hadoop/
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
cp ~/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml .
cp ~/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml .
3.1修改hbase-env.sh
export JAVA_HOME=/data/java/jdk1.7.0_79
//告诉hbase使用外部的zk
export HBASE_MANAGES_ZK=false
3.2修改hbase-site.xml
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name> <value>hadoop2:2181,hadoop3:2181,hadoop4:2181</value>
</property>
</configuration>
需要特别注意的是上面的hbase.rootdir的value值一定要显示指定hdfs的端口为9000,否则hbase启动后会去找默认端口8020,但是我们在搭建hadoop集群时分配给hdfs的端口是9000,于是会导致报错和HMaster启动后自动关闭的问题。
3.3修改regionservers
vim regionservers
hadoop2
hadoop3
hadoop4
4.将配置好的HBase拷贝到每一个节点并同步时间
scp -r hbase-1.2.3/ hadoop273@hadoop2:/home/hadoop273/hadoop
scp -r hbase-1.2.3/ hadoop273@hadoop3:/home/hadoop273/hadoop
scp -r hbase-1.2.3/ hadoop273@hadoop4:/home/hadoop273/hadoop
5.启动所有的hbase
分别启动zk
./zkServer.sh start
启动hadoop集群
start-dfs.sh
启动hbase,在主节点(hadoop1)上运行
start-hbase.sh
6.通过浏览器访问hbase管理页面
192.168.2.1:60010
7.为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master