HBase分布式环境搭建

目录

第一台主机

其他两台主机

启动

常见报错

SLF4J: Class path contains multiple SLF4J bindings.


3台Linux虚拟机,与 zookeeper环境搭建 相同,承接上文

第一台主机

  1. 下载安装包

注意有些JDK和hadoop的版本不支持某些HBase的版本,下载HBase的时候要注意选择合适的版本。

Apache HBase – Apache HBase Downloads 找到你想下载的版本

2. 我下载的是稳定版2.4.11,记得下载带bin的安装包

tar xzf hbase-2.4.11-bin.tar.gz

3. 修改配置文件

在home/hbase/conf目录下找到名为hbase-site.xml的文件,内容如下

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://meta1:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>meta1,meta2,meta3</value>
  </property>
</configuration>

这里你需要修改两处:

  • hbase.rootdir的value的meta1为你的master的hostname,如果不知道在你的master主机上命令行输入hostname就能查询到。端口号9000,应该与你hadoop的core-site.xml里设置的端口号一致。

 

  • hbase.zookeeper.quorum里写你所有主机的hostname

相同的目录下找到hbase-env.sh,这些设置原本被注释掉了,把注释去掉然后改一改

JAVA_HOME写你java的路径(同Hadoop的配置)

因为要用咱们自己配置的zookeeper,不用它自带的,所以HBASE_MANAGES_ZK为false

export JAVA_HOME=/home/java/jdk1.8.0_11
export HBASE_MANAGES_ZK=false

相同的目录下找到regionservers,写入所有slave主机名

meta2
meta3

4. 配置hbase环境变量(方法同前两篇教程)

打开/root/.bashrc

加上我之前配置的java和hadoop和zookeeper的环境变量,现在我的配置是

export HADOOP_HOME=/home/hadoop/hadoop-2.6.5
export JAVA_HOME=/home/java/jdk1.8.0_11
export ZOOKEEPER_HOME=/home/zookeeper
export HBASE_HOME=/home/hbase
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin

然后输入命令

source /root/.bashrc

其他两台主机

三台虚拟机配置完全一样,把hbase整个目录传过去,需要的话配置一下slave上的环境就可

scp -r /home/hbase 192.168.79.138:/home
scp -r /home/hbase 192.168.79.143:/home

启动

顺序:先启动zookeeper,再启动hadoop,最后启动hbase

  1. 启动zookeeper

分别在三台虚拟机上输入以下命令,顺序无所谓

zkServer.sh start

2. 启动hadoop

只需要在master上启动,slatu

start-all.sh

3. 启动hbase

只需要在master上启动,slave上不用输入命令

start-hbase.sh

4.成果

  • 利用jps查看当前java进程

master

slave

 

  • 还可以登录hbase管理页面http://192.168.79.128:16010/
  • 登录hadoop管理页面看到多了一个hbase目录,也就是咱刚刚在hbase-site.xml设置的

 

5.关闭

先在master上输入以下命令

stop-hbase.sh && stop-all.sh && zkServer.sh stop

再在每台slave上输入以下命令

zkServer.sh stop

常见报错

SLF4J: Class path contains multiple SLF4J bindings.

启动hbase时有如下报错

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

原因是Hadoop中的jar包和HBase中的jar包冲突了,按照报错中的路径找到并且删掉其中一个就可以了

原文链接(会有更新)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与尔不进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值