hadoop、zookeeper、hbase完全分布式安装

卡了半个月的事,还是要记录一下才对得起呢。

介绍一下,我的是三台学生服务器,两台位于腾讯云、一台位于阿里云。三台都是centos7的!!

在安装之前,先对自己的服务器ip进行配置。这里要写清楚,特别对我这种服务器小萌新。

首先先把各个服务器的hostname改为hadoop0x。

在第一个节点上编辑:

vim /etc/hostname

在这里插入图片描述
在第二个节点上编辑:

vim /etc/hostname

在这里插入图片描述
第三第四都是这样做。
改好之后要重启,看到每台服务器显示的名字都变为所改名称即可,如下图。
在这里插入图片描述

开始编辑各个服务器的ip。

在每个服务器上:
vim /etc/hosts

在这里插入图片描述
如图,127那些可以不用删掉,对我来说,没影响。
如果你目前编辑的服务器是hadoop01,
那么你要写成:(此时hadoop01的ip必须是内网的ip!!!)

hadoop01的内网ip   hadoop01
hadoop02的外网ip   hadoop02
hadoop04的外网ip   hadoop04

接下来编辑hadoop02的hosts,
那么你要写成:(此时hadoop02的ip必须是内网的ip!!!)

hadoop01的外网ip   hadoop01
hadoop02的内网ip   hadoop02
hadoop04的外网ip   hadoop04

接下来编辑hadoop04的hosts,
那么你要写成:(此时hadoop04的ip必须是内网的ip!!!)

hadoop01的外网ip   hadoop01
hadoop02的外网ip   hadoop02
hadoop04的内网ip   hadoop04

因为上面我只用了1、2、4三台服务器,所以每台服务器上只加了三条语句。
保存修改。

开启防火墙(必须!)

千万不能关闭防火墙!!!!!

关掉防火墙之后,zookeeper集群会特别不稳定,因为有很多访问我们服务器的进程一直占用端口,导致zookeeper节点之间经常断连接!!!!(血的教训,我卡了一两周在这里,才找到原因)

防火墙命令指南

首先开启防火墙:
systemctl start firewalld
然后开机自动启动防火墙:
systemctl enable firewalld.service

这是我三台服务器已开启的端口:
主节点:
主节点
3306/tcp 80/tcp 8080/tcp 6666/tcp 9000/tcp 50070/tcp 9870/tcp 10020/tcp 19888/tcp 8088/tcp 2888/tcp 3888/tcp 2181/tcp 9866/tcp 16000/tcp 16010/tcp 8031/tcp

两个从节点:

在这里插入图片描述
80/tcp 6666/tcp 3888/tcp 9866/tcp 2181/tcp 16020/tcp 2888/tcp

在这里插入图片描述
2888/tcp 3888/tcp 2181/tcp 9866/tcp 16020/tcp

可以跟着我这里开启的端口一个一个开,如果不想的话,可以日后跟着报错日志,慢慢开端口。

示范(开启8080端口):
firewall-cmd --zone=public --add-port=8080/tcp --permanent
开启之后必须重启防火墙!!!
firewall-cmd --reload
可以使用下面语句查看端口是否开启:
firewall-cmd --zone=public --query-port=8080/tcp

在腾讯云和阿里云上面配置安全组规则

开启端口之后,必须必须必须要修改安全组规则!!!!
在这里插入图片描述
如上图,这是我腾讯云上面的安全组规则。
首先是添加两条新规则,这两条规则的接入ip分别是另外两个节点的外网ip。而且,为了方便,我把端口都写成all。
其次,点击上面的一键放通,让服务器能够连接自己的端口。

在这里插入图片描述

上图是我的阿里云,为了方便,我开放了所有端口。

因为我当初选的是轻量级应用服务器,如果选的其他服务器,请参考阿里官网对于安全组规则的介绍。

接着安装hadoop。

我给大家推教程,但是请注意!!!

前三步不用做!第一步是虚拟机做的,我们是服务器。第二步我前面已经写了。第三步特别特别不要做!!!!上面已经说过了。
在这里插入图片描述
先给大家jdk的压缩包,跟着下面hadoop3安装教程做即可,千万不要选错压缩包!!!!

