前言:在HDFS的基础上引入HBase。
0.准备
0.1 前期的准备
hadoop安装参考这篇博客。
我们有三个节点,节点信息如下表所示:
节点名称 | IP | HDFS角色 |
---|---|---|
node1 | 192.168.1.111 | NameNode+DataNode |
node2 | 192.168.1.112 | SecondaryNameNode+DataNode |
node3 | 192.168.1.113 | DataNode |
参考官方文档我们的设计如下:
节点名称 | IP | HBase Master | ZooKeeper | RegionServer |
---|---|---|---|---|
node1 | 192.168.1.111 | yes | yes | no |
node2 | 192.168.1.112 | backup | yes | yes |
node3 | 192.168.1.113 | no | yes | yes |
1.HBase ZooKeeper安装及配置
1.1 安装
注意:以下操作在node1中的root用户下完成。
首先是HBase安装包和ZooKeeper安装包的下载:
- HBase安装包,版本2.4(目前为止最新的稳定版),下载地址:https://dlcdn.apache.org/hbase/2.4.14/hbase-2.4.14-bin.tar.gz
- ZooKeeper安装包,版本3.7.1(目前为止最新的稳定版),下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
我们将安装包存放在/usr/local这一目录下(目录没有强制的要求,按照个人习惯来就行),进入/usr/local目录,进行解压,软连接等操作。
# 进入目录
cd /usr/local/
# 解压
tar -zxvf hbase*
tar -zxvf apache-zookeeper*
# 删除压缩包
rm hbase*.tar.gz apache-zookeeper*.tar.gz
# 设置软连接(这个也是为了方便操作)
ln -s hbase* hbase
ln -s apache-zookeeper* zookeeper
1.2 单一节点配置
注意:以下操作继续在node1中的root用户下完成。
以下内容主要参考了HBase的官方文档。
cd /usr/local/hbase/conf/
-
修改hbase-env.sh
vim hbase-env.sh
在最后写入以下内容:
export JAVA_HOME=/usr/local/jdk
保存并退出。
-
修改hbase-site.xml
vim hbase-site.xml
此处参考HBase的官方文档,删除原本三项property,改为以下四项。
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://node1:8020/hbase</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper</value> </property>
保存并退出。
-
修改regionservers
vim regionservers
删除localhost,写入以下内容(基于前文中提到的设计):
node2 node3
保存并退出。
-
修改backup-masters
该文件不存在,直接进行创建
vim backup-masters
写入以下内容(基于前文中提到的设计):
node2
保存并退出。
以上是所有的HBase文件的配置过程。
1.3 多节点配置
我们将node1中的jdk文件夹和hadoop文件夹复制到node2和node3,在完成ssh免密登录后我们可以通过scp指令完成。
# 在node1节点中
# 复制文件
cd /usr/local/
scp -r hbase-2.4* node2:$PWD
scp -r hbase-2.4* node3:$PWD
scp -r apache-zookeeper-3.7* node2:$PWD
scp -r apache-zookeeper-3.7* node3:$PWD
在node2和node3中创建软连接,更新环境变量。
# 在node2和node3都要进行以下操作
# 进入/usr/local
cd /usr/local
# 设置软连接
ln -s hbase* hbase
ln -s apache-zookeeper* zookeeper
1.4 HBase启停
HBase启停:
# 在node1启动即可
cd /usr/local/hbase/bin
# 启动hbase
./stop-hbase.sh
# 关闭hbase
./stop-hbase.sh
(这个地方指令是不冲突的,可以加入环境变量,后续再对此文档进行更新)
在启动所有的节点后我们可以通过jps查看进程。
- 下图是node1的进程:
- 下图是node2的进程:
- 下图是node3的进程: