专业网站设计有限公司,大学网站建设公司,wordpress全局动态背景,个性化的个人网站简易文章目录 安装前准备兼容性官方网址 集群搭建搭建 Hadoop 集群搭建 Zookeeper 集群解压缩安装配置文件高可用配置分发 HBase 文件 服务的启停启动顺序停止顺序 验证进程查看 Web 端页面 安装前准备
兼容性
1#xff09;与 Zookeeper 的兼容性问题#xff0c;越新越好#… 文章目录 安装前准备兼容性官方网址 集群搭建搭建 Hadoop 集群搭建 Zookeeper 集群解压缩安装配置文件高可用配置分发 HBase 文件 服务的启停启动顺序停止顺序 验证进程查看 Web 端页面 安装前准备
兼容性
1与 Zookeeper 的兼容性问题越新越好
Apache HBase ™ Reference Guide 官方回答What version of ZooKeeper should I use?
The newer version, the better. ZooKeeper 3.4.x is required as of HBase 1.0.0
2与 JDK 的兼容性问题链接hbase.apache.org/book.html#basic.prerequisites
HBase VersionJDK 6JDK 7JDK 8JDK 11HBase 2.3❌❌✅❗HBase 2.0-2.2❌❌✅❌HBase 1.2❌✅✅❌HBase 1.0-1.1❌✅❗❌HBase 0.98✅✅❗❌HBase 0.94✅✅❌❌
3与 Hadoop 的兼容性问题链接Apache HBase ™ Reference Guide
Hadoop VersionHBase-2.3.xHBase-2.4.xHBase-2.5.xHadoop-2.10.[0-1]✅✅❌Hadoop-2.10.2✅✅✅Hadoop-3.1.0❌❌❌Hadoop-3.1.1✅✅❌Hadoop-3.2.[0-2]✅✅❌Hadoop-3.2.3✅✅✅Hadoop-3.3.[0-1]✅✅❌Hadoop-3.3.2✅✅✅
✅ 经过测试功能齐全❌ 已知功能不全❗ 未测试
官方网址
下载地址Index of /dist/hbase (apache.org)
官方文档Apache HBase ™ Reference Guide
中文文档Hbase 中文文档
集群搭建
因为我的 Hadoop 是 3.3.1 版本的所以这里选择的是 HBase-2.4.16 版本搭建集群
搭建 Hadoop 集群
没有搭建可以参考hadoop完全分布式搭建-CSDN博客
保证 Hadoop 集群的正常启动
./myhadoop.sh start搭建 Zookeeper 集群
没有搭建可以参考ZooKeeper 集群搭建-CSDN博客
保证 Zookeeper 集群的正常启动
./zk.sh start解压缩安装
1解压 Hbase并重命名
tar -zxvf hbase-2.4.16-bin.tar.gz -C /opt/2配置环境变量
vim /etc/profile.d/hbase.sh添加如下内容
# HBASE_HOME
export HBASE_HOME/opt/hbase-2.4.16
export PATH$PATH:$HBASE_HOME/bin3使用 source 更新环境变量
source /etc/profile配置文件
1hbase-env.sh
vim $HBASE_HOME/conf/hbase-env.sh修改内容可以直接在第一行按 o 粘到第二行也可以加到最后
1添加 JAVA_HOME、HADOOP_HOME环境变量
2让 Hbase 使用一个现有的不被 Hbase 托管的 Zookeep 集群
3将堆设置为 4GB而不是默认值 1GB
4禁用 Hadoop 的类路径查找功能类路径的查找可能会引发问题或冲突。
export JAVA_HOME/usr/java/default
export HBASE_MANAGES_ZKfalse
export HBASE_HEAPSIZE4G
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUPtrue2hbase-site.xml
vim $HBASE_HOME/conf/hbase-site.xml修改成如下内容
?xml version1.0?
?xml-stylesheet typetext/xsl hrefconfiguration.xsl?
configurationpropertynamehbase.zookeeper.quorum/namevaluehadoop102,hadoop103,hadoop104/valuedescriptionThe directory shared by RegionServers./description/propertypropertynamehbase.rootdir/namevaluehdfs://hadoop102:9000/hbase/valuedescriptionThe directory shared by RegionServers./description/propertypropertynamehbase.cluster.distributed/namevaluetrue/valuedescriptionThe mode the cluster will be in. Possible values arefalse: standalone and pseudo-distributed setups with managed ZooKeepertrue: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)/description/propertypropertynamehbase.unsafe.stream.capability.enforce/namevaluefalse/value/property
/configuration3regionservers
vim $HBASE_HOME/conf/regionservers在此文件中列出将运行 RegionServers 的节点
hadoop102
hadoop103
hadoop1044解决 HBase 和 Hadoop 的 log4j 兼容性问题将 Hadoop 的 jar 包复制到 HBase 的 jar 包
cp $HADOOP_HOME/share/hadoop/common/lib/slf4j-log4j12-1.7.30.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar
cp $HADOOP_HOME/share/hadoop/common/lib/slf4j-api-1.7.30.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.30.jarmv $HBASE_HOME/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.bak
mv $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar.bak高可用配置
在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期均衡 RegionServer 的负载如果 HMaster 挂掉了那么整个 HBase 集群将陷入不健康的状态并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。
1在 conf 目录下创建 backup-masters 文件
touch $HBASE_HOME/conf/backup-masters2在 backup-masters 文件中配置高可用 HMaster 节点
echo hadoop103 $HBASE_HOME/conf/backup-masters分发 HBase 文件
xsync $HBASE_HOME/服务的启停
1单点启动/停止服务
$HBASE_HOME/bin/hbase-daemon.sh start master
$HBASE_HOME/bin/hbase-daemon.sh start regionserver$HBASE_HOME/bin/hbase-daemon.sh stop master
$HBASE_HOME/bin/hbase-daemon.sh stop regionserver2集群启动/停止服务
$HBASE_HOME/bin/start-hbase.sh$HBASE_HOME/bin/stop-hbase.sh启动顺序
zookeepeer➡hadoop➡hbase
./zk.sh start./myhadoop.sh startstart-hbase.sh停止顺序
hbase➡hadoop➡zookeepeer
stop-hbase.sh./myhadoop.sh stop./zk.sh stop验证进程
HQuorumPeer 进程是一个 ZooKeeper 实例由 HBase 控制和启动。如果没有使用自己的 Zookeeper而是使用 Hbase 托管的 那么每个集群节点只能使用一个实例并且仅适用于测试。
QuorumPeerMain 进程是 Zookeeper 独立的进程 ZooKeeper 在 HBase 之外运行。
有关 ZooKeeper 配置的更多信息包括使用 HBase 的外部ZooKeeper 实例查看 zookeeper 文档。
hadoop102、hadoop103、hadoop104 jps Output 至少应该含有以下进程
./jpsall hadoop102
32673 HMaster
33457 Jps
24836 QuorumPeerMain
26555 HRegionServerhadoop103
24160 Jps
20241 HRegionServer
21018 HMaster
19709 QuorumPeerMainhadoop104
17744 QuorumPeerMain
18084 NodeManager
21260 Jps查看 Web 端页面
默认情况下它部署在主服务器的端口 16010 上HBase RegionServer 默认情况下监听端口 16020并在端口 16030 上放置一个信息 HTTP 服务器。如果 Master 在默认端口上名为 hadoop102 的服务器上运行将浏览器指向 hadoop102:16010 以查看 Web 界面。 同时在 HDFS 上也会创建一个 hbase 目录 HBase 启动后可以查阅 shell exercises了解如何创建表添加数据扫描插入最后禁用和删除表。
# 进入 HBase 客户端命令行
hbase shell