HBase集群系列文章目录
HBase集群的搭建(全分布式)——使用HBase内置的ZooKeeper
HBase集群的搭建(全分布式)——使用独立的ZooKeeper
HBase集群的搭建(全分布式)——错误处理:slave node与master node时间不同步
目录
前提之前提——软件安装包の准备
前提
①集群范围为westgis117-westgis128(主机名),对应IP地址为10.103.104.117-10.103.104.128;
②用户名为DKF;(详见Linux基础——啥是用户名?机器名??主机名???)
③ntp已配置;(详见Linux基础——利用crontab实现ntp配置)
④主机名与IP地址的映射已配置;(详见Linux基础——主机名与IP地址の映射)
⑤防火墙已关闭。(详见Linux基础——虚拟机の防火墙)
一、集群规划
二、搭建Hadoop集群
Hadoop集群的搭建详见我的另一篇博客:
Hadoop集群的搭建(全分布式)
三、搭建HBase集群(使用内置的ZooKeeper)
HBase集群是建立在Hadoop集群基础之上的
1、配置相关文件
##解压安装包
tar -zxvf hbase-1.4.13-bin.tar.gz
##进入配置文件所处目录
cd /home/DKF/NoSQL/hbase-1.4.13/conf
①hbase-env.sh
vim hbase-env.sh
##添加内容
export JAVA_HOME=/home/DKF/NoSQL/jdk1.8.0_144
export HBASE_CLASSPATH=/home/DKF/NoSQL/hbase-1.4.13/conf
在hbase-env.sh中添加内容如下
##注释下面两行(如果使用jdk8+的话)
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
注释与否对集群的运行没什么影响,不过我之所以写出来那肯定是有原因的~在之后的第5点中有解释为什么要注释
注释如下
##取消注释
##该项为true时即使用自带的ZooKeeper
export HBASE_MANAGES_ZK=true
##保存并退出
:wq
在hbase-env.sh中添加内容如下
②hbase-site.xml
vim hbase-env.sh
##添加内容
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://10.103.104.127:9000/hbase</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>westgis118,westgis119,westgis120:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/DKF/NoSQL/hbase-1.4.13/tmp/zookeeper/data</value>
</property>
</configuration>
##保存并退出
:wq
hbase.zookeeper.quorum为zookeeper的node
在hbase-site.xml中添加内容如下
##保存并退出后,手动创建/home/DKF/NoSQL/hbase-1.4.13/tmp/zookeeper/data文件夹
mkdir -p tmp/zookeeper/data
创建tmp/zookeeper/data文件夹如下
③regionservers
regionservers中存放的是Hregionserver node
Hregionserver node对应HDFS中的DataNode
在regionservers中添加内容如下
2、配置环境变量
vim ~/.bashrc
##添加内容
#HBase
export HBASE_HOME=/home/DKF/NoSQL/hbase-1.4.13
export PATH=$HBASE_HOME/bin:$PATH
##使环境变量生效
source ~/.bashrc
在.bashrc中添加内容如下
3、拷贝Hadoop的配置文件
把hadoop-2.7.6/etc/hadoop中的core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves6个文件拷贝至hbase-1.4.13/conf下
##进入hadoop-2.7.6/etc/hadoop
cd $HADOOP_HOME/etc/Hadoop
##查看hadoop-2.7.6/etc/hadoop下的文件
ll
##拷贝文件
cp core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml yarn-site.xml slaves home/DKF/NoSQL/hbase-1.4.13/conf/
查看hadoop-2.7.6/etc/hadoop下的文件
拷贝结果
4、将配置好的文件scp至各个Hregionserver node
##直接将代码一次性拷贝至命令行运行即可
#{从#!/bin/bash开始拷贝
#!/bin/bash
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis118:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis119:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis120:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis121:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis122:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis123:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis124:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis125:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis126:/home/DKF/NoSQL
scp -r /home/DKF/NoSQL/hbase-1.4.13 westgis128:/home/DKF/NoSQL
#拷贝结束}
##直接将代码一次性拷贝至命令行运行即可
#!/bin/bash
scp ~/.bashrc westgis118:~
scp ~/.bashrc westgis119:~
scp ~/.bashrc westgis120:~
scp ~/.bashrc westgis121:~
scp ~/.bashrc westgis122:~
scp ~/.bashrc westgis123:~
scp ~/.bashrc westgis124:~
scp ~/.bashrc westgis125:~
scp ~/.bashrc westgis126:~
scp ~/.bashrc westgis128:~
5、启动集群
##启动集群(顺序不能乱)
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
$HBASE_HOME/bin/start-hbase.sh
启动画面如下
注意~接下来就要揭晓上面第1点中提到过的注释hbase-env.sh中两行配置的原因
没有注释的启动画面如下
怎么样?是不是觉得这么多行的输出看得人脑阔疼?什么?不觉得??那就再多看几眼~~~
6、查看状态
##查看集群
jps
##HBase_web监控界面
http://10.103.104.127:16010
jps
HMaster node
ZooKeeper node
HRegionserver node
HBase Web监控界面如下
7、停止集群
再来一遍那句顺口溜:有启有停,养成习惯,不怕麻烦,再启不难!!!
另外还有一句:先启后停,后启先停。
$HBASE_HOME/bin/stop-hbase.sh
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh