2022-09-03 HBase安装部署

准备资源:hbase-2.0.5-bin.tar.gz

一、安装Zookeeper

二、安装HBase集群

1. 上传hbase-2.0.5-bin.tar.gz/opt/software中,并将其解压至/opt/moudle

# 来到软件包存放目录
cd /opt/software/

# 解压
tar -zxvf hbase-2.0.5-bin.tar.gz -C ../moudle/

2. 配置环境变量

# 使用文本编辑器打开自定义的环境变量脚本
sudo vim /etc/profile.d/my-env.sh

# 添加下列内容:
# HBASE环境变量
export HBASE_HOME=/opt/moudle/hbase-2.0.5
export PATH=$PATH:$HBASE_HOME/bin

# 保存退出

# 让环境变量生效
source /etc/profile

3. 修改HBase配置文件

# 来到HBase的配置文件目录下
cd $HBASE_HOME/conf

(1) 禁止HBase使用内置的Zookeeper

# 使用文本编辑器hbase-env.sh脚本配置文件
vim hbase-env.sh

# 配置hbase不使用内置的zookeeper
:%s/# export HBASE_MANAGES_ZK=true/export HBASE_MANAGES_ZK=false/g

# 保存退出

(2) 修改配置文件hbase-site.xml

# 使用文本编辑器打开hbase-site.xml文件
vim hbase-site.xml

# 于configuration标签下,添加如下内容:
	<!-- 指定hbase中的数据存储在hdfs的位置,根据自己之前配置的hdfs端口号配置连接地址 -->
	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://hadoop101:8020/hbase</value>
		<description>如果是hadoop HA,一定要把hadoop中的core-site.xml和hdf-site.xml复制到hbase的conf目录下,才能成功解析该集群名称,此时value值就是集群名称;如果是hadoop单namenode集群,配置写成hdfs://host:port/hbase</description>
	</property>
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	<!-- 
		指定要连接的zookeeper所在的服务器主机名,默认连接使用端口号为2181
		如果要配置端口号,需要在另一个配置项中指定,此处主机名后跟端口号无法被识别
	-->
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>hadoop101,hadoop102,hadoop103</value>
	</property>

(3) 配置HBase集群机器地址

# 使用文本编辑器编辑
vim regionservers

# 删除文件内的原有内容,添加集群地址
hadoop101
hadoop102
hadoop103

# 保存退出

4. 配置高可用

# 新建backup-masters配置文件
vim ./backup-masters

# 在哪一台机器中启动hbase集群,master就是哪一台机器
# 可以在该配置文件中额外指定除了启动机器外的其他机器为备用master
# 此处设置hadoop102为备用master
# 添加内容如下:
hadoop102


# 保存退出

5. 如果发生slf4j-log4j.jarhadoop冲突,移步到HBase的lib目录,删除该jar

rm -rf $HBASE_HOME/lib/slf4j-log4j12-1.7.25.jar

6. 分发文件

(1) 分发环境变量

# 切换为root用户
su root

# 分发,并让其他机器上的环境变量生效
xrsync.sh /etc/profile.d/my-env.sh

# 退出

(2) 分发HBase

xrsync.sh $HBASE_HOME

7. 配置集群时间同步

8. 启停

(1) 启停命令

命令格式解释
start-hbase.sh群起hbase集群,运行该命令的机器上会启动一个master
stop-hbase.sh群停hbase集群
hbase-daemon.sh start|stop master|regionserver单点启停master或者regionserver

(2) 封装启停脚本

# 于~/bin/下新建脚本文件:hbase.sh
vim ~/bin/hbase.sh

# 脚本内容如下:
#!/bin/bash
 
function hasHMaster(){
	host=$1
	if [[ $(ssh $host "jps | grep -i -E 'hmaster'" | wc -l) -eq 1 ]]
	then
		return 0
	else
		return 1
	fi
}
 
 
if [[ $# -ne 1 ]]
then
	echo "usage: hbase.sh start|stop"
	exit
fi
 
case $1 in
start)
	for host in $(awk 'BEGIN{print "localhost"} {print $0}' $HBASE_HOME/conf/backup-masters)
	do
		echo "$host: start hbase"
		ssh $host "start-hbase.sh"
		hasHMaster $host
		if [[ $? -eq 0 ]]
		then
			break
		fi
	done
;;
stop)
	for host in $(awk 'BEGIN{print "localhost"} {print $0}' $HBASE_HOME/conf/backup-masters)
	do
		hasHMaster $host
		if [[ $? -eq 0 ]]
		then
			echo "$host: stop hbase"
			ssh $host "stop-hbase.sh"
			break
		fi
	done
;;
*)
	echo "usage: hbase.sh start|stop"
	exit
;;
esac



# 赋予可执行权限
chmod +x ~/bin/hbase.sh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值