1、准备安装包,hbase集群需要依赖hadoop集群、zookeeper集群和jdk环境,所以安装之前要先确保依赖环境可用
https://www.apache.org/dyn/closer.lua/hbase/1.4.10/hbase-1.4.10-src.tar.gz
2、设置环境变量,执行vi ~/.bashrc,添加
#hbase解压目录
export HBASE_HOME=/home/hadoop/hbase/hbase-1.4.10
export PATH=$PATH:$HBASE_HOME/bin
执行 source ~/.bashrc 使环境变量生效
3、进入/hbase-1.4.10/conf目录,修改hbase-env.sh文件
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export JAVA_HOME=$JAVA_HOME
#不使用自带的zookeeper
export HBASE_MANAGES_ZK=false
4、修改hbase-site.xml
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hadoop/hbase-1.4.10/tmp</value>
</property>
<!-- 设置HRegionServers共享目录。定义hbase.rootdir参数时HDFS文件系统的主机名和端口号必须与Hadoop的配置文>
件core-site.xml中fs.default.name参数的配置一致-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
<description>Hbase data director</description>
</property>
<!-- 开启分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 设置HMaster的rpc端口, 由于采用的是HA模式,这里只写端口就可以了,不需要再写主机名-->
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<!-- 对比参考
<property>
<name>hbase.master</name>
<value>hdfs://master:60000</value>
</property>
-->
<!-- 设置HMaster的http web console端口 -->
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<!--zookeeper设置,依赖zookeeper集群设置-->
<!--zookeeper集群信息设置-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<!--zookeeper端口-->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!--请参考zookeeper配置文件zoo.cfg中dataDir的值 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper/data</value>
</property>
</configuration>
5、修改regionservers文件,添加hbase集群服务器域名
master
slave1
slave2
6、把hbase-1.4.10文件夹同步到其他服务器
scp -r hbase-1.4.10/ hadoop@slave1:./
scp -r hbase-1.4.10/ hadoop@slave2:./
7、在master服务器的hbase根目录下执行./bin/start-hbase.sh 启动集群
启动完后输入./bin/hbase shell进入使用界面
8、遇到问题
- 执行集群启动命令后,命令卡住需要手动ctrl+v退出,并出现hadoop@master's password: master: Permission denied, please try again
解决方法:在设置ssh免密登陆时,需要对自身服务器的用户也设置,例如ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master