centos6.7部署HBase

centos6.7部署HBase

一.前言

配置前可以自行选择配置zookeeper

由于大三学习需要,而且网上的教程都有点模糊,导致我走了不少弯路,因此我写下这篇博客,本文仅供参考,如果有不足之处,还望指出。

二.下载安装

1.镜像下载,这里用的是清华镜像下载的hbase-1.4.13版本,这里要注意的是hbase的版本可能会有与Hadoop和jdk不兼容的问题,可以参考以下链接:

http://hbase.apache.org/book.html#java(官网)

https://blog.csdn.net/liubenlong007/article/details/95340332

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.4.13/hbase-1.4.13-bin.tar.gz

下载好后桌面会出现hbase的压缩包,我们可以解压到/usr/local目录下,操作如下:

tar -zxvf hbase-1.4.13-bin.tar.gz
mv hbase-1.4.13 /usr/local/

三.设置HBase环境变量

我们可以配置hbase中Java的路径:

Java的路径具体可以用以下命令查看:

echo $JAVA_HOME

文件hbase-env.sh是hbase的环境变量,我们这里要修改Java的路径:

vi /usr/local/hbase-1.4.13/conf/hbase-env.sh
修改
#export JAVA_HOME=/usr/java/jdk1.6.0/
为export JAVA_HOME=/usr/java/jdk1.8.0_60/  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O5wQkoDX-1633758753017)(https://i.loli.net/2021/10/09/38oKfJqLANhacEl.png)]

  • 注:ZooKeeper的HBASE_ MANAGES_ZK配置项,该项表示是否使用HBase管理其自带的ZooKeeper。如果取消注释,并设置其值为true,将使用自带的ZooKeeper,这样就不需要再单独下载ZooKeeper并做相应配置了。我之前安装部署了ZooKeeper,所以不取消注释。
vi /usr/local/hbase-1.4.13/conf/hbase-site.xml
<configuration>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop1:8020/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop1,hadoop2,hadoop3</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/zookeeper-3.4.14</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>hadoop1:60000</value>
    </property>
     <property>
         <name>hbase.master.info.port</name>
         <value>60010</value>
     </property>
</configuration>

保存退出

  • hbase.rootdir设置为HDFS的NameNode的位置。

  • 属性hbase.zookeeper.quorum:该属性的值会让HBase启动时在相应节点上运行ZooKeeper实例。

    保存关闭后,修改regionservers组件

vi /usr/local/hbase-1.4.13/conf/regionservers
  • 删掉默认的localhost,并添加想要运行RegionServer的节点名
hadoop2
hadoop3

保存退出

  • 删掉localhost的原因是并不想在Hadoop的namenode上运行RegionServer。因为namenode上并不存储HDFS数据,运行RegionServer需要远程调用数据,同时也会加重namenode的负担。如果一定要在namenode上运行RegionServer,也应该把localhost换成相应的机器名,如master。因为HBase也可以通过在其他节点上运行start-hbase.sh脚本启动(这时会把输入命令的节点作为master节点),这时localhost指的是本机节点而不是namenode。

我们接着修改hbash.sh文件:

vi /etc/profile.d/hbase.sh
添加:
export HBASE_HOME=/usr/local/hbase-1.4.13
export PATH=$HBASE_HOME/bin:$PATH
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*

注意修改后要source一下:

source /etc/profile.d/hbase.sh

把以上在master节点配置好的文件传给其他主机:

rsync -av /usr/local/hbase-1.4.13 hadoop2:/usr/local/
rsync -av /etc/profile.d/hbase.sh hadoop2:/etc/profile.d/
rsync -av /usr/local/hbase-1.4.13 hadoop3:/usr/local/
rsync -av /etc/profile.d/hbase.sh hadoop3:/etc/profile.d/

这里注意在其他主机也要执行以下命令:

source /etc/profile.d/hbase.sh

四.启动hbase:

这里要注意的是我们先要启动Hadoop,保证Hadoop正常运行,然后我们再启动hbase。

我们可以在主节点运行以下命令:

/usr/local/hbase-1.4.13/bin/start-hbase.sh

这里如果启动成功的话,我们可以看到如下界面:系统首先启动HBase自带的zookeeper,然后启动HBase的HMaster,接着分别启动slave节点上的regionserver。

centos6.7部署HBasecentos6.7部署HBase

启动后我们在网站输入以下网址:60010是我们在上面配置的端口号,下面的截图是成功界面

http://hadoop1:60010/

centos6.7部署HBase
停止hbase:

/usr/local/hbase-1.4.13/bin/stop-hbase.sh
上一篇:java连接hbase——长时间无回应


下一篇:Hbase安装