Hbase环境搭建
一、准备工作
1.前置条件
安装 hbase 需要先安装hadoop和zookeeper
hadoop安装,参考https://blog.csdn.net/and52696686/article/details/107287066
zookeeper安装,参考https://blog.csdn.net/and52696686/article/details/107007037
1. 安装包下载:
从Apache官网上 hbase.apache.org 下载HBase发布包: 我用的版本是 hbase-1.2.0-bin.tar.gz,将下载的安装包上传至linux : /software 目录;
2. 解压安装并重命名
cd /software
tar hbase-1.2.0-cdh5.14.2.tar.gz -C /opt
cd /opt
mv hbase-1.2.0-cdh5.14.2/ hbase
二、Hbase配置
配置环境变量: vi /etc/profile
添加以下代码:
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin
使之立即生效: source /etc/profile
1)单机模式:解压后即可在单机模式下运行.此模式只需要在hbase-stie.xml中指定HBase的文件存储目录即可
①:修改配置文件:
cd /opt/hbase/conf/
vi hbase-site.xml
在文件中插入以下代码:
<!-- hbase文件存储目录-->
<property>
<name>hbase.rootdir</name>
<value>file:/opt/hbase/hbaseTmp</value>
</property>
②:启动: start-hbase.sh
使用jps查看存在进程HMster则配置成功
③:关闭: stop-hbase.sh
2)伪分布模式:HBase只在单节点上运行,和单机模式一样,但该节点会运行HMaster,HRegionServer,HQuorumPeer三个进程
①:修改配置文件:
- 修改hbase-stie.xml文件
cd /opt/hbase/conf/
vi hbase-site.xml
在文件中插入以下代码:
<!-- hbase文件存储目录-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-1:9000/hbase</value>
</property>
<!-- 配置hbase为分布式值改为true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
- 修改hbase-env.sh文件,
vi hbase-env.sh
在文件中添加jdk路径:
export JAVA_HOME=/opt/jdk8
②:启动
需先启动hdfs,再启动hbase
start-dfs.sh
start-hbase.sh
注:关闭时需先关闭hbase,后关闭hdfs
3)完全分布模式
需先保证集群所有节点时间同步,最好与操作系统时间一致,输入 date 查看虚拟机时间,若时间错误或不一致需要更改时间同步。
设置集群时间同步:
https://www.cnblogs.com/quchunhui/p/7658853.html
①:修改配置文件:
以 hadoop-1 为操作对象
- 修改配置文件hbase-site.xml
cd /opt/hbase/conf/
vi hbase-site.xml
在configuration标签内插入如下内容:
<!-- HRegionServer的数据存储目录-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-1:9000/hbase</value>
</property>
<!-- 配置hbase为分布式值改为true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 配置Hmaster的地址,这里选择主机器hadoop110-->
<property>
<name>hbase.master</name>
<value>hadoop-1:6000</value>
</property>
<!-- 配置zookeeper集群-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-1,hadoop-2,hadoop-3</value>
</property>
如下图所示:
- 修改配置文件hbase-env.sh:
vi hbase-env.sh
在文中添加相关环境变量:
export JAVA_HOME=/opt/jdk8
export HBASE_HOME=/opt/hbase
export HADOOP_HOME=/opt/hadoop2.6.0
#表示内置zookeeper不开启(手动配置了zookeeper集群)
export HBASE_MANAGES_ZK=false
- 配置文件regionservers:
vi regionservers
在文件中写入所有HRegionServer节点(一般不包括HMaster主节点):
hadoop-2
hadoop-3
②:将修改后过的配置文件通过远程发送的方式,发送至其他节点
scp hbase-site.xml root@hadoop-2:/opt/hbase/conf/hbase-site.xml
scp hbase-site.xml root@hadoop-3:/opt/hbase/conf/hbase-site.xml
scp hbase-env.sh root@hadoop-2:/opt/hbase/conf/hbase-env.sh
scp hbase-env.sh root@hadoop-3:/opt/hbase/conf/hbase-env.sh
scp regionservers root@hadoop-2:/opt/hbase/conf/regionservers
scp regionservers root@hadoop-3:/opt/hbase/conf/regionservers
scp /etc/profile root@hadoop-2:/etc/profile
scp /etc/profile root@hadoop-3:/etc/profile
对于子节点hadoop-2、hadoop-3需分别输入:
source /etc/profile
使环境变量立即生效
③:启动
- 启动主节点hdfs:
start-dfs.sh
- 分别启动所有机器的zookeeper
zkServer.sh start
- 在主节点启动Hbase
start-hbase.sh
- 各节点分别输入:
hbase shell
命令,输入list
查看所有表
初始状态应该是0,如下图所示:
注:输入exit退出hbase shell
可以通过HMaster节点的60010端口查看HBase运行状态: http://192.168.37.101:60010
如下图所示: