Hadoop 配置文档
HBase 配置文档
Zookeeper 配置文档

HBase安装

1.环境变量配置

将安装包上传至CentOS中,解压安装包到hadoop目录下

tar -zxvf hbase-1.6.0-bin.tar.gz -C /usr/hadoop

配置环境变量

vi /etc/profile

在末尾添加以下代码,保存退出

export HBASE_HOME=/usr/hadoop/hbase-1.6.0
export PATH=$HBASE_HOME/bin:$PATH

生效配置

source /etc/profile

验证

hbase version

2.配置HBase

进入hbase的conf 文件夹中,编辑hbase-env.sh文件,修改Java路径,并去掉注释

export JAVA_HOME=/usr/java/jdk1.8.0_241

使用hbase自带的zookeeper

export HBASE_MANAGES_ZK=false

编辑hbase-site.xml文件

<configuration>

    <!-- 将HBase数据保存在HDFS目录中 -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:8020/hbase</value>
    </property>

    <!-- HBase是否是分布式环境 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <!-- 配置zookeeper地址,节点全部启用zookeeper,个数必须是奇数 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master,slave1,slave2</value>
    </property>

    <!-- zookeeper数据目录  -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/hadoop/zookeeper-3.5.7/data</value>
    </property>

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

修改文件regionservers,添加从节点的主机名

slave1
slave2
slave3

3.同步HBase配置文件

同步master结点的HBase配置文件,至slave1、slave2、slave3

scp -r /usr/hadoop/hbase-1.6.0 slave1:/usr/hadoop 
scp -r /usr/hadoop/hbase-1.6.0 slave2:/usr/hadoop 
scp -r /usr/hadoop/hbase-1.6.0 slave3:/usr/hadoop 

分别配置slave1、slave2、slave3的环境变量

scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/
scp /etc/profile slave3:/etc/

分别在slave1、slave2、slave3上生效配置

source /etc/profile

4.启动HBase

启动zookeeper、启动hdfs、启动yarn

运行HBase启动命令

start-hbase.sh 

[root@master bin]# jps

9760 ResourceManager
9447 NameNode
13208 HMaster
13337 HRegionServer
12202 HQuorumPeer
9612 SecondaryNameNode
14414 Jps

进入HBase web管理页面

http://master:16010/

TIPS:

1.如出现以下情况,导致web管理页面无法打开

pids/hbase-root-master.pid: 没有那个文件或目录

确定hdfs与hbase配置文件是否相同

hbase-site.xml下的hbase.rootdir下面的value值,必须要和hadoop配置文件core-site.xml下的fs.defaultFS下的value值,ip和端口相同!

修改hbase的pid文件保存路径

打开conf目录下的hbase-env.sh,找到以下代码

# export HBASE_PID_DIR=/var/hadoop/pids

修改为自己的路径

export HBASE_PID_DIR=/usr/hadoop/hbase-1.6.0/pids

2.HMaster无法启动时,hbase-site.xml中添加以下内容:

<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
    <description>
        Controls whether HBase will check for stream capabilities (hflush/hsync).
        Disable this if you intend to run on LocalFileSystem.
        WARNING: Doing so may expose you to additional risk of data loss!
    </description>
</property>

出处:

https://stackoverflow.com/questions/48709569/hbase-error-illegalstateexception-when-starting-master-hsync

官方解释:

https://github.com/apache/hbase/blob/master/hbase-procedure/src/test/resources/hbase-site.xml

3.显示端口已被占用时,先查看已占用,kill掉端口,重新启动

netstat -nultp
kill -9 端口号

5.进入HBase Shell

hbase shell