Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮、實(shí)時(shí)讀寫的分布式數(shù)據(jù)庫
利用Hadoop HDFS作為其文件存儲系統(tǒng),利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù)
利用Zookeeper作為其分布式協(xié)同服務(wù)
主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)(列存 NoSQL 數(shù)據(jù)庫)
第二次以后啟動集群:先啟動,再zkServer.sh start(默認(rèn)已經(jīng)啟動?)start-dfs.sh,再start-yarn.sh,最后啟動,再啟動yarn-daemon.sh start resourcemanagerstart-hbase.sh
前提
1、Hadoop集群正常運(yùn)行
2、ZooKeeper集群正常運(yùn)行
Hadoop集群基礎(chǔ)配置
Hadoop偽分布式系統(tǒng)配置
VM安裝Linux虛擬機(jī)環(huán)境
VM克隆Linux虛擬機(jī)集群配置
Hadoop集群全分布式搭建
ZooKeeper集群搭建
HA高可用集群搭建
YARN集群環(huán)境搭建
Hadoop集群上搭建Hive
增加1臺裸機(jī)服務(wù)器:node005
同樣先安裝hadoop,再安裝hbase
1、環(huán)境準(zhǔn)備 hostname hosts iptables 網(wǎng)絡(luò)
[root@node005 ~]# scp /etc/hosts root@node001:/etc/hosts
2、時(shí)間同步 時(shí)間服務(wù)器
開機(jī)啟動服務(wù)!
[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環(huán)境變量
5、解壓 環(huán)境變量
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 復(fù)制本地公鑰命令詳解 免密碼登錄遠(yuǎn)程主機(jī) | Verne in GitHub
Hadoop2.0集群配置情況
| 主機(jī)名 | 機(jī)器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架構(gòu)
在node001上部署hbase
刪除部署包中的 docs文件夾
配置regionservers ,主機(jī)名
配置backup-masters
配置hbase-env.sh
JAVA_HOME
HBASE_MANAGERS_ZK=false
配置hbase-site.xml
添加hdfs-site.xml到conf目錄下
啟動Hbase: start-hbase.sh
配置環(huán)境變量
所有節(jié)點(diǎn)都要配置,一個(gè)個(gè)的配置,原來各個(gè)配置就不一樣
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
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node002,node003,node004</value>
</property>
- hbase.rootdir:是region server的共享目錄,用來持久化hbase
- mycluster是高可用配置的
<name>dfs.nameservices</name>的值
- mycluster是高可用配置的
- hbase.cluster.distributed :true是分布式模式
創(chuàng)建regionservers
node002
node003
node004
創(chuàng)建backup-masters
node005
拷貝$HADOOP_HOME/etc/hadoop/hdfs-site.xml到$HBASE_HOME/conf中
[root@node001 conf]# cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml ./
node001分發(fā)部署包
[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狀態(tài)
[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包重復(fù)了,去掉hbase對應(yīng)的jar包;hadoop的jar包啟動時(shí)需要,沒有報(bào)錯(cuò)
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集群搭建