当前位置: 首页 > news >正文

HBase安装与配置——单机版到完全分布式部署

目录

一、在主节点和从节点完成一下操作:

(一)环境准备

Java环境配置

(二)HBase的安装

HBase单机版安装

1. 下载与解压

2. 配置环境变量

3. 权限配置

4. 配置文件修改

1. 配置hbase-env.sh:

2. 配置hbase-site.xml:

5. 启动与验证

HBase完全分布式安装

1. Hadoop环境适配

2. HBase配置文件

1. hbase-env.sh:

2. hbase-site.xml:

3. 配置regionservers:

4. 同步Hadoop配置文件:

二、HBase启动与停止

1. 启动流程

2. 停止流程

三、常见问题与优化建议

1. 环境变量不生效

2. HBase启动失败

3. 性能优化

四、总结


一、在主节点和从节点完成一下操作:

(一)环境准备

Java环境配置

HBase依赖Java环境,需确保JDK 1.8已正确安装并配置环境变量。
操作步骤:

# 编辑环境变量配置文件
vim ~/.bashrc

# 添加以下内容(替换为实际Java路径)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH

# 使配置生效
source ~/.bashrc

# 验证配置
java -version

输出应为:

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

注意事项与解决办法:

  • 问题java -version显示版本不一致,或echo $JAVA_HOME为空。

    • 原因:环境变量未生效或路径错误。

    • 解决

      1. 检查JAVA_HOME路径是否与Java实际安装路径一致。

      2. 执行source ~/.bashrc重新加载配置。

      3. 若仍无效,尝试重启终端或系统。


(二)HBase的安装

HBase单机版安装

1. 下载与解压

从HBase官网下载2.4.11版本,解压到/usr/local目录:

sudo tar -zxf ~/Downloads/hbase-2.4.11-bin.tar.gz -C /usr/local
sudo mv /usr/local/hbase-2.4.11 /usr/local/hbase
2. 配置环境变量
vim ~/.bashrc

# 添加HBase路径
export PATH=$PATH:/usr/local/hbase/bin

# 生效配置
source ~/.bashrc

# 验证安装
hbase version

输出HBase版本信息即表示安装成功。

注意事项与解决办法:

  • 问题:执行hbase version提示command not found

    • 原因:环境变量未正确配置或未生效。

    • 解决

      1. 检查~/.bashrcPATH是否包含/usr/local/hbase/bin

      2. 执行source ~/.bashrc重新加载配置。

      3. 使用绝对路径验证:/usr/local/hbase/bin/hbase version

3. 权限配置
cd /usr/local
sudo chown -R hadoop ./hbase
4. 配置文件修改
1. 配置hbase-env.sh
vim /usr/local/hbase/conf/hbase-env.sh

# 设置Java路径和ZooKeeper管理
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export HBASE_MANAGES_ZK=true

2. 配置hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/hbase/hbase-tmp</value>  <!-- 注意路径拼写 -->
  </property>
</configuration>

注意事项与解决办法:

  • 问题:启动HBase时报错/path/to/your/jdk/bin/java: No such file or directory

    • 原因:HBase启动脚本或配置文件中Java路径错误。

    • 解决

      1. 检查hbase-env.sh中的JAVA_HOME是否正确。

      2. 修改HBase启动脚本(/usr/local/hbase/bin/hbase)中的Java路径。

      3. 确保所有路径无拼写错误(如habse写成hbase)。

5. 启动与验证
# 启动HBase
start-hbase.sh

# 进入HBase Shell
hbase shell

# 停止HBase
stop-hbase.sh

注意事项与解决办法:

  • 问题start-hbase.sh启动后无进程或报错。

    • 解决

      1. 检查日志文件/usr/local/hbase/logs/hbase-*.log

      2. 确保hbase.rootdir路径存在且权限正确(需提前创建目录)。

      3. 若端口冲突,修改hbase-site.xml中的hbase.master.info.port


HBase完全分布式安装

1. Hadoop环境适配

需使用Hadoop 2.8.5版本,将Hadoop 3.x的配置文件迁移至2.8.5:

  • 复制core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkers(旧版为slaves)到Hadoop 2.8.5的配置目录。

  • 修改路径参数,例如hadoop.tmp.dir指向Hadoop 2.8.5的安装路径。

注意事项与解决办法:

  • 问题:Hadoop 2.8.5与HBase 2.4.11版本不兼容。

    • 解决:确保HBase版本与Hadoop版本匹配(参考HBase官方兼容性矩阵)。

