赞
踩
目录
1.配置hbase-env.sh文件,位于Hbase安装目录/conf/
2.配置hbase-site.xml文件,位于Hbase安装目录/conf/
4.新建 backup-masters文件,添加备份HMaster机器名
操作系统:Ubuntu 18.04
Hadoop版本:3.1.3
JDK版本:1.8
Zookeeper版本:3.7.1
HBase版本:2.2.2
(30条消息) Zookeeper安装配置_木子一个Lee的博客-CSDN博客
查看每台服务器的时间是否一致,检查HBASE集群每台服务器的时间是否是一致的,不然会导致集群启动异常:
timedatectl status
可以看出是一致的,如果不一致需要校准。
下载安装包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
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集群
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>
删除localhost
写入
- slave1
- slave2
该文件不能写注释,启动时会把注释的那行当成服务器列表而导致启动失败:
vim backup-masters
设置备用master为slave1
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
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。