HBase 分布式集群部署实战:从解压到启动的完整指南
HBase 分布式集群部署实战:从解压到启动的完整指南
文章目录
- HBase 分布式集群部署实战:从解压到启动的完整指南
- 步骤一:解压安装文件
- 步骤二:配置环境变量
- 步骤三:修改配置文件(master节点)
- 步骤四:集群分发
- 步骤五:HBase 集群启动
- 视频版本部署教程
在开始部署之前,先通过下面的流程图了解 HBase 分布式集群搭建的整体步骤:
步骤一:解压安装文件
使用 Xftp 将 HBase 压缩包上传到/opt/software目录下
[root@master ~]# cd /opt/software/[root@master software]# tar -zxvf hbase-1.2.6-bin.tar.gz -C /opt/module/ # 解压到统一安装目录[root@master software]# cd ~[root@master ~]#mv /opt/module /hbase-1.2.6 /opt/module/hbase步骤二:配置环境变量
(1)编辑/etc/profile文件。
[root@master ~]# vi /etc/profile将以下配置信息添加到/etc/profile文件的末尾,将 HBase 的 bin 目录添加到系统环境变量 PATH 中:
exportHBASE_HOME=/opt/module/hbaseexportPATH=$PATH:$HBASE_HOME/bin(2)将 master 中的配置文件用 scp 分别分发到 slave1 和 slave2 上,再执行source /etc/profile命令使其生效。
[root@master ~]# scp -r /etc/profile root@slave1:/etc/[root@master ~]# scp -r /etc/profile root@slave2:/etc/(3)执行source /etc/profile命令,使配置的环境变量在系统全局范围生效。
[root@master ~]# source /etc/profile[root@slave1~]# source /etc/profile[root@slave2 ~]# source /etc/profile步骤三:修改配置文件(master节点)
conf下文件修改
(1)hbase-env.sh
HBase的配置文件放置在安装目录下的conf文件夹内,切换到该目录首先修改HBase环境配置文件 hbase-env.sh,设置 JAVA_HOME 为自己安装的版本。将以下配置信息添加到hbase-env.sh的末尾。
[root@master ~]# cd /opt/module/hbase/conf[root@master conf]# vi hbase-env.shexportJAVA_HOME=/opt/module/javaexportHADOOP_HOME=/opt/module/hadoopexportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoopexportHBASE_MANAGES_ZK=falseexportHBASE_LOG_DIR=${HBASE_HOME}/logsexportHBASE_PID_DIR=${HBASE_HOME}/pidJAVA_HOME为java程序所在位置,HBASE_MANAGES_ZK表示是否使用HBase自带的zookeeper环境,如果使用自己安装的zookeeper,此处可以设置为false(默认为true),即不使用hbase自带的zookeeper。HADOOP_CONF_DIR 是Hadoop配置文件的地址。HBASE_LOG_DIR与HBASE_PID_DIR分别为日志与pid文件输出目录。
注释这两行
#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"(2)hbase-site.xml
修改配置文件 hbase-site.xml,添加相关信息。将以下配置信息添加到hbase-site.xml文件与之间。
<property><name>hbase.rootdir</name><value>hdfs://master:8020/hbase</value></property><property><name>hbase.master.info.port</name><value>16010</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>/opt/module/hbase/tmp</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/opt/module/hbase/tmp/zookeeper-hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>master,slave1,slave2</value></property><property><name>zookeeper.session.timeout</name><value>120000</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>各配置项的含义整理如下表:
| 属性名 | 值 | 说明 |
|---|---|---|
hbase.rootdir | hdfs://master:8020/hbase | 指定 HBase 在 HDFS 上的存储目录 |
hbase.master.info.port | 16010 | HBase Master 的 Web UI 访问端口 |
hbase.cluster.distributed | true | 开启 HBase 分布式模式 |
hbase.tmp.dir | /opt/module/hbase/tmp | HBase 本地临时文件路径,类似 Hadoop 的hadoop.tmp.dir |
hbase.zookeeper.property.clientPort | 2181 | ZooKeeper 的连接端口 |
hbase.zookeeper.property.dataDir | /opt/module/hbase/tmp/zookeeper-hbase | HBase 在 ZooKeeper 上存储数据的目录 |
hbase.zookeeper.quorum | master,slave1,slave2 | ZooKeeper 集群节点列表 |
zookeeper.session.timeout | 120000 | RegionServer 与 ZooKeeper 间的连接超时时间(毫秒) |
hbase.unsafe.stream.capability.enforce | false | 是否强制检查流能力(设为 false 可避免某些兼容性问题) |
(3)regionservers
修改 regionservers文件,删除localhost,添加以下内容。
[root@master conf]# vi regionserversslave1 slave2(4)复制配置文件
为了让Hbase读取到hadoop的配置,将core-site.xml和hdfs-site.xml两个文件拷贝到 $HBASE_HOME/conf/ 目录下。
[root@master conf]# cp /opt/module/hadoop/etc/hadoop/core-site.xml /opt/module/hbase/conf/[root@master conf]# cp /opt/module/hadoop/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/步骤四:集群分发
将master节点配置好的HBase安装包分发给slave1,slave2节点。
[root@master conf]# cd# 从master远程拷贝hbase文件到slave1节点[root@master ~]# scp -r /opt/module/hbase root@slave1: /opt/module# 从master远程拷贝hbase文件到slave2节点[root@master ~]# scp -r /opt/module/hbase root@slave2: /opt/module步骤五:HBase 集群启动
先在 master 上使用start-all.sh启动 Hadoop 集群,再在各个节点上启动 ZooKeeper,最后在 master 上使用start-hbase.sh命令启动 HBase。
[root@master ~]$ start-all.sh[root@master ~]# zkServer.sh start[root@slave1 ~]# zkServer.sh start[root@slave2 ~]# zkServer.sh start[root@master ~]$ start-hbase.sh用webUI查看集群,特别强调hbase2.0的端口是16010。
5、查看集群
(1)jps查看
master上有HMaster,slave1和slave2上有HRegionserver。QuorumPeerMain是zookeeper的守护进程
[root@master conf]# jps13296HMaster2435NameNode13667Jps3028NodeManager3316QuorumPeerMain12292JobHistoryServer1943ResourceManager2601DataNode12809HRegionServer[root@slave1 ~]# jps1863DataNode11383Jps11080HRegionServer1930NodeManager10942QuorumPeerMain(2)web端查看
192.168.11.50:16010
视频版本部署教程
大数据必学!HBase分布式数据库手把手搭建教程(避坑指南)
