Hbase和zookeeper完全分布式的配置

继续昨天的配置 

我一直采用使用hbase的内置zookeeper来配置hbase但是昨天一直失败

今天我打算按照教程来配置zookeeper和hbase 我根据教程配置好了zookeeper

先进行解压安装到自己定义好的位置,进行改名

mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

 

在安装目录下创建zkData

mkdir zkData

zkData 目录下创建一个 myid 的文件

vim myid

在myid文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格) 

2

 

分发zookeeper

xsync zookeeper-3.5.7

 

 

 配置zoo.cfg并分发给集群

 

用该命令分别启动三台机器

bin/zkServer.sh start

 

在zookeeper和hadoop集群配置完毕的前提下

1.启动集群 hdfs等服务

2.分别启动zookeeper

3.解压到相应的位置

4.配置安装目录下 conf文件中的hbase-env.sh文件

export JAVA_HOME=/opt/module/jdk1.6.0_144

export HBASE_MANAGES_ZK=false

  注:写入自己的jdk路径和选择false采用自己配置的zookeeper

5.配置conf中的hbase-site.xml

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>    //采用分布式
</property>
<property>
<name>hbase.zookeeper.propertly.datadir</name>
<value>/opt/module/zookeeper-3.5.7/zkData</value>  //这里就是之前创建的存数据的文件
</property>

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:8020/Hbase</value>  //注意这里需要和hadoop中的core-site.xml的hdfs的端口一致,就是这里因为不知道填什么就很容易出错,后面启动不了也大部分是这个原因
</property>

 

<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>//配置在集群上
</property>

只需要配置这四个属性,需要注意的是端口

 

 

6.配置conf下的regionservers:

vim regionservers

输入

hadoop102

hadoop103

hadoop104

7.需要将Hadoop的etc/hadoop/中的core-site.xml和hdfs-site.xml 两个文件复制到conf中

8.分发hbase

9.启动

bin/start-hbase.sh

 

注意:如果启动后访问hadoop102:16010 失败,可以在 安装目录下的logs目录下找到日志文件,里面会有报错信息

如果是这样的错误

put: failed on connection exception: java.net.ConnectException: 拒绝连接;

 Call From Master.hadoop102: to Master.Hadoop:9000 failed on connection exception: java.net.ConnectException: 拒绝连接;

这就是端口的问题,需要配置成和hadoop中的core-site.xml里面的hdfs端口一样即可,还有配置文件只需要那四个属性,多了其他的会报错。

在确认无误后将集群服务、zookeeper关闭再重启 ,再启动hbase就可以访问hadoop102:16010 

 

学习时间:17:39到21:02

 

posted @ 2021-09-10 21:11  不咬牙  阅读(542)  评论(0编辑  收藏  举报