教程目录

0x00 教程内容

  1. HBase的获取
  2. 上传安装包到集群
  3. 安装HBase集群
  4. HBase集群校验

0x01 HBase的获取

1. 官网下载

a. 为了统一,此处下载HBase1.2.6版本 :

​http://archive.apache.org/dist/hbase​

选择1.2.6/hbase-1.2.6-bin.tar.gz进行下载

3. 关注公众号:邵奈一

a. 回复hbase获取

0x02 上传安装包到集群

1. 上传安装包到虚拟机

D005 复制粘贴玩大数据之安装与配置HBase集群_docker

PS:如果不是docker部署的集群,则直接上传到虚拟机即可,因为,每台虚拟机就是一个节点。

2. 复制安装包到master节点

​docker cp hbase-1.2.6-bin.tar.gz hadoop-master:/root​

​sh master.sh​

​ll​

D005 复制粘贴玩大数据之安装与配置HBase集群_docker_02

0x03 安装HBase集群

1. 解压HBase

a. 解压安装包(-C为指定解压到/usr/local路径)

​tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local​

2. 配置HBase

a. ​​修改配置文件hbase-env.sh​​($HBASE_HOME/conf):

​cd /usr/local/hbase-1.2.6/conf​

​vi hbase-env.sh​

D005 复制粘贴玩大数据之安装与配置HBase集群_安装_03

  • 添加JAVA_HOME、HBASE_CLASSPATH、HBASE_MANAGES_ZK
export JAVA_HOME=/usr/local/jdk1.8.0_161/
export HBASE_CLASSPATH=/usr/local/hadoop-2.7.5/etc/hadoop
export HBASE_MANAGES_ZK=false

D005 复制粘贴玩大数据之安装与配置HBase集群_大数据_04

ps:原本也有JAVA_HOME、HBASE_CLASSPATH、HBASE_MANAGES_ZK这三个选项,只是被注释掉了,在非编辑模式下可以按/,再加上搜索的文字,按回车即可搜索如:

D005 复制粘贴玩大数据之安装与配置HBase集群_docker_05

b. 修改配置文件regionservers($HBASE_HOME/conf):

​vi regionservers​

删除原本的​​localhost​​,添加:

hadoop-slave1
hadoop-slave2

D005 复制粘贴玩大数据之安装与配置HBase集群_docker_06

c. 修改配置文件hbase-site.xml($HBASE_HOME/conf):

​vi hbase-site.xml​

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-master,hadoop-slave1,hadoop-slave2</value>
</property>

D005 复制粘贴玩大数据之安装与配置HBase集群_安装_07

  • 特别注意:​​hdfs://hadoop-master:9000/hbase​​的端口9000需要与hadoop里面的core-site.xml文件配置的一致。

d. 配置环境变量(可看到docker生成节点时默认配好的其他环境变量)

​vi /etc/profile​

export HBASE_HOME=/usr/local/hbase-1.2.6
export PATH=$PATH:$HBASE_HOME/bin

D005 复制粘贴玩大数据之安装与配置HBase集群_hadoop_08

  • 使配置生效(echo一下有内容输入,说明已经配好)
    ​​​source /etc/profile​
3. 在同步HBase到slave1、slave2

a. 将hbase-1.2.6拷贝到slave1和slave2上

​scp -r /usr/local/hbase-1.2.6 root@hadoop-slave1:/usr/local/​

​scp -r /usr/local/hbase-1.2.6 root@hadoop-slave2:/usr/local/​

复制成功截图:

D005 复制粘贴玩大数据之安装与配置HBase集群_大数据_09

ps:此处不用配置slave1、slave2的环境变量是因为启动的时候只需要在master上启动,与zk不同。

0x04 HBase集群校验

1. 启动Hadoop与ZK集群

a. 查看进程(如有hadoop与zk进程,则不需执行b.c.步):

​~/jps_all.sh​

D005 复制粘贴玩大数据之安装与配置HBase集群_hbase_10

b. 在master上执行:

​$HADOOP_HOME/sbin/start-dfs.sh​

​$HADOOP_HOME/sbin/start-yarn.sh​

c. 三个节点上启动zk:

​source /etc/profile​

​zkServer.sh start​

ps:执行完b.c.步后再查看进程,发现a.的进程都有了

2. 启动HBase集群

a. 在master上执行:

​start-hbase.sh​

D005 复制粘贴玩大数据之安装与配置HBase集群_docker_11

遇到此问题:

解决:

将三个节点上HBase的配置文件conf/hbase-env.sh此两行注释掉即可:

​vi /usr/local/hbase-1.2.6/conf/hbase-env.sh​

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"

D005 复制粘贴玩大数据之安装与配置HBase集群_hbase_12

重新启动!

3. 查看进程

a. 表示安装成功:

​~/jps_all.sh​

D005 复制粘贴玩大数据之安装与配置HBase集群_docker_13

  • 思考题:目前只是查看到进程,而了解过HBase的小伙伴知道我们可以通过16010端口查看HBase的Web UI界面,然而我们在生成容器的时候并没有暴露16010端口出去,应该怎么做呢?!

0xFF 总结

  1. 出现的问题还是有点多,同志们遇到什么问题请评论,还有自己多谷歌把问题解决。
  2. 操作过程中有时候还会出现两个问题:

问题一:显示没有权限,保存不了编辑文件,退出重新连接就可以了。

解决方法一:

保存不了编辑文件,退出重新连接就可以了。

解决方法二:

断开前面XFtp软件的连接,重新执行。

问题二:复制文件到从节点的时候,出现22端口无法连接,显示没有权限。

D005 复制粘贴玩大数据之安装与配置HBase集群_安装_14

解决:

查看ssh服务状态(查看了slave2的):

​/etc/init.d/ssh status​

启动ssh服务:

​/etc/init.d/ssh start​

D005 复制粘贴玩大数据之安装与配置HBase集群_大数据_15

ps:hadoop-master、hadoop-slave1、hadoop-slave2三台机器都要开启!

作者简介:​邵奈一​

大学大数据讲师、大学市场洞察者、专栏编辑

公众号、微博、 :​​邵奈一​

本系列课均为本人:​​邵奈一​​原创,如转载请标明出处