HBase分布式集群搭建

发布 : 2016-02-12 分类 : 大数据 浏览 :
1
2
前提:HBase数据要存储到HDFS上,要有Zookeeper,即要先安装/启动HDFS才能安装/启动HBase
选择192.168.230.11(node2).192.168.230.12(node3).192.168.230.14(node5)主机搭建分布式集群

准备工作:

1. 解压Hbase压缩文件到指定目录下

1
[root@node5 software]# tar -zxf hbase-1.1.3-bin.tar.gz -C /opt/modules

2. 配置Hbase的环境变量(可以只在主节点上配置)

1
2
export HBASE_HOME=/opt/modules/hbase-1.1.3
export PATH=$PATH:$HBASE_HOME/bin

3. 在node5节点生成秘钥目录

1
[root@node5 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

4. 把本机实现免登陆使用的是私钥,将秘钥文件放入认证文件中去,实现本机免登陆

1
[root@node5 ~]$ cat ~/.ssh/id_dsa.pub .. ~/.ssh/authorized_keys

5. 将node5的公钥发送给node2.node3的/opt/目录中

1
2
[root@node5 hbase-1.1.3]# scp ~/.ssh/id_dsa.pub root@node2:/opt
[root@node5 hbase-1.1.3]# scp ~/.ssh/id_dsa.pub root@node3:/opt

5.1. 在node2.node3中,将node5的公钥放到认证文件中去

1
2
[root@node2 ~]$ cat /opt/id_dsa.pub .. ~/.ssh/authorized_keys
[root@node3 ~]# cat /opt/id_dsa.pub .. ~/.ssh/authorized_keys

6.配置reginservers,存放数据的,主机名

1
2
3
4
[root@node5 conf]# vi regionservers
node2
node3
node5

7.进入/opt/modules/hbase-1.1.3/conf目录下编辑hbase-env.sh文件,

1
2
3
4
配置JAVA_HOME.HBASE_CLASSPATH

export JAVA_HOME=/usr/java/jdk1.7.0_79
export HBASE_CLASSPATH=/opt/modules/hadoop-2.5.1/etc/hadoop

1
去掉自带的export HBASE_MANAGES_ZK=true

##4.配置hbase-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
<property>
  <name>hbase.rootdir</name>
<!-- 后面一定加上/hbase目录,不能是根目录 -->
  <value>hdfs://matrix/hbase</value>
</property>
<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>node2,node3,node5</value>
</property>

5.将在node5主机上配置好的hbase相关文件发送给node2.node3节点

1
2
[root@node5 etc]# scp -r /opt/modules/hbase-1.1.3 root@node2:/opt/modules/hbase-1.1.3
[root@node5 etc]# scp -r /opt/modules/hbase-1.1.3 root@node3:/opt/modules/hbase-1.1.3


6.启动HBase

1
[root@node5 hbase-1.1.3]# ./bin/start-hbase.sh

6.1.查看HBase的WebUI

1
在浏览器上输入:http://node5:16010/master-status


6.2.进入Hbase的命令行模式

1
[root@node5 hbase-1.1.3]# ./bin/hbase shell

7.HBase集群有问题就把Zookeeper中目录树中的Hbase目录给删了

1
找到Zookeeper的leader(查看各个Zookeeper的状态)

1
2
3
[zk: localhost:2181(CONNECTED) 7] rmr /hbase
[zk: localhost:2181(CONNECTED) 8] ls /
[registry, yarn-leader-election, hadoop-ha, zookeeper]

1
2
3
4
5
scp -r /opt/modules/hbase-1.1.3/conf/hbase-env.sh root@node2:/opt/modules/hbase-1.1.3/conf
scp -r /opt/modules/hbase-1.1.3/conf/hbase-site.xml root@node3:/opt/modules/hbase-1.1.3


/opt/modules/hadoop-2.5.1/sbin/hadoop-daemon.sh start journalnode
1
2
3
4
5
6
7
问题:
java.lang.RuntimeException: HRegionServer Aborted

解决:
重新格式化

时间同步ntpdate -u ntp.sjtu.edu.cn
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/HBase分布式集群搭建/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