前提:hadoop和zookeeper已搭建成功
HBase搭建使用的所有安装包: https://pan.quark.cn/s/acb5876b2194
一、上传并解压hbase
1、通过MobaXterm工具将hbase2.3.0的安装包上传至master主机的/opt/software目录下,并解压至/opt/install目录下,解压命令为:
tar -zxvf hbase-2.3.0-bin.tar.gz -C /opt/install
2、将解压后的hbase-2.3.0目录重命名为hbase,命令为:
mv hbase-2.3.0/ hbase
二、配置hbase的环境变量
1、打开/etc/profile文件
vi /etc/profile
2、在末尾添加hbase的环境变量,命令为:
export HBASE_HOME=/opt/install/hbase
export PATH=$PATH:$HBASE_HOME/bin
配置完成后按下esc键,输入:wq保存并退出文件
3、生效配置的环境
source /etc/profile
4、验证hbase是否配置成功
hbase version
三、hbase的核心文件配置
进入hbase的conf目录: cd /opt/install/hbase/conf
1、配置hbase-env.sh
(1)打开hbase-env.sh
vi hbase-env.sh
(2)按下字母i,进入编辑模式,在末尾添加如下几行内容
export JAVA_HOME=/opt/install/jdk
export HBASE_HOME=/opt/install/hbase
export HBASE_MANAGES_ZK=false #使用自己安装的zookeeper集群
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true #使HBase能够正确地加载和使用自己的依赖库,避免与Hadoop的库发生冲突
添加完成后,按下esc键,输入:wq保存并退出文件
2、配置hbase-site.xml
(1)打开hbase-site.xml
vi hbase-site.xml
(2)按下字母i,进入编辑模式
删除原有的configuration标签及内部的所有内容
然后输入如下内容:
<configuration>
<!-- HBase数据在HDFS中的存放的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9820/hbase</value>
</property>
<!-- Hbase的运行模式:false是单机模式,true是分布式模式。若使用外部zookeeper,需设置为true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- ZooKeeper的地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<!-- ZooKeeper配置、日志等的存储位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/install/hbase/zookeeper/</value>
</property>
<!-- 在分布式情况下, 设置为false -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!--设置hbase的web端口-->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<!--设置设置各机器之间的允许时差范围-->
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
</configuration>
编辑完成后,按下esc键,输入:wq,保存并退出文件
3、配置regionservers文件
(1)打开regionservers
vi regionservers
(2)按下字母i,进入编辑模式,删除原有的localhost,并输入三台主机的主机名:
编辑完成后,按下esc键,输入:wq,保存并退出文件
四、集群分发安装包与配置文件
1、在master主机上,向slave1和slave2分发hbase包
scp -r /opt/install/hbase slave1:/opt/install/
scp -r /opt/install/hbase slave2:/opt/install/
2、(1)在master主机上,向slave1和slave2分发配置文件
scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile
(2)分别进入slave1和slave2,生效环境变量
source /etc/profile
六、启动hbase
1、启动hbase前,必须先启动hadoop、zookeeper
启动hadoop:start-all.sh
启动zookeeper:zkServer.sh start(三台主机都要启动)
2、启动hbase(只需要在master主机上启动)
start-hbase.sh
3、使用jps命令查看启动情况
master主机启动HMaster和HRegionServer进程,slave1和2启动HRegionServer 进程。
- 拓展延申:也可以集群设置脚本启动/停止hadoop、zookeeper、hbase、查看启动情况(替代步骤1、2、3)
先进入hbase的bin目录: cd /opt/install/hbase/bin
[1] 编辑启动脚本:
①在bin目录下输入: vi Start-hadoop_zk_hbase.sh
②按下字母i,添加内容如下:
#!/bin/bash
echo "================启动hadoop =============="
ssh master "source /etc/profile;start-all.sh"
echo "===============启动zookeeper ==============="
ssh master "source /etc/profile;zkServer.sh start"
ssh slave1 "source /etc/profile;zkServer.sh start"
ssh slave2 "source /etc/profile;zkServer.sh start"
echo "===============启动hbase ================="
ssh master "source /etc/profile;start-hbase.sh"
编辑完成后,按下esc键,输入:wq,保存并退出文件
③调整Start-hadoop_zk_hbase.sh文件权限
chmod 777 Start-hadoop_zk_hbase.sh
④ 启动进程:任意位置输入Start-hadoop_zk_hbase.sh
[2] 编辑停止脚本:
①在bin目录下输入: vi Stop-hadoop_zk_hbase.sh
②按下字母i,添加内容如下:
#!/bin/bash
echo "=================停止hbase =================="
ssh master "source /etc/profile;stop-hbase.sh"
echo "=================停止zookeeper ==============="
ssh master "source /etc/profile;zkServer.sh stop"
ssh slave1 "source /etc/profile;zkServer.sh stop"
ssh slave2 "source /etc/profile;zkServer.sh stop"
echo "=================停止hadoop ================="
ssh master "source /etc/profile;stop-all.sh"
编辑完成后,按下esc键,输入:wq,保存并退出文件
③调整Stop-hadoop_zk_hbase.sh文件权限
chmod 777 Stop-hadoop_zk_hbase.sh
④ 停止所有进程:任意位置输入Stop-hadoop_zk_hbase.sh
[3] 编辑查看进程脚本:
①在bin目录下输入: vi jps-nodes.sh
②按下字母i,添加内容如下:
#!/bin/bash
echo "==============master进程 ==============="
ssh master "source /etc/profile;jps"
echo "==============slave1进程 ==============="
ssh slave1 "source /etc/profile;jps"
echo "==============slave2进程 ==============="
ssh slave2 "source /etc/profile;jps"
编辑完成后,按下esc键,输入:wq,保存并退出文件
③调整Jps-nodes.sh文件权限
chmod 777 Jps-nodes.sh
④ 查看所有进程:任意位置输入Jps-nodes.sh
4、通过web页面查看hbase集群情况:http://master:60010
- hbase shell常见操作
(1)进入hbase命令行模式:
hbase shell
(2)查看hbase状态
(3)查看所有表
(4)退出hbase命令行模式