基于Hadoop搭建Hbase集群

个人备忘

CentOs 7

环境:jdk1.8 + hadoop-2.8.3 + zookeeper-3.4.6 + hbase-1.2.6

Hbase 下载 wget http://mirror.bit.edu.cn/apache/hbase/stable/hbase-1.2.6-bin.tar.gz

有必要就配置下环境变量

[root@nn hbase]# vim /etc/profile
[root@nn hbase]# source /etc/profile

HBASE_HOME=/agui/hbase/hbase-1.2.6     
export  PATH=$HBASE_HOME/bin:$PATH

Hbase 的解压缩目录下/conf 下的配置文件 :

[root@nn conf]# vim hbase-env.sh  
export JAVA_HOME=/agui/jdk/jdk1.8.0_151

#不使用hbase 自带的 zk 
export HBASE_MANAGES_ZK=false
[root@nn conf]# pwd
/agui/hbase/hbase-1.2.6/conf 
// 我三个节点的 /etc/hosts 都是类似这样配置的。
[root@nn ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

0.0.0.0          nn.hadoop
39.17.24.23   dn1.hadoop
39.17.238.11   dn2.hadoop


// 步骤二 
// 说明,上面配置文件第一个配置的hdfs地址要和 hadoop 的 core-site.xml 配置的hdfs 地址一致,后面的 /hbase 表示我们再改文件夹下去 作业
// 坑 ,真分布式环境下每台节点的hosts 映射,自己所在的机器,需配置成0.0.0.0  nn.hadoop 这类的映射。如果设置成外网,hbase 启动过程中,16000  16020 起不起来。---自己本身配置0.0.0.0 别配置外网ip 。 内网ip 没试过。
// 坑二 , hbase-site.xml  和 该节点上的 hadoop 的 core-size.xml 中的hdfs:// ip:端口  中的ip 必须配置成 hosts 映射名,配置成外网ip , hadooop 启动没问题,但是启动hbase 的时候,启动不起来。访问 0.0.0.09001 ,connection resfuse 。 
// zookeeper 集群这里就不带着配置了。
root@dn2 conf]# vim hbase-site.xml
<configuration>

<property>
   <name>hbase.rootdir</name>
   <value>hdfs://nn.hadoop:9001/hbase</value>
</property>
<property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
</property>
<property>
   <name>hbase.zookeeper.quorum</name>
   <value>nn.hadoop,dn1.hadoop,dn2.hadoop</value>
</property>


</configuration>

其他两个node 节点 如下操作 :

将上一步修改后的hbase-site.xml 文件 上传到 node 从节点 。

//说明:namenode 所在的节点,hbase -site .xml 配置的hdfs 地址为 0.0.0.0

[root@dn2 conf]# rm -rf hbase-site.xml 
[root@dn2 conf]# rz

[root@dn2 conf]# ll
total 40
-rw-r--r-- 1 root root 1811 Dec 27  2015 hadoop-metrics2-hbase.properties
-rw-r--r-- 1 root root 4537 Jan 29  2016 hbase-env.cmd
-rw-r--r-- 1 root root 7572 May  8 21:59 hbase-env.sh
-rw-r--r-- 1 root root 2257 Dec 27  2015 hbase-policy.xml
-rw-r--r-- 1 root root 1239 May  8 22:10 hbase-site.xml
-rw-r--r-- 1 root root 4603 May 29  2017 log4j.properties
-rw-r--r-- 1 root root   10 Dec 27  2015 regionservers
[root@dn2 conf]# 

regionservers 配置修改


//需注意,hosts 配置的 nn.hadoop 如果在自己的机器上,需要映射成 0.0.0.0 而不是 外网ip 否则有坑。
// 注意  regionservers   三个都要配置

[root@nn conf]# vim regionservers 
nn.hadoop
dn1.hadoop
dn2.hadoop

继续配置 Hbase-env.xml :

[root@dn1 conf]# vim hbase-env.sh 
#hadoop 配置文件路径
export HBASE_CLASSPATH=/agui/hadoop/hadoop-2.8.3/etc/hadoop


启动集群 :

// 启动hbase集群之前,要启动 hadoop-hdfs 集群 和  zk 集群
// jdk 1.8  有一个老年代 jvm 参数配置的坑
// jvm 参数配置文件为 hbase-evn.sh , 删除掉永久代的 jvm 参数配置即可。 

// 坑二: hbase 从节点上 的 hadoop core-site.xml 中的hdfs:// ip :9001 中的ip 要改成 namenode   hostname 的映射。

// 因为 : hbase 中的 hbase-site.xml 中的hdfs:// 要写成跟他一样。如果他俩都写成了 namenode  的外网ip 则,从节点的hbase 回去本地找9001 端口的hdfs 地址,肯定没有这个服务,回报 连接被决绝。

结果 :

// 主节点有一个 HMaster 和 HRegionServer 表示配置成功,其他从节点,分别有 HRegionServer 表示无误。
// 其他错误问题可以自己去看日志。

[root@nn ~]# jps
10838 NameNode
11191 ResourceManager
11706 HRegionServer
19802 Jps
11036 SecondaryNameNode
2077 QuorumPeerMain
19535 HMaster

猜你喜欢

转载自blog.csdn.net/qq_16681279/article/details/80261527