实验环境:
操作系统:Ubuntu 18.04
Hadoop版本:3.1.3
JDK版本:1.8
Zookeeper版本:3.7.1
HBase版本:2.2.2
实验步骤:
〇、Zookeeper安装配置:
(30条消息) Zookeeper安装配置_木子一个Lee的博客-CSDN博客
一、安装前注意事项
查看每台服务器的时间是否一致,检查HBASE集群每台服务器的时间是否是一致的,不然会导致集群启动异常:
timedatectl status
可以看出是一致的,如果不一致需要校准。
二、HBase安装
下载安装包hbase-2.2.2-bin.tar.gz
解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local
tar -zxvf ./hbase-2.2.2-bin.tar.gz -C /usr/local
改名:
cd /usr/local
mv hbase-2.2.2 hbase
配置系统环境
vim /etc/profile
添加:
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin:/$HBASE_HOME/sbin
刷新环境变量
source /etc/profile
三、Hbase集群配置
1.配置hbase-env.sh文件,位于Hbase安装目录/conf/
cd /usr/local/hbase/conf
vim hbase-env.sh
把最后一行的注释去除(解决hadoop和hbase的jar包冲突问题,为了不让hbase扫描hadoop的jar包),并且添加(第三条很重要!!!否则会出现地址占用、myid被改导致外部zookeeper启动失败等问题):
export JAVA_HOME=/usr/local/jdk
export HBASE_CLASSPATH=/usr/local/Hadoop
export HBASE_MANAGES_ZK=false
不用配置时区:
export TZ=“Asia/Shanghai”(配置会造成日志文件时间早8个小时)
HBASE_CLASSPATH用于引导HBase找到Hadoop目录,一定要改成hadoop的目录,不然无法识别Hadoop集群名称
HBASE_MANAGES_ZK=true,则使用HBase自带的Zookeeper进行管理,只能实现单机模式,常用于测试环境,不能用于生产环境
设为false,启动独立的Zookeeper
建议:单机版HBase使用自带Zookeeper;集群安装HBase则采用单独Zookeeper集群
2.配置hbase-site.xml文件,位于Hbase安装目录/conf/
vim hbase-site.xml
添加:
<configuration>
<!--RegionServer 的共享目录,用来持久化 Hbase-->
<property>
<name>hbase.rootdir</name>
<!-- 如果要指定HDFS上的目录,端口号要与hdfs-site.xml中设为一致-->
<value>hdfs://master:9000/hbase</value>
</property>
<property> <!--启用分布式集群-->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property> <!--默认HMaster HTTP访问端口-->
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property> <!--默认HRegionServer HTTP访问端口-->
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<!--Zookeeper元数据快照的存储目录(需要和Zookeeper的zoo.cfg 配置文件中的属性一致) -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper/data</value>
</property>
<!-- 解决启动HMaster无法初始化WAL的问题 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!-- 备份的副本数(不会放在同一节点上),不能超过datanode的节点数。
注意hadoop的hdfs-site.xml配置文件中也有dfs.replication这个参数,跟hbase-site.xml的dfs.replication参数是不同的,
hbase的数据备份数需要再hbase-site.xml配置文件中单独设置!否则hbase写入的数据regionServer只会保存一份! -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--在hbase-site.xml文件中 修改增加 ,增大时间容错-->
<property>
<name>hbase.master.maxclockskew</name>
<value>150000</value>
</property>
</configuration>
3.配置regionservers
删除localhost
写入
slave1
slave2
4.新建 backup-masters文件,添加备份HMaster机器名
该文件不能写注释,启动时会把注释的那行当成服务器列表而导致启动失败:
vim backup-masters
设置备用master为slave1
四、将配置好的Hbase分发到其他机器
scp -r /usr/local/hbase root@slave1:/usr/local/
scp -r /usr/local/hbase root@slave2:/usr/local/
五、分发、刷新环境变量
cd
scp -r /etc/profile root@slave1:/etc
scp -r /etc/profile root@slave2:/etc
然后在每个服务器上刷新环境变量:
source /etc/profile
六、常用命令
查看版本信息:
hbase version
启动(master机器)/*要先启动zookeeper和Hadoop
start-hbase.sh
master有HMaster,备用节点slave1有HRegionserver和HMaster
slave2有HRegionserver
关闭 /*先关闭HBase再关闭Hadoop
stop-hbase.sh
启动某一个节点
hbase-daemon.sh start regionserver
启动所有节点
hbase-daemons.sh start regionserver
七、浏览器web验证
http://master:16010/master-status
http://slave1:16030/rs-status
http://slave2:16030/rs-status
八、注意事项
HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。
以下先决条件很重要,如未配置JAVA_HOME环境变量,会报错。
– JDK
– Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
– SSH
启动关闭Hadoop和HBase的顺序一定是:
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop
版权归原作者 木子一个Lee 所有, 如有侵权,请联系我们删除。