文章目录
1. 环境
JDK1.8+Zookeeper集群+Hadoop集群
配置四台主机免密钥
NodeName | Master | Zookeeper | RegionServer |
---|---|---|---|
node1 | yes | no | no |
node2 | backup | yes yes | |
node3 | no | yes | yes |
node4 | no | yes | yes |
2. 下载并解压HBase
上传到node1并解压到指定目录
3. 环境变量
配置HBase的环境变量
在/etc/profile
文件的末尾处追加
export HBASE_HOME=/yourhbasedir
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile
4. 配置文件
进入 $HBASE_HOME/conf
目录下
4.1 regionservers
配置 regionservers 的节点
node2
node3
node4
4.2 backup-masters
配置HMaster的备份节点
该文件没有就创建vim backup-masters
node2
4.3 hbase-env.sh
- 配置JAVA_HOME
- 配置zookeeper
# export HBASE_MANAGES_ZK=true # 改true为false export HBASE_MANAGES_ZK=false
4.4 hbase-site.xml
<configuration>
<!-- 开启分布式HBase -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- HBase在HDFS的目录位置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<!-- Zookeeper集群 -->
<!-- 默认端口号可以不写,也可以添加:node2:2181,node3:2181,node4:2181 -->
<name>hbase.zookeeper.quorum</name>
<value>node2,node3,node4</value>
</property>
<property>
<!-- 可以不配置,搭建Zookeeper集群时已经配置过了 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/theonly/zookeeper/data</value>
</property>
</configuration>
4.5 HDFS客户端配置
三种方式:
- 在
hbase-env.sh
中,将HADOOP_CONF_DIR添加到HBASE_CLASSPATH环境变量中,HADOOP_CONF_DIR指向HADOOP的etc/hadoop目录。 - 拷贝
hdfs-site.xml
到$HBASE_HOME/conf
,当然,最好是做一个符号链接。 - 如果HDFS客户端配置很少,可以直接添加到hbase-site.xml中。
使用第二种方式:
cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf
4.6 传给其他三台
例如$HBASE_HOME在/opt/ 目录下:
scp -r $HBASE_HOME node2:`/opt/` && scp -r $HBASE_HOME node3:`/opt/` && scp -r $HBASE_HOME node4:`/opt/`
为其他三台节点配置Hbase环境变量
5. 启动与停止
5.1 启动
- 启动Zookeeper集群
- 启动Hadoop集群
- 启动HBase集群
在node1上启动:start-hbase.sh
在哪个节点上启动,哪个节点就是 HMaster
如果活跃的HMaster(node1) done掉,node2会成为活跃的HMaster
此时当node1启动HMaster时(hbase-daemon.sh start master
)会成为备份的HMaster
5.2 停止
stop-hbase.sh
6. hbase shell
在任意一台HBase节点上执行
hbase shell
命令帮助:
help
get help
7. WebUI
启动成功后,访问HBase WebUI页面:http://node1:60010
8. HDFS信息