jdk下载链接
用jdk-8u181-linux-x64.tar.gz!!其他版本也行,只要不报错就行。

注意:第二大标题下面的第四小点,开始编辑yarn-site.xml文件。里面有地方写的不准确,如下图红框框,应该改成hadoop01:8088,而不是hadoop01/192.168.44.5:8088,帖主应该是想说明用hadoop01或者直接用内网的ip都是可行的。不过我还是建议使用hadoop01!!复制粘贴但不仔细看的伙伴注意了!!!!
在这里插入图片描述
这是我一直用的hadoop3安装教程

除了前三步,其他的都要一步一步跟着做!不能漏,不能错!

然后安装zookeeper

等下我再推教程,先看注意事项!!!
注:下载链接没用了,第一步也不用做,我们上面已经做了!!
在这里插入图片描述
这个是我找到的zookeeper下载地址:

zookeeper下载地址
最好选择3.4.12版本!!压缩包也不要选错!是tar.gz结尾!

注意下面的安装教程,第三步解压压缩包应该是写错了,我一直是用tar -zxvf 压缩包名解压!!!

注:做完第三步就不要做了,第四步,他写的不对!
在这里插入图片描述
教程如下:
zookeeper安装教程

做完第三步,作如下操作:

(我是安装在/usr/local/路径下的)
cd /usr/local/
在每台服务器上启动zookeeper(注:一定要每台服务器都要启动zookeeper):
./zookeeper/bin/zkServer.sh start ./zookeeper/conf/zoo.cfg
然后可以在每台服务器上检查启动情况(有的连接很慢,需要等好几分钟才连接成功):
./zookeeper/bin/zkServer.sh status ./zookeeper/conf/zoo.cfg

如果提示“Error contacting service. It is probably not running.”,莫慌!!
先jps看一下:
在这里插入图片描述
如果看到每台服务器都有QuorumPeerMain进程存在,那就得再等好几分钟。因为三个节点之间建立连接可能会很慢!!我一般都要等5分钟左右。才会有如下连接成功的情况(下面这张是leader的截图,follower的截图我就不发了):
在这里插入图片描述

如果等了好久都没有显示如上图的信息,记得去看日志。如果你是在/usr/local/装的zookeeper,并且没有在zoo.cfg里面写logs的位置,而且跟我一样是用./zookeeper/bin/zkServer.sh start ./zookeeper/conf/zoo.cfg开启的zookeeper,那么zookeeper.out这个日志就会保存在/usr/local/路径下。也就是说,你在哪个路径下启动的zookeeper,那么日志就保存在哪个路径下。

连接好之后,如果时间充裕,建议大家放一个晚上看看,第二天看看zookeeper集群是否会断掉。我的zookeeper集群链接几天都没有断掉~

注意:这里再多嘴一下,如果不开防火墙,就算如上图已经建立连接,但也会很快断掉!!!!因为服务器日志上面写着会有很多访问我们服务器的请求,会占用我们的端口,一旦占用,我们zookeeper节点之间通信就可能会断掉,导致zookeeper集群很不稳定!!!这是血的教训!!血的教训!!血的教训!!!!!!!

接下来装hbase

我用的是2.3.3版本 的hbase,但是没有链接了。

大家用2.3.4吧~
hbase-x.x.x-bin.tar.gz
一定是bin的!!一定是bin的!!一定是bin的!!千万千万不能选错!!
hbase2.3.4版本下载
注意:前面那个配置ip就不用了做了,我们做过了。下面的安装教程的解压部分也写错了,我一直用的是 tar -zxvf 压缩包名 解压!!!可以看一下最前面的关于版本兼容问题。
在这里插入图片描述
还有前面这一列数字是不需要的!
在这里插入图片描述

教程如下:
hbase安装教程

跟着仔细做即可。

推的教程里面,有很多路径要修改成自己的路径!!!

疑难解答

装完之后,hbase shell进去之后,我使用list指令可以正常运行,但是使用create指令就报错:
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

注意:做之前记得关掉hbase!!
解决方法如下:
Master is initializing解决方法

重启hbase,list和create指令都没问题!!

啊啊啊啊啊!!!做了半个月!!!!!!

有问题@我,虽然我可能不怎么在线~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值