centos7.3上部署Habse集群及遇到的问题

一、前期准备工作

1、下载hbase安装包

Hbaser官方下载地址:http://mirror.bit.edu.cn/apache/hbase/

目前安装的版本为:hbase-2.0.2-bin.tar.gz

2、准备好要安装的集群环境的目标机器

3、将下载好的压缩包拷贝到集群机器中

----可利用shell软件的rz命令进行拷贝

4、安装JDK,可参照:https://blog.csdn.net/xuexi_39/article/details/82854735

5、创建hadoop用户并赋予管理员权限

6、hadoop及zookeeper集群环境都已搭建好(因hbase依赖于hadoop及zookeeper)

二、解压压缩包到目标安装目录下

1、将压缩包解压到/usr/local下

tar -xvf hbase-2.0.2-bin.tar.gz -C /usr/local/

2、将hbase-1.4.3名称修改为hbase

mv hbase-2.0.2 hbase

三、更改hbase目录所属者及所属组为hadoop用户

chown -hR hadoop /usr/local/hbase/   # 修改所有者为hadoop
chgrp -hR hadoop /usr/local/hbase/   # 修改所属组为hadoop

四、配置系统环境变量

1、打开sudo vim /etc/profile在底部添加如下信息

#hbase environment
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

2、source /etc/profile 使得添加的环境变量信息立即生效

3、使用echo $HBASE_HOME检测环境变量是否生效

五、修改habse相关配置文件

 1、修改/usr/local/hbase/conf目录下的hbase-env.sh,在该文件添加如下内容

-- 1、设置java安装路径
export JAVA_HOME=/opt/java/jdk1.8.0_131
-- 2、设置hbase的日志地址
export HBASE_LOG_DIR=${HBASE_HOME}/logs
-- 3、设置是否使用hbase管理zookeeper(因使用zookeeper管理的方式,故此参数设置为false)
export HBASE_MANAGES_ZK=false
-- 4、设置hbase的pid文件存放路径
export HBASE_PID_DIR=/var/hadoop/pids

2、添加集群内所有的机器名称到regionservers文件中


master
dataserver1
dataserver2

3、修改/usr/local/hbase/conf目录下的hbase-site.sh,(在configuration节点下添加如下内容)

            <property>
        <name>hbase.rootdir</name> <!-- hbase存放数据目录 -->
        <value>hdfs://master:9000/hbase</value>
          <!-- 端口要和Hadoop的fs.defaultFS端口一致-->
      </property>
      <property>
        <name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
        <value>true</value>
      </property>
            <property>
              <name> hbase.master</name>
              <value>hdfs://master:60000</value>
            </property>
      <property>
        <name>hbase.zookeeper.quorum</name> <!-- list of  zookooper -->
        <value>master,dataserver1,dataserver2</value>
      </property>    
       <property><!--zookooper配置、日志等的存储位置 -->
          <name>hbase.zookeeper.property.dataDir</name>
          <value>/usr/local/hbase/logs</value>
       </property>
             <property>
                 <name>hbase.master.info.port</name>
                 <value>16010</value>
             </property>
             <property>
               <name>hbase.regionserver.info.port</name>
               <value>16030</value>
             </property>

4、将配置文件拷贝到其它分支对应的目录下

sudo scp hbase-env.sh hadoop@dataserver1:/usr/local/hbase/conf/
sudo scp hbase-site.xml hadoop@dataserver1:/usr/local/hbase/conf/
sudo scp regionservers hadoop@dataserver1:/usr/local/hbase/conf/

六、启动hbase服务

1、在主节点master上,进入cd /usr/local/hbase/bin目录下

2、执行启动命令:./start-hbase.sh

3、在web界面访问

http://masterIP地址:16010

七、在部署过程中遇见的问题:

1)提示文件权限问题,错误信息如下所示:

解决方式如下:

1)在根目录中新建文件夹:mkdir /var/hadoop/pids

2)设置hadoop目录所有者及所属权限为hadoop用户

3)将export  HBASE_PID_DIR=/var/hadoop/pids添加到系统环境变量中

2)提示如下错误信息

输入jps查看hbase进程,一直显示主节点启动,分支节点没有启动

解决方式:

1)查看集群内所有机器的系统时间是否都一致,同时保证每一台机器的系统时间与硬件时间也都一致;

2)查看系统时间date

3)查看硬件时间hwclock

4)统一设置系统时间date -s "13:00:00"  #系统正常时间

5)硬件时间与系统时间同步 hwclock -s 

6)重新启动hadoop ,zookeeper,在启动hbase即可

3、启动habse后,hmaster会出现自动消失的现象

解决方式:

关闭hadoop及zookeeper所有进程后,删除hadoop目录下的tmp及logs文件,重新格式化hadoop ,在重新依次启动hadoop、zookeeper,hbase即可

猜你喜欢

转载自blog.csdn.net/xuexi_39/article/details/82869572