美文网首页
HBase学习笔记二:全分布式搭建

HBase学习笔记二:全分布式搭建

作者: 开发者连小超 | 来源:发表于2019-12-10 23:10 被阅读0次

服务器准备

本文搭建完全分布式Hbase在【Hadoop学习笔记三:高可用集群搭建(Hadoop2.x)】https://www.jianshu.com/p/666ff9bbf784 基础上进行的,使用该文搭建好的HDFS系统,使用在node02/node03/node04上搭建好的zookeeper。

HBase全分布式服务器规划.png

新的免密钥方式(rsa方式)

例如:node04对01、02、03免密钥

ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub node01
ssh-copy-id -i .ssh/id_rsa.pub node02
ssh-copy-id -i .ssh/id_rsa.pub node03

使用rsa,需要去hadoop里修改一个配置文件

[root@node01 data] cd /opt/sxt/hadoop-2.6.5/etc/hadoop/
[root@node01 data] vi hdfs-site.xml
<property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/root/.ssh/id_rsa</value>
  </property>

注:这里只是记录一种新的方式,本文搭建还是使用之前文章中的免密钥方式,实现node04对01、02、03免密钥

时间:各个节点的时间必须一致

使用时间服务器,四台节点同时执行

[root@node01 ~] yum install ntpdate
[root@node01 ~] ntpdate ntp1.aliyun.com
[root@node01 ~] date

也可以把ntpdate ntp1.aliyun.com写成一个脚本,调为开机启动。

解压配置

搭建单节点HBase时已在node01上解压了HBase,此次先修改node01上的配置

1、hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_67
export HBASE_MANAGES_ZK=false

2、hbase-site.xml

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://mycluster/hbase</value>
</property>
<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>node02,node03,node04</value>
</property>

3、regionservers

[root@node01 conf] vi regionservers
#写入(注意一个节点一行)
node2
node3
node4

4、backup-masters

#新增一个backup-masters文件
[root@node01 conf] vi backup-masters
#写入
node04

注意:规划node01和node04是HBase的主备HMaster,如果从node01上启动,这里写node04,如果从node04上启动,这里写node01,也就是在哪台启动哪台就是主。

5、拷贝hdfs-site.xml到conf目录

[root@node01 conf] cp /opt/sxt/hadoop-2.6.5/etc/hadoop/hdfs-site.xml ./

6、分发habse目录到node02/node03/node04

[root@node01 conf] scp -r /opt/sxt/hbase/ node02:/opt/sxt
[root@node01 conf] scp -r /opt/sxt/hbase/ node03:/opt/sxt
[root@node01 conf] scp -r /opt/sxt/hbase/ node04:/opt/sxt

7、修改各个节点的环境变量

vi /etc/profile
export HBASE_HOME=/opt/sxt/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

. /etc/profile

启动测试

1、启动
在node01节点启动,注意启动前HDFS一定要启动 ResourceManager起不起无所谓

[root@node01 ~] start-hbase.sh
starting master, logging to /opt/sxt/hbase/logs/hbase-root-master-node01.out
node03: starting regionserver, logging to /opt/sxt/hbase/bin/../logs/hbase-root-regionserver-node03.out
node04: starting regionserver, logging to /opt/sxt/hbase/bin/../logs/hbase-root-regionserver-node04.out
node02: starting regionserver, logging to /opt/sxt/hbase/bin/../logs/hbase-root-regionserver-node02.out
node04: starting master, logging to /opt/sxt/hbase/bin/../logs/hbase-root-master-node04.out

浏览器查看:http://node01:60010

2、测试高可用

[root@node01 conf] jps
2306 Jps
1440 JournalNode
1567 DFSZKFailoverController
2081 HMaster
1257 NameNode
[root@node01 conf] kill -9 2081

浏览器查看:http://node04:60010
发现并没有主备切换,node01/node04都访问不到
查看日志发现是node04没有对node01做免密钥,再去测试发现主节点变为node04
再去单独启动node01,此时node01作为备加入

hbase-daemon.sh start master

3、查看zookeeper
在node02上执行 zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /
[hbase, yarn-leader-election, hadoop-ha, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /hbase
[meta-region-server, backup-masters, table, draining, region-in-transition, table-lock, running, master, namespace, hbas
eid, online-snapshot, replication, splitWAL, recovering-regions, rs]

相关文章

网友评论

      本文标题:HBase学习笔记二:全分布式搭建

      本文链接:https://www.haomeiwen.com/subject/unrngctx.html