Hadoop基础教程-第10章 HBase:Hadoop数据库(10.3 HBase安装与配置)(草稿)

来源:互联网 发布:网页设计和美工的区别 编辑:程序博客网 时间:2024/05/29 17:29

第10章 HBase:Hadoop数据库

10.3 HBase安装与配置


HBase服务规划

机器名 HMaster HRegionServer Zookeeper node1 Y Y Y node2 Y Y Y node3 N Y Y

注意,如果集群较大,HMaster可以大于2。

首先通过物理机(Windows系统)下载HBase软件包,其次通过XShell上传到node1节点,然后在node1节点上进行HBase相关配置,最后分发到node2和node3节点上。按照这个思路,下面来演示HBase的安装与配置。

10.3.1 HBase下载

HBase官方网址:http://hbase.apache.org/
这里写图片描述

这里写图片描述

这里写图片描述

下载推荐的当前稳定版1.2.6

10.3.2 HBase安装

(1)上传软件包。通过XShell将HBase软件包上传到集群中的一个节点,比如node1
这里写图片描述
(2)解压缩软件包

[root@node1 ~]# tar -zxvf hbase-1.2.6-bin.tar.gz -C /opt

(3)进入HBase根目录

[root@node1 ~]# cd /opt/hbase-1.2.6/[root@node1 hbase-1.2.6]# lsbin  CHANGES.txt  conf  docs  hbase-webapps  LEGAL  lib  LICENSE.txt  NOTICE.txt  README.txt[root@node1 hbase-1.2.6]# 

10.3.3 HBase集群模式配置

1、配置hbase-env.sh

[root@node1 hbase-1.2.6]# vi conf/hbase-env.sh 

需要设置4处
(1)JAVA_HOME

# The java implementation to use.  Java 1.7+ required. export JAVA_HOME=/opt/jdk1.8.0_112

(2)针对JDK8,移除下面两项

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

(3)设置HBASE_PID_DIR

# The directory where pid files are stored. /tmp by default.export HBASE_PID_DIR=/var/run

(4) 不使用Hbase自带的zookeeper

# Tell HBase whether it should manage it's own instance of Zookeeper or not.export HBASE_MANAGES_ZK=false

2、配置hbase-site.xml

[root@node1 hbase-1.2.6]# vi conf/hbase-site.xml [root@node1 hbase-1.2.6]# cat conf/hbase-site.xml <?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>   <!--        这里必须跟core-site.xml中的配置一致        namenode是HA时,hbase.rootdir=hdfs://nameservices/hbase        namenode非HA时,hbase.rootdir=hdfs://namenode节点:9000/hbase   -->   <property>         <name>hbase.rootdir</name>         <value>hdfs://cetc/hbase</value>   </property>   <!--指定Hbase是分布式的-->   <property>         <name>hbase.cluster.distributed</name>         <value>true</value>   </property>   <!--hbase.master:The port the HBase Master should bind to, Default 16000-->   <!--hbase.master.info.port:The port for the HBase Master web UI. Default 16010-->   <property>         <name>dfs.support.append</name>         <value>true</value>   </property>   <property>         <name>hbase.zookeeper.quorum</name>         <value>node1:2181,node2:2181,node3:2181</value>   </property>   <property>         <name>hbase.zookeeper.property.dataDir</name>         <value>/var/lib/zookeeper</value>   </property></configuration>[root@node1 hbase-1.2.6]# 

提示,hbase-site.xml的参数hbase.zookeeper.property.dataDirZooKeeper与Zookeeper的zoo.conf中的dataDir对应。

3、配置regionservers

[root@node1 hbase-1.2.6]# vi conf/regionservers [root@node1 hbase-1.2.6]# cat conf/regionservers node1node2node3[root@node1 hbase-1.2.6]#

4、设置环境变量

[root@node1 hbase-1.2.6]# cd[root@node1 ~]# vi /etc/profile.d/custom.sh

增加如下内容

#Hbase pathexport HBASE_HOME=/opt/hbase-1.2.6export PATH=$PATH:$HBASE_HOME/bin

5、分发文件
(1)分发Hbase软件包

[root@node1 ~]# scp -r /opt/hbase-1.2.6/ node2:/opt[root@node1 ~]# scp -r /opt/hbase-1.2.6/ node3:/opt      

(2)分发环境变量文件

[root@node1 ~]# scp /etc/profile.d/custom.sh node2:/etc/profile.d/custom.sh                                                                                                                                                  100%  410     0.4KB/s   00:00    [root@node1 ~]# scp /etc/profile.d/custom.sh node3:/etc/profile.d/custom.sh 

(3)source

[root@node1 ~]# source /etc/profile.d/custom.sh[root@node2 ~]# source /etc/profile.d/custom.sh[root@node3 ~]# source /etc/profile.d/custom.sh

10.3.3 HBase运行

(1)不失一般性,选择node1节点启动HBase

[root@node1 ~]# start-hbase.shstarting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node1.outnode2: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node2.outnode3: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node3.outnode1: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node1.out

(2)然后选择另一个节点启动备份Hmaster

[root@node3 ~]# hbase-daemon.sh start masterstarting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node3.out

(3)jps,查看进程
node1

[root@node1 ~]# jps2176 QuorumPeerMain11488 HRegionServer3667 ResourceManager11908 Jps3542 NameNode11368 HMaster2764 JournalNode2924 DFSZKFailoverController3164 NodeManager2541 DataNode

node2

[root@node2 ~]# jps2176 QuorumPeerMain2359 NameNode2423 DataNode2649 DFSZKFailoverController5817 HRegionServer6041 Jps2525 JournalNode2734 NodeManager

node3

[root@node3 ~]# jps2177 QuorumPeerMain2561 NodeManager3763 HMaster3911 Jps2460 JournalNode3532 HRegionServer2366 DataNode2703 ResourceManager

10.3.4 Web

这里写图片描述

这里写图片描述

10.3.5 测试HMaster高可用性

[root@node1 ~]# jps|grep HMaster11368 HMaster[root@node1 ~]# kill 11368

这里写图片描述

这里写图片描述

重新启动node1节点是HMaster

[root@node1 ~]# hbase-daemon.sh start masterstarting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node1.out[root@node1 ~]# jps2176 QuorumPeerMain11488 HRegionServer3667 ResourceManager12579 HMaster3542 NameNode12647 Jps2764 JournalNode3164 NodeManager2541 DataNode

这里写图片描述

阅读全文
0 0