hbase2.1.x集群:伪分布式部署

上接:hadoop3.x教程目录

依赖

hbase 依赖 zookeeper、hdfs (不需要 yarn),所以要先启动 zookeeper、hdfs,然后启动 hbase

必须配置 hadoop 环境变量

hbase 依赖 hadoop 环境变量,所以必须配置

执行下面命令:

vim /etc/profile.d/bigdata_env.sh

在末尾,使用 o 命令,添加下面内容:

# 配置 HADOOP_HOME
export HADOOP_HOME=/program/hadoop-3.0.3
export PATH=${HADOOP_HOME}/bin:$PATH
export PATH=${HADOOP_HOME}/sbin:$PATH

执行esc -> :wq

使立即生效

source  /etc/profile

测试

hadoop

会显示 hadoop 命令的信息,表示配置成功

可能需要部署 hadoop

如果 hbase 要将数据保存到 HDFS,就必须要部署 hadoop

如果 hbase 要将数据保存到 本地,就不需要部署 hadoop

推荐部署 zookeeper

hbase内置 zookeeper,但亲测,启动内置zookeeper失败,只能单独安装zookeeper,见 链接

zookeeper 启动

zookeeper-3.4.x 单机启动、停止服务、查看服务状态、jps

说明

登录 hadoop1 虚拟机,进行下面操作

上传 hbase

上传 hbase-2.1.9-bin.tar.gz 到 /program 目录

解压

进入 /program 目录

cd /program

解压命令:

tar --no-same-owner -zxvf hbase-2.1.9-bin.tar.gz

查看解压结果

进入 /program 目录

cd /program

查看命令:

ll

看到 hbase-2.1.9 文件夹,说明成功

修改 hbase-env.sh

hbase-env.sh 配置了 hbase 的环境

进入 hbase 目录

cd /program/hbase-2.1.9/conf/

设置 JAVA_HOME

指定 java 绝对路径

使用 vim 编辑该文件:

vim hbase-env.sh

找到 export JAVA_HOME ,如果该行前面有 # ,就去掉 #,改成

# 指定jdk
export JAVA_HOME=/program/jdk1.8.0_202

可通过下面命令显示 java 绝对路径:

echo $JAVA_HOME

禁用自带ZooKeeper

找到 export HBASE_MANAGES_ZK ,如果该行前面有 # ,就去掉 #,改成

export HBASE_MANAGES_ZK=false

注意:如果不禁止,在启动 hbase 服务时,会自动篡改 3台服务器 zkData/myid 的值,导致整个 zk 服务不可启动

注意2:还需要将下面的 hbase.cluster.distributed 设置为 true,否则仍然会启动自带的 zookeeper

修改 hbase-site.xml

进入 hbase 目录

cd /program/hbase-2.1.9/conf/

vim hbase-site.xml

vim hbase-site.xml

增加内容

<!-- hbase数据在hdfs中的路径。namenode所在服务器 -->
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop1:8020/hbase</value>
    <!-- 下面是保存到本地,此时不需要部署hadoop -->
    <!-- <value>file:///program/hbase-2.1.9/data</value> -->
</property>
<!-- false单机模式(会启动自带的zookeeper),true是分布式模式 -->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

<!-- zookeeper快照的存放位置 -->
<!-- 
<property> 
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/program/zookeeper-3.4.14/zkData/</value>
</property>
 -->
<!-- v2.1版分布式情况下,设置为false -->
<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>
<property>
    <name>hbase.wal.provider</name>
    <value>filesystem</value>
</property>

解释:

复制 htrace.jar

必须复制,否则启动报错,找不到类

cp /program/hbase-2.1.9/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar  /program/hbase-2.1.9/lib/

删除冲突的jar包(可略)

hbase的 lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar 与 hadoop 的 jar包冲突,启动服务时显示警告信息

删除 hbase 的 jar包即可,执行下面命令

mv /program/hbase-2.1.9/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar /program/hbase-2.1.9/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar.bak

增加环境变量

将 hbase 目录加入到环境变量中

执行下面命令:

vim /etc/profile

在文件下面增加以下内容:

# 配置 HBASE_HOME
export HBASE_HOME=/program/hbase-2.1.9
export PATH=${HBASE_HOME}/bin:$PATH

立即生效

source /etc/profile.d/bigdata_env.sh

启动、停止服务

hbase2.1.x集群:伪分布式启动、停止服务


原文出处:/show_1IX2yaKGzd7l.html