有写的不对的地方,欢迎各位同学评论指正,博主会进行修改。
作者也是初学hadoop,了解各组件的用途,并且项目中有些东西用不到,所以作者用最简化的组件搭建,避免多余资源的浪费,作者最初构想是zookeeper+hdfs搭建一个分布式文件系统,不用yarn和mapReduce,但是由于双机热备需要一个共享资源的目录,所以还是用到了yarn的journalnode。后续会进行详细说明。
作者会针对每一步进行详细说明以及原理解释,还有作者踩过的坑进行说明,不敢兴趣的同学可直接跳过,按步操作也能搭好。
本文中所有组件是用的CDH5.11组件,单独下载,之所以不用CDH安装,是因为,一是为了学习,基础学习才是王道,况且项目需要,hadoop后期需要活用,hadoop学习是必经之路,绕道去学CDH有些浪费时间。二是因为自身发展,计算机之道,学杂了对自身没好处,学习CDH对于作者规划方向帮助不大。三是,作者也曾经常常为了偷懒干活,写过不少简化工作的小工具,其中还有植入后门安装,而CDH虽然主流,它本身的出现就为了用户不用详细理解hadoop而能完成安装的工具,所以作者本能有些抵触使用别人写的工具。废话不多说,下面是作者本次搭建版本。
为了简化说明,下文开始,zookeeper简称ZK,namenode简称NN或nn,datanode简称dn或DN,jouralnode简称JN,secondaryNameNode简称SNN,都是一些主流叫法。
虚拟机----VMware
操作系统 红帽7(red hat 7)
节点说明:三节点,分别为node1,node2,node3。ip分别为,192.168.163.131、192.168.163.130、192.168.163.132(其中:1、node1和node2分别作为NN和DN,node3仅仅作为DN。2、ZK和JN三个节点都有。3、node1和node2上都有SNN,并且互相作为对方的备份,不作为自己的)
zookeeper 3.4.5版本,对应CDH5.11
hadoop 2.6版本,对应CDH5.11
对应CDH版本一致,就不用担心版本兼容问题啦!哈哈哈,作者是不是很狡猾。
2、主机名配置
在我另一篇文章有记载:http://blog.csdn.net/m0_37590135/article/details/73546534
3、ssh免密登录
集群配置所必须的,为了让节点间主节点每次去从节点取数据登录时,不用输入密码,这也在我的另一篇文章有记载,稍后会给出链接
4、zookeeper集群搭建
我另一篇文章也详细介绍了搭建过程:http://blog.csdn.net/m0_37590135/article/details/74024929
5、hadoop集群搭建----即hdfs集群搭建
5.1、下 载
下载地址:https://archive.cloudera.com/cdh5/cdh/5/
5.2、安装
解压安装到指定目录下。tar -zxvf 文件名
5.3、环境变量设置
为了方便后续操作,我们把hadoop安装目录下的bin和sbin一起写入环境变量。使得引用hadoop脚本时候不用给出全路径
[root@node1 local]# vi /etc/profile
5.4、原理说明
下图是zkfc选举以及切换原理: