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