开发者学堂课程【HBase 入门教程:HBase 完全分布式搭建_1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5071
HBase 完全分布式搭建_1
一、 构建完全分布式
与在伪分布式模式中一样,完全分布式配置要求将 hbase - cluster . distributed 属性设置为 true 。通常 hbase . rootdir 被配置为指向一个高度可用的 HDFS 文件系统。
这是一个分布式 HBase 集群的基本 conf / hbase-site.xml 。用于实际工作的集群将包含更多自定义配置参数。大多数 HBase 配置指令都有默认值,除非在
hbase-site. xml 中重写该值,否则将使用默认值。
hbase.rootdir
hdfs://namenode.example.org:8020/hbase
hbase cluster.distr ibuted
true
hbase.zookeeper . quorum
node-a.example.com.node-b.example.com.node -c.example.com
这是一个示例 conffegion servers 文件,其中包含一个应该在集群中运行 Region Server 的节点列表。这些节点需要安装 HBase 他们需要使用 conf / 目录的相同内容作为主服务器
node-a.example.com
node-b.example.com
node-c.example.com
这是一个示例 conf/backup-masters 文件,其中包含应该运行备份 Master 实例的每个节点的列表。除非主 Master 不可用,否则备份 Master 实例将处于空闲状态。
node-b.example.com
node-c.example.com
看见 quickstart-fully-distributed 带有多个 ZooKeeper 、备份 HMaster 和 Region Server 实例的简单三节点集群配置的演练。1.值得注意的是,如果你做了 HDFSHad oop 集群上的客户端配置更改,例如 HDFS 相对于服务器端配置,客户端必须使用
使 HBase 能够看到并使用这些配置更改的以下方法之一:a.向 hadoop 添加指针 _ CONFOIR 到 hbase-env.sh 中的 HBASE CLASSPATH 环境变量。b.添加一份 hdfs.site.xml(Hadoop.site xml ) 或者更好的符号链接,在$( HBASE HOME /conf 下)。c .如果只有一小套 HDFS 客户端配置,将它们添加到 hbase-site.xml 中。
这样的例子 HDFS 客户端配置是 dfs . replicat ion 。例如,如果您希望以 5 的复制因子运行, HBase 将创建默认值为 3 的文件,除非您执行上面的操作以使配置对 Hbase 可用。
ZK Master RegionServer
node1 1 1
node2 1 1
node3 1 1
node4 1 1
node5 1 1
启动虚拟机
Node5下
[root@node5 logs]#stop-hbase.sh
[root@node5 logs]# clear
[root@node5 logs]# start-hbase.sh
[root@node5 logs ]# hbase shell
hbase (main):001:0> list
TABLE
2016-11-09 11:51:99,023 WARN ( main] util . NativeCoduiltin-java classes where applicable
psn
1 row(s) in 1.3900 seconds
=> ["psn" ]
hbase( main) :002:0> scan "psn”
ROWCOLUMN+CELL
0 row(s) in 0.0830 seconds
hbase ( main) :003:0> quit
[root@node5 logs ]# stop-hbase.sh
stopping hbase...
[root@node5 logs]# date
We Nov9 14:15:01 CST 2016
[root@node5 logs ]#ssh-keygen -t dsa -p -f -/.ssh/id_dsa
[root@node5 logs ]#cat /etc/hosts
[root@node5 logs ]#cd /root/.ssh/
[root@node5 .ssh]#ls
[root@node5 .ssh]#scp id_dsa.pub node1:/tmp
[root@node5 .ssh]#scp id_dsa.pub node2:/tmp
[root@node5 .ssh]#scp id_dsa.pub node3:/tmp
[root@node5 .ssh]#scp id_dsa.pub node4:/tmp
[root@node5 .ssh]#ls
[root@node5 .ssh]#ssh node1
[root@node5 .ssh]# ssh node2
[root@node5 .ssh]# ssh node3
[root@node5 .ssh]# ssh node4
[root@node4]#exit
[root@node5 .ssh]#cd /home/tools/
[root@node5 tools]#ls
[root@node5 tools]#tar zxvf /home/tools/hbase*c /home
[root@nodel ~]# ls /home
hadoop-2.5.1 hbase-0. 98.12.1-hadoop2 tools zookeeper-3.4.6
[root@nodel ~]# ls
anaconda-ks.cfg install,log install. Log. syslog
[root@nodel ~]# cd /home
[root@nodel home]# ls
hadoop-2.5.1hbase-0.98.12.1-hadoop2 toolszookeeper-3.4.6
[root@nodel homel# mv hbase 098 12.1. hadoop2 hbase-0.98
[root@nodel home]# ls
hadoop-2.5.1hbase-0.98 toolsZookeeper-3.4.6
[root@nodel home]# cd hbase-0.98/
[root@node1 hbase-0.98]# ls
bin CHANGES.txt conf docs hbase- webapps lib LICENSE.txt NOTICE.txt README.txt
[root@node1 hbase-0.98]# cd conf/
[root@nodel conf]# ls
hadoop-metrics2-hbase.propertles hbase-env.sh hbase-site.xml regionservice hbase-policy.xml log4j.pronperties
[root@nodel conf]# vi hbase-env.sh
修改一项
export HBASE_MANAGES_ZK=false
Export JAVA_HOME=/usr/java/jdk.7.0_67
[root@nodel conf]# vi hbase-site.xml
把配置项粘贴过来即可
hbase.rootdir
hdfs://namenode.example.org:8020/hbase
hbase cluster.distr ibuted
true
hbase.zookeeper . quorum
node-a.example.com.node-b.example.com.node -c.example.comk/value>