从零开始搭建HBase分布式集群(虚拟机安装zookeerper3.4.10+Hadoop2.6.5+HBase1.2.11)

写在开头:本人从\不懂完全分布式HBase安装到成功搭建集群,基本是一步步跟着这位大佬https://www.jianshu.com/u/f3baddfa95fc

其他的一些参考地址:

https://www.jianshu.com/p/ad3c712e1d95

https://blog.csdn.net/qq_38586378/article/details/81352358

本博客主要是对在仿照大佬安装过程中自己遇到的一些问题的总结,希望日后能用到,之前参考的其它教程很多都有各种各样的问题,导致我跟着错了一天。。把大佬的步骤和自己遇到的错误总结下,下次好直接拿来用。相同的错误希望能提醒到各位童鞋。。

前面先记录下错误,各位仿照的时候注意下应该就没问题,亲测可用哦!

先放下hadoop和hbase的管理网站(按本文操作搭建成功后都能访问):

hadoop:

http://repo:50070(repo是NameNode)

http://node2:8088(Node2是RecourceManager,要执行start-yarn.sh才能访问)

hbase:

http://repo:16010

http://node1:16010

 

 

遇到的问题

  1. 关于HBase和jdk、Hadoop、zookeerper的版本对应问题,可以参考官方网站http://hbase.apache.org/book.html#configuration
  2. 环境变量的配置我是直接写在~/.bashrc里,没写到~/.bashrc里,避免重启后还要在source下,有时候启动hbase的时候卡住了不显示命令行。输入密码试试
  3. 虚拟机的克隆问题。虚拟机的制作完全可以按照这位大佬的教程来:在Windows中安装一台Linux虚拟机,注意编辑文件时候DEVICE可能不是eth0,因人而异。所以可以把它注释了, 不同的话还会出现无法重启网络的异常
  4. 但是在克隆的时候注意下。保存快照文件后,复制的时候出了问题。我刚开始和他的步骤一样,发现这样的话只有第一台虚拟机能ping外网,之后复制的都不行,原因是之后的虚拟机如果要能ping通外网的话必须要重新生成Mac地址,而又因为两个虚拟机相关联,所以一旦后者的Mac地址变了,就会导致第一台虚拟机不能上网了,所以最好还是完成克隆,并且克隆完成后一定要重新生成下Mac地址,步骤如下:

3. 因为是虚拟机之间的复制安装,所以时间是同步的,应该 可以省去他的时间同步这个步骤;

4. 集群的规划等等都和他的保持一致就行了,还有推荐安装xshell和xtfs6,前者可以轻松的在本地操作虚拟机,不用来回切换,后者可以方便的在本机和虚拟机之间传输文件。可以ping通win10的本机和外网后,就可以直接将虚拟机的ip地址作为xshell的地址就行了。

5.The authenticity of host 'repo (192.168.123.100)' can't be established.出现这个错误,后面提示文件找不到,是因为按照那个作者的解压命令有点问题,应该在路径下加入文件名。比如/hbase/1.tar.gz解压时最好在目标路径下加上1这个文件夹,不然会直接解压在外面,导致配置的文件路径是错的,所以会提示找不到。记得出错了一定要看logs文件夹下对应的日志,有针对的搜索解决方法。

6.按照大佬的完全分布式HBase安装时一定要注意rootdir的路径:对应自己的主节点名更改,如:hdfs://node1:9000/hbase。不然会一直出现HMaster和RegionServer闪退。一定要注意!

7.yarn jar (提供的jar包)测试一些功能时总是提示:19/03/04 22:12:49 INFO ipc.Client: Retrying connect to server: node2/192.168.123.102:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS),找了好久找不出问题,最后发现启动的步骤少了一步,一定要start-yarn.sh将RecourceManager启动。

7.最后一点,一定要注意环境变量配置时候是在root下还是普通用户下,因为二者的配置文件是不同的,还有如果提示找不到命令一般是,没有让环境变量的配置生效,记得source下。

 

把大佬的过程转下。。

环境准备


1. 集群规划

2. 安装步骤

(1) 把hbase安装包上传到集群中任一服务器中并解压

[hadoop@hadoop01 ~]$ tar -zxvf hbase-1.2.6-bin.tar.gz -C /opt/

(2) 修改hbase-env.sh配置文件

hbase的配置文件在HBASE_HOME/conf下

[hadoop@hadoop01 conf]# vim hbase-env.sh 

# 加入JAVA_HOME
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
# 指定不使用自带的zookeeper
export HBASE_MANAGES_ZK=false

(3) 修改hbase-site.xml配置文件

[hadoop@hadoop01 ~]$ vim hbase-site.xml

<configuration>
    <!--
    可以不配置,如果要配置,需要和zookeeper配置文件zoo.cfg中的dataDir指定的路径相同
    zoo.cfg中dataDir=/var/zookeeper
    那么:
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/var/zookeeper</value>
    </property>
    -->
    
    <!--指定hbase的数据在hdfs上存放的位置-->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://jed/user/hbase</value>
    </property>
    
    <!--指定hbase集群为分布式集群-->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    
    <!--指定zookeeper集群-->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
</configuration>

(4) 新建backup-masters文件,并做修改

[hadoop@hadoop01 conf]$ vim backup-masters

# 添加备用hbase-master
hadoop02

(5) 修改regionservers配置文件,加入RegionServer节点列表

[hadoop@hadoop01 conf]$ vim regionservers

# 默认有一行localhost,删除
hadoop01
hadoop02
hadoop03
hadoop04

(6) 把hadoop的配置文件core-site.xml和hdfs-site.xml复制到hbase的配置文件目录下

[hadoop@hadoop01 conf]$ cp /home/hadoop/apps/hadoop-2.7.4/etc/hadoop/core-site.xml ./
[hadoop@hadoop01 conf]$ cp /home/hadoop/apps/hadoop-2.7.4/etc/hadoop/hdfs-site.xml ./

(7) 把hbase安装目录分发给其他节点

[hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop02:`pwd`
[hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop03:`pwd`
[hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop04:`pwd`

(8) 在全部节点的环境变量配置文件中加入HBASE_HOME

3. 启动集群

(1) 首先启动zookeeper集群

zkServer.sh start

(2) 然后启动HDFS集群

start-dfs.sh

(3) 最后启动hbase集群

[hadoop@hadoop01 ~]$ start-hbase.sh

6. 测试

(1) 查看进程启动情况

 

如果有节点相应的进程没有启动,那么可以手动启动

  • hbase-daemon.sh start master
  • hbase-daemon.sh start regionserver

(2) 访问WEB页面进行验证

 

(3) 测试是否可以进入hbase命令行

至此,hbase完全分布式集群搭建成功!



作者:CoderJed
链接:https://www.jianshu.com/p/0cbe9397abaa
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值