且从容.头像

ubunte安装hbase

下面按 master 运行 HMaster、两个 worker 运行 HRegionServer,使用现有 ZooKeeper 集群和 HDFS 来安装。

选择 HBase 2.5.16 的 Hadoop 3 二进制包:官网将其标为稳定版,支持 Java 11;官方兼容表列出了该版本系列对 Hadoop 3.4 的支持。下载页面、兼容要求

机器HBase 服务
masterHMaster,管理集群
worker1HRegionServer,提供数据读写
worker2HRegionServer,提供数据读写

全部使用普通用户 dyl 操作。

1. 确认 HDFS、ZooKeeper 已启动

在 master 执行:

hdfs dfsadmin -report

应显示 2 个 Live DataNode。如果 HDFS 尚未启动:

start-dfs.sh

在三台机器分别执行:

zkServer.sh status

应合计看到 1 个 leader、2 个 follower。未启动时,在对应机器执行:

zkServer.sh start

HBase 基本读写不需要启动 YARN。 如果当前没有计算任务,可以在 master 执行下面的命令节省内存:

stop-yarn.sh

2. 下载 HBase:只在 master 执行

mkdir -p ~/software
cd ~/software

wget -c https://downloads.apache.org/hbase/2.5.16/hbase-2.5.16-hadoop3-bin.tar.gz

wget https://downloads.apache.org/hbase/2.5.16/hbase-2.5.16-hadoop3-bin.tar.gz.sha512

注意必须是 hadoop3-bin,不要下载普通 bin 包或源码包。

检查校验值:

sha512sum hbase-2.5.16-hadoop3-bin.tar.gz
cat hbase-2.5.16-hadoop3-bin.tar.gz.sha512

两条输出的 SHA-512 值一致后继续。

使用 /home/dyl/hbase 作为安装目录,以下假设该目录尚未安装其他版本:

mkdir -p /home/dyl/hbase

tar -xzf hbase-2.5.16-hadoop3-bin.tar.gz \
  -C /home/dyl/hbase --strip-components=1

确认目录结构:

ls /home/dyl/hbase

应包含 bin、conf、lib 等目录。

3. 配置运行环境:只在 master 执行

打开:

nano /home/dyl/hbase/conf/hbase-env.sh

在文件末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HBASE_MANAGES_ZK=false
export HBASE_HEAPSIZE=1024

含义:

  • 使用已经安装的 Java 11。
  • 使用你现有的 ZooKeeper,不让 HBase 另外启动 ZooKeeper。
  • 每个 HBase 服务的 Java 堆上限为 1 GB,用于小型学习实验,进程总内存会略高。

保存方式:Ctrl+O → 回车 → Ctrl+X。

4. 配置集群:只在 master 执行

打开:

nano /home/dyl/hbase/conf/hbase-site.xml

将文件内容替换为:

<?xml version="1.0"?>
<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,worker1,worker2</value>
  </property>

  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>

  <property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase</value>
  </property>

  <property>
    <name>hbase.tmp.dir</name>
    <value>/home/dyl/hbase-tmp</value>
  </property>
</configuration>

其中 hdfs://master:9000 对应你之前配置的 HDFS 地址;如果实际修改过端口,需要同步调整。

打开 RegionServer 列表:

nano /home/dyl/hbase/conf/regionservers

删除原来的 localhost,只保留:

worker1
worker2

将 Hadoop 的客户端配置复制给 HBase:

cp /home/dyl/hadoop-3.4.3/etc/hadoop/core-site.xml /home/dyl/hbase/conf/

cp /home/dyl/hadoop-3.4.3/etc/hadoop/hdfs-site.xml /home/dyl/hbase/conf/

不用把 Hadoop 的全部 JAR 复制到 HBase 的 lib 中;这里已经使用 Hadoop 3 专用安装包。

5. 分发到两个 worker:只在 master 执行

scp -r /home/dyl/hbase dyl@worker1:/home/dyl/
scp -r /home/dyl/hbase dyl@worker2:/home/dyl/

创建本地临时目录:

mkdir -p /home/dyl/hbase-tmp

ssh worker1 'mkdir -p /home/dyl/hbase-tmp'
ssh worker2 'mkdir -p /home/dyl/hbase-tmp'

三台的 HBase 配置相同,不需要像 ZooKeeper 那样创建 myid。

6. 配置快捷命令:三台分别执行

nano ~/.bashrc

末尾添加一次:

export HBASE_HOME=/home/dyl/hbase
export PATH=$HBASE_HOME/bin:$PATH

保存后执行:

source ~/.bashrc
hbase version

应显示 HBase 2.5.16。

7. 启动 HBase:只在 master 执行

确认 HDFS 和 ZooKeeper 正常后:

start-hbase.sh

它会在 master 启动 HMaster,并通过 SSH 在两个 worker 启动 HRegionServer。HBase 不需要执行格式化命令。

等待约半分钟,在 master 检查:

jps
ssh worker1 jps
ssh worker2 jps

应新增:

机器新增进程
masterHMaster
worker1HRegionServer
worker2HRegionServer

进程存在只是初步检查,还要验证节点是否成功注册。

8. 查看集群状态

在电脑浏览器打开:

HBase 管理页面

应看到 2 个在线 RegionServer。

或者在 master 执行:

hbase shell

进入后输入:

status 'simple'

应看到 2 个 live servers,0 个 dead servers。首次启动可能需要稍等片刻。

9. 创建表并测试读写

继续在 HBase Shell 中逐条执行:

create 'student', 'info'
put 'student', '1001', 'info:name', 'Alice'
put 'student', '1001', 'info:age', '20'
get 'student', '1001'
scan 'student'

能读到 Alice 和 20,就说明基本读写正常。

退出:

exit

在 Linux 命令行查看 HDFS 中的 HBase 数据目录:

hdfs dfs -ls /hbase

10. 以后启动和停止的顺序

启动顺序:

  1. 三台虚拟机开机。
  2. master 执行 start-dfs.sh。
  3. 三台分别执行 zkServer.sh start。
  4. 确认服务正常后,master 执行 start-hbase.sh。

停止时先在 master 执行:

stop-hbase.sh

等 HBase 停止后,再根据需要停止 HDFS 和 ZooKeeper。如果其他组件正在使用它们,就保持运行。

如果出现 RegionServer 缺失、Shell 长时间等待,先查看对应机器的日志:

ls -lt /home/dyl/hbase/logs/

打开最新的 .log 文件查看末尾报错:

tail -n 100 /home/dyl/hbase/logs/具体日志文件名

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/qq_43592674/article/details/170146631

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--