2. HBase配置文件
1. hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java8/jdk1.8.0_181
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_MANAGES_ZK=true

2. hbase-site.xml
<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave01</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <property>
    <name>hbase.master.info.port</name>
    <value>60010</value>
  </property>
</configuration>

3. 配置regionservers
master
slave01

4. 同步Hadoop配置文件:
cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hbase/conf/
cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hbase/conf/

注意事项与解决办法:

  • 问题:HBase无法连接HDFS,报错org.apache.hadoop.hdfs.server.namenode.SafeModeException

    • 原因:HDFS处于安全模式。

    • 解决:执行hdfs dfsadmin -safemode leave退出安全模式。

  • 问题:ZooKeeper节点未正常启动。

    • 解决:检查hbase.zookeeper.quorum配置的节点是否可达,并确保防火墙已关闭。


二、HBase启动与停止

1. 启动流程

# 启动Hadoop集群
start-dfs.sh
start-yarn.sh

# 启动HBase
start-hbase.sh

# 验证进程
jps

  • Master节点进程NameNodeSecondaryNameNodeResourceManagerHQuorumPeerHMaster

  • Slave节点进程DataNodeNodeManagerHQuorumPeerHRegionServer

2. 停止流程

# 停止HBase
stop-hbase.sh

# 停止Hadoop集群
stop-yarn.sh
stop-dfs.sh

注意事项与解决办法:

  • 问题stop-hbase.sh无法完全停止进程。

    • 解决:手动终止残留进程:

      hbase-daemon.sh stop master    # 停止当前节点HMaster
      hbase-daemons.sh stop regionserver  # 停止所有RegionServer

三、常见问题与优化建议

1. 环境变量不生效

  • 原因:未执行source ~/.bashrc或路径配置错误。

  • 解决:检查路径拼写并重新加载配置。

2. HBase启动失败

  • 检查日志:查看/usr/local/hbase/logs中的错误日志。

  • 端口冲突:确保60010端口未被占用。

3. 性能优化

  • 内存配置:在hbase-env.sh中调整HBASE_HEAPSIZE(例如export HBASE_HEAPSIZE=4G)。

  • ZooKeeper独立部署:生产环境中建议使用独立ZooKeeper集群。


四、总结

通过本文,您已完成从HBase单机版到完全分布式的部署。关键点包括:

  1. Java环境配置与验证:避免路径错误和配置未生效问题。

  2. 配置文件准确性:重点关注hbase.rootdirhbase.zookeeper.quorum的配置。

  3. 日志排查:通过日志快速定位启动失败原因。

动手实践,遇到问题时善用日志排查,祝您在大数据之旅中畅通无阻! (ノ◕ヮ◕)ノ*:・゚✧⚡

相关文章:

  • 【蓝桥杯】回文字符串
  • 自己用python写的查询任意网络设备IP地址工具使用实测
  • 什么是 继续预训练、SFT(监督微调)和RLHF
  • 【Java/数据结构】Map与Set(图文版)
  • AllData数据中台商业版发布版本1.2.9相关白皮书发布
  • UML 4+1 视图:搭建软件架构的 “万能拼图”
  • zabbix“专家坐诊”第281期问答
  • Logstash开启定时任务增量同步mysql数据到es的时区问题
  • 淘宝搜索关键字与商品数据采集接口技术指南
  • 软考 中级软件设计师 考点知识点笔记总结 day09 操作系统进程管理
  • 自然语言处理(24:(第六章4.)​seq2seq模型的应用)
  • 卸载360壁纸
  • Android开发:support.v4包与AndroidX
  • AI Agent拐点已至,2B+2C星辰大海——行业深度报告
  • nextjs使用02
  • MySQL在线DDL操作指南
  • 安全框架SpringSecurity入门
  • Window C++ Postmortem Debugger
  • opencv(C++)图像的读写、翻转、绘制、鼠标事件
  • 源码分析之Leaflet中control模块Control基类实现原理
  • 住房和城乡建设部办公厅主任李晓龙已任部总工程师
  • 昂立教育:去年减亏1.39亿元,今年以“利润持续增长”为核心目标
  • 深入贯彻中央八项规定精神学习教育中央指导组培训会议召开
  • 铁路五一假期运输今日启动,预计发送旅客1.44亿人次
  • 言短意长|政府食堂、停车场开放的示范效应
  • “85后”潘欢欢已任河南中豫融资担保有限公司总经理