HBase的完全分布式搭建
一、HBase的安装模式
①单机安装:不依赖于Hadoop的HDFS,配置完即可使用,好处是便于测试,坏处是不具备分布式数据存储的能力。
②伪分布式安装:单台主机模拟真实环境。
③完全分布式安装:多台主机(虚拟机)来搭建
二、搭建准备
①搭建Hadoop+JDK+ZooKeeper(3个zookeeper集群模式,博主其他博文中已安装-------zookeeper集群的搭建(3台虚拟机))
②准备HBase的安装包
③准备三个节点:
192.168.144.130(Hadoop的伪分布式博主其他博文中已安装-------Hadoop之伪分布式安装,JDK+zookeeper+HBase)
192.168.144.132(JDK+zookeeper+HBase)
192.168.144.134(JDK+zookeeper+HBase)
三、搭建步骤
①关闭防火墙、修改主机名、hosts文件映射、免密登录(3个节点都要进行此操作)
关闭防火墙
service iptables stop 临时关闭
chkconfig iptables off 永久关闭
修改主机名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoopalone //这里表示主机名,依次配置3个节点的名字为hadoopalone,hadoop02,hadoop03
hosts文件映射
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.144.133 hadoopalone //配置对应的ip和主机名映射
192.168.144.131 hadoop02
192.168.144.132 hadoop03
免密登录
#ssh-keygen,一路回车即可。
#ssh-copy-id root@hadoopalone(这里依次选择3个节点的主机名)
②获取并解压HBase的安装包
下载地址:http://hbase.apache.org/downloads.html
我这里以0.98.17为例:tar -xvf hbase-xxxxx
③修改配置文件---hbase-env.sh
vim conf/hbase-env.sh(修改完成以后切记:source hbase-env.sh)
#修改JAVA_HOME=XXXX
#修改zookeeper与hbase的协调模式:HBase默认使用自带zookeeper,如果需要使用外部的zookeeper,需要先关闭:export HBASE_MANAGES_ZK=false
③修改配置文件---hbase-site.xml
配置开启完全分布式模式
<property> <name>hbase.rootdir</name> <value>hdfs://hadoopalone:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!--#配置Zookeeper的连接地址与端口号--> <property> <name>hbase.zookeeper.quorum</name> <value>hadoopalone:2181,hadoop02:2181,hadoop03:2181</value> </property>
④配置region服务器
vim conf/regionservers
每个主机名独占一行
输入以下内容:
hadoopalone
hadoop02
hadoop03
⑤远程拷贝hbase安装包至另外两个节点
⑥依次启动zookeeper、Hadoop、Hbase
四、HBase集群的正式搭建
①关闭防火墙、修改主机名、hosts文件映射、免密登录(3个节点都要进行此操作)
关闭防火墙
修改主机名
vim /etc/sysconfig/network(修改完以后,切记记得重启)
第一个节点主机名为hadoopalone
第2个节点主机名为hadoop02
第3个节点主机名为hadoop03
hosts文件ip映射
选择一个节点:vim /etc/hosts
免密登录
①ssh-keygen,然后一路回车即可。
②ssh-copy-id root@hadoopalone、ssh-copy-id root@hadoop02、ssh-copy-id root@hadoop03
每个节点依次执行以上命令:
②上传zookeeper、hbase安装包至3个节点,并解压
通过rz命令上传
解压:tar -xvf zookeeper.xxxxx tar -xvf hbase-......
每个节点都有hbase和zookeeper
③修改配置文件---hbase-env.sh
修改java_home
修改hbase和zookeeper的协调模式(修改完:source hbase-env.sh生效)
③修改配置文件---hbase-site.xml
④配置region服务器
vim regionservers
⑤远程拷贝hbase安装包至另外两个节点
确保jdk的安装路径是相同的
⑥依次启动zookeeper、Hadoop、Hbase
启动zookeeper
sh zkServer.sh start启动zookeeper,通过sh zkServer.sh status来查看状态
hadoopalone节点zookeeper为:follower
hadoop02节点zookeeper为:leader
hadoop03节点zookeeper为:follower
启动Hadoop的伪分布式
之前已经在hadoopalone搭建过hadoop的伪分布式,在hadoopalone节点:start-all.sh启动hadoop
通过jps来查看hadoop的伪分布式进程是否启动成功。
启动HBase
进入Hadoopalone节点的HBase的bin目录:sh start-hbase.sh启动服务端,通过jps来查看是否有HMaster进程。
在另外节点,通过jps来查看,出现以下进程,说明HBase的集群搭建完成。可以在该节点执行:sh start-hbase.sh,会成为HMaster的从。首先启动的HMaster会成为主。
至此HBase的集群已经搭建完成,如果有问题,我们评论讨论一下,谢谢。