Hadoop集群搭建高可用HBase

Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库
利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据
利用Zookeeper作为其分布式协同服务
主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库)

第二次以后启动集群:先启动zkServer.sh start(默认已经启动?),再start-dfs.sh,再start-yarn.sh最后启动yarn-daemon.sh start resourcemanager,再启动start-hbase.sh

前提

1、Hadoop集群正常运行 
2、ZooKeeper集群正常运行

Hadoop集群基础配置

Hadoop伪分布式系统配置
VM安装Linux虚拟机环境
VM克隆Linux虚拟机集群配置
Hadoop集群全分布式搭建
ZooKeeper集群搭建
HA高可用集群搭建
YARN集群环境搭建
Hadoop集群上搭建Hive

增加1台裸机服务器:node005

同样先安装hadoop,再安装hbase

 1、环境准备  hostname hosts iptables  网络
[root@node005 ~]# scp /etc/hosts root@node001:/etc/hosts
 2、时间同步    时间服务器
开机启动服务!
[root@node005 ~]# yum install ntp -y
[root@node001 ~]# service ntpd start
[root@node005 ~]# ntpdate node001
 3、免秘钥
    主-主
    主-从
[root@node005 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node005
[root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node001
……
[root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node004
[root@node001 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node005
 4、jdk环境变量
 5、解压   环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_HOME=/opt/hadoop-2.6.5
export HBASE_HOME=/opt/hbase-0.98.12.1-hadoop2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

ssh-copy-id 复制本地公钥命令详解 免密码登录远程主机 | Verne in GitHub

Hadoop2.0集群配置情况

主机名 机器ip NN NN2 DN ZK ZKFC JNN RS NM Master Backup-Master RegionServer
node001 192.168.118.101/24 * * * *
node002 192.168.118.102/24 * * * * * * *
node003 192.168.118.103/24 * * * * * *
node004 192.168.118.104/24 * * * * *
node005 192.168.118.105/24 *
HBase架构



在node001上部署hbase

删除部署包中的 docs文件夹

配置regionservers ,主机名
配置backup-masters
配置hbase-env.sh
    JAVA_HOME
    HBASE_MANAGERS_ZK=false
配置hbase-site.xml
添加hdfs-site.xml到conf目录下

启动Hbase: start-hbase.sh 

配置环境变量

所有节点都要配置,一个个的配置,原来各个配置就不一样

export HBASE_HOME=/opt/hbase-0.98.12.1-hadoop2
export PATH=$PATH:$JAVA_PATH/bin:……:$HBASE_HOME/bin

修改配置文件:conf/hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_67
# Tell HBase whether it should manage it'sown instance of Zookeeper or not.
# 用自己的zookeeper集群
export HBASE_MANAGES_ZK=false

修改配置文件:conf/hbase-site.xml


    hbase.rootdir
    hdfs://mycluster:8020/hbase


    hbase.cluster.distributed
    true


    hbase.zookeeper.quorum
    node002,node003,node004

  • hbase.rootdir:是region server的共享目录,用来持久化hbase
    • mycluster是高可用配置的dfs.nameservices的值
  • hbase.cluster.distributed :true是分布式模式

创建regionservers

node002
node003
node004

创建backup-masters

node005

拷贝$HADOOP_HOME/etc/hadoop/hdfs-site.xml$HBASE_HOME/conf

[root@node001 conf]# cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml ./

配置文件:hive/conf

node001分发部署包

[root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node002:`pwd`/
[root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node003:`pwd`/
[root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node004:`pwd`/
[root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node005:`pwd`/

启动Hbase: start-hbase.sh

前提让node001变成 active状态

[root@node001 opt]# jps
1408 JournalNode
2904 HMaster
3325 Jps
2686 DFSZKFailoverController
1224 NameNode

[root@node002 opt]# jps
74687 DFSZKFailoverController
74397 HRegionServer
1294 JournalNode
1206 DataNode
75144 Jps
1503 QuorumPeerMain
1841 NodeManager
74806 NameNode

[root@node003 hadoop]# jps
1337 QuorumPeerMain
1154 DataNode
1699 ResourceManager
1472 NodeManager
12328 Jps
1208 JournalNode
12068 HRegionServer

[root@node004 opt]# jps
1151 DataNode
11393 HRegionServer
1545 ResourceManager
11652 Jps
1352 NodeManager
1256 QuorumPeerMain

[root@node005 conf]# jps
2067 HMaster
4009 Main
2210 Jps
浏览器:node001:60010

SLF4J: Class path contains multiple SLF4J bindings.
jar包重复了,去掉hbase对应的jar包;hadoop的jar包启动时需要,没有报错

hbase(main):001:0> list
TABLE                                                                                                                      
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBind
er.class]SLF4J: Found binding in [jar:file:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticL
oggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
0 row(s) in 2.0920 seconds

=> []
hbase(main):002:0> quit
[root@node005 ~]# mv /opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j12-1.6.4.jar /opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j1
2-1.6.4.jar_bak

高可用Hadoop平台-HBase集群搭建

高可用Hadoop平台-HBase集群搭建

你可能感兴趣的:(Hadoop集群搭建高可用HBase)