一、Hbase的分布式部署
依赖环境
- Hadoop集群,需要开启hdfs。本例中HDFS的地址是master:9000
- 开启Zookeeper集群
部署
从Apache 下载镜像,使用scp将文件选择上传到master服务器后,进行解压。
$ tar xfz hbase-1.4.11-bin.tar.gz
$ cd hbase-1.4.11/
将Hadoop的配置信息复制一份到HBase
$ cp $HADOOP_CONF_DIR/core-site.xml ./conf
$ cp $HADOOP_CONF_DIR/hdfs-site.xml ./conf
配置HBase环境变量,修改conf/hbase-env.sh
$ vim conf/hbase-env.sh
export JAVA_HOME=/home/spark/software/jdk8
export HADOOP_HOME=/home/spark/software/hadoop
export HBASE_CLASSPATH=/home/spark/software/hadoop/etc/hadoop
export HBASE_MANAGES_ZK=false #使用外部的zk
export HBASE_PID_DIR=/home/spark/software/hbase-1.4.11/pids
使用Hadoop当前用户建立一个HDFS目录,用于存放HBase数据。
$ hadoop fs -mkdir hbase
配置HRegionServer。修改conf/regionservers
。
localhost
slave6
slave7
slave9
配置Hbase信息
$ vim conf/hbase-site.xml
<configuration>
<!-- HBase在HDFS上的存放位置,是刚才新建的文件夹 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/user/spark/hbase</value>
</property>
<!-- 开启分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 使用HDFS -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>true</value>
</property>
<!-- HMaster服务地址-->
<property>
<name>hbase.master</name>
<value>hdfs://master:60000</value>
</property>
<!-- zookeeper信息,值与Zookeeper配置文件中相同 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave6,slave7,slave9</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2186</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/spark/tools/zookeeper-3.4.14/data</value>
</property>
</configuration>
复制HBase到HRegion服务器上:
$ scp $HBASE_HOME spark@slave6:/home/spark/software
$ scp $HBASE_HOME spark@slave7:/home/spark/software
$ scp $HBASE_HOME spark@slave9:/home/spark/software
启动
$ ./bin/start-hbase.sh
二、验证启动成功
WEB UI验证:http://master:16010/master-status
参考资料:
Hbase实践官方文档
CSDN-Hbase分布式部署