文章目录
- ZooKeeper 安装
- 解压并改名
- 添加环境变量
- 配置服务器编号
- 配置 zoo.cfg 文件
- 文件分发与同步
- 启动 ZooKeeper
- HBase 安装
- 解压
- 配置环境变量
- 配置 HBase 相关文件
- 解决 log4j 兼容性问题
- 文件分发与同步
- 启动 HBase 集群
前言:
请先确保 Hadoop 集群搭建完成。
- Hadoop 完全分布式搭建(超详细)
搭建环境介绍:
三台主机,一主两从,系统为 Centos 7.5。
相关组件版本信息如下:
- jdk1.8
- hadoop-3.1.3
- zookeeper-3.5.7
- hbase-2.2.3
注意,以下安装教程中涉及到的路径请替换成自己的!
ZooKeeper 安装
解压并改名
# 解压文件 cd /opt/software/ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/ # 改名 cd /opt/module mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
添加环境变量
vim /etc/profile
在文件末尾插入如下代码:
#ZOOKEEPER_HOME export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7 export PATH=$PATH:$ZOOKEEPER_HOME/bin
最后使修改生效:source /etc/profile
配置服务器编号
在 ZooKeeper 安装目录下创建一个文件夹 zkData,在 zkData 中创建一个文件 myid 用以保存服务器编号。
# 进入 ZooKeeper 安装目录 cd $ZOOKEEPER_HOME # 创建文件夹 mkdir zkData # 创建文件并添加编号 cd zkData echo 1 > myid
配置 zoo.cfg 文件
# 进入 ZooKeeper 的配置文件目录 cd $ZOOKEEPER_HOME/conf/ # 修改文件名称 mv zoo_sample.cfg zoo.cfg # 编辑 zoo.cfg 文件 vim zoo.cfg
修改数据的存储位置,指定为:/opt/module/zookeeper-3.5.7/zkData
然后在文件末尾添加服务器配置,如下所示:
server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 #监听所有IP quorumListenOnAllIPs=true
注意,每一行的后面都不要有空格。
添加完成后保存并退出。
文件分发与同步
在 master 服务器中将 ZooKeeper 安装文件分发到其它服务器上。
scp -r /opt/module/zookeeper-3.5.7/ slave1:/opt/module/ scp -r /opt/module/zookeeper-3.5.7/ slave2:/opt/module/
在 master 服务器中将环境变量文件同步至其它服务器中。
rsync /etc/profile root@slave1:/etc/profile rsync /etc/profile root@slave2:/etc/profile
我们分别进入 slave1、slave2 服务器中,先初始化环境变量,然后修改 ZooKeeper 编号,编辑 myid 文件,依次写入为:2,3。
启动 ZooKeeper
我们分别进入 master、slave1、slave2 服务器中,启动 ZooKeeper 服务。
# 启动 ZooKeeper zkServer.sh start
启动完成后会显示出如下 STARTED 提示:
我们也可以通过命令 jps 来检查 ZooKeeper 服务是否启动,如下所示:
HBase 安装
解压
cd /opt/software/ # 解压 HBase 安装包 tar -zxvf hbase-2.2.3-bin.tar.gz -C /opt/module/
配置环境变量
通过 vim /etc/profile 命令编辑配置文件,在文件末尾输入如下代码(不可以有空格):
#HBASE_HOME export HBASE_HOME=/opt/module/hbase-2.2.3 export PATH=$PATH:$HBASE_HOME/bin
然后,保存并退出。执行命令 source /etc/profile,使刚刚的配置生效。
配置 HBase 相关文件
首先切换到 HBase 安装文件的 conf 目录下。
cd $HBASE_HOME/conf
1、修改 hbase-env.sh 文件
在文件末尾添加如下内容:
export HBASE_MANAGES_ZK=false export JAVA_HOME=/opt/module/jdk1.8
添加完成后保存并退出。
2、配置 hbase-site.xml 文件
在 configuration 标签中添加如下内容:
hbase.zookeeper.quorum master,slave1,slave2 hbase.rootdir hdfs://master:8020/hbase hbase.cluster.distributed true hbase.unsafe.stream.capability.enforce false 修改完成后保存并退出。
3、修改 regionservers 文件
添加如下内容:
master slave1 slave2
添加完成后保存并退出。
解决 log4j 兼容性问题
HBase 与 Hadoop 在运行时会出现 log4j 兼容性问题,这是因为 HBase 的 log4j 版本与 Hadoop 的产生了冲突,我们这里将 HBase 的 log4j 设置为备份。
mv /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar.bak
文件分发与同步
将 master 服务器的 HBase 安装文件分发到 slave1、slave2 服务器上。
cd /opt/module scp -r hbase-2.2.3/ slave1:/opt/module scp -r hbase-2.2.3/ slave2:/opt/module
将 master 服务器的环境变量文件与 slave1、slave2 服务器进行同步。
rsync /etc/profile slave1:/etc/profile rsync /etc/profile slave2:/etc/profile
在 slave1、slave2 服务器上分别执行 source /etc/profile 使发送来的配置生效。
启动 HBase 集群
只需要在 master 服务器上执行。
# 启动 HBase 服务 start-hbase.sh
启动后会出现如下提示:
验证 HBase 节点在三台机器上的运行情况,正常启动如下图所示:
HBase 分布式搭建完成啦!
- Hadoop 完全分布式搭建(超详细)
猜你喜欢
- 3小时前外包干了1个月,技术退步一大半。。。
- 3小时前073:vue+mapbox 加载here地图(影像瓦片图 v3版)
- 3小时前vue中PC端使用高德地图 -- 实现搜索定位、地址标记、弹窗显示定位详情
- 3小时前【论文阅读】One For All: Toward Training One Graph Model for All Classification Tasks
- 3小时前kafka服务器连接出现:[NetworkClient.java:935] [Producer clientId=producer-1] Node -1 disconnected原因分析
- 3小时前Kafka系列 - Kafka一篇入门
- 3小时前Hive的更新和删除
- 2小时前关于酒的古诗(关于酒的古诗词文)
- 1小时前浙江传媒学院(浙江传媒学院硕士点)
- 11分钟前悉知是什么意思(悉知是什么意思?知悉又是什么意思?)
网友评论
- 搜索
- 最新文章
- 热门文章