前言
大数据实在是太热,一直对新技术充满着向往,其实hadoop也不是新技术,已经好几年了。打算学习,一下hadoop整个生态圈的内容。这篇文章介绍一下环境搭建,自己搭环境摸索了好几天连着,终于搭建完成,记录一下。并share一下,如果哪天你也需要,大家一起共勉。在这希望我能认认真真写完每一篇博客,坚持一直写。
——chaosju
环境+工具准备
大数据实在是太热,一直对新技术充满着向往,其实hadoop也不是新技术,已经好几年了。打算学习,一下hadoop整个生态圈的内容。这篇文章介绍一 下环境搭建,自己搭环境摸索了好几天连着,终于搭建完成,记录一下。并share一下,如果哪天你也需要,大家一起共勉。在这希望我能认认真真写完每一篇 博客,坚持一直写。
1.vmare虚拟机
2.xshell or secureCRT
3.JDK1.6 或者 1.7 -------不建议1.8
4.centos的iso
5.安装ssh
6.hadoop2.5.2
download:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
download:http://hadoop.apache.org/releases.html#19+November%2C+2014%3A+Release+2.5.2+available
7.zookeeper-3.4.6.tar
download:http://www.apache.org/dyn/closer.cgi/zookeeper/
注意:apache提供的hadoop-2.5.2的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装hadoop-2.5.2就需要重新在64操作系统上重新编译(建议第一次安装用32位的系统)。
编译教程:http://blog.csdn.net/ggz631047367/article/details/42460589
64位hadoop2.5.2下载地址:http://pan.baidu.com/s/1kTnIeLT
hadoop搭建环境准备步骤 像虚拟机安装,xshell的安装使用,就不在这说了。直说一点,我搭建完全分布式,用到4台虚拟机,不要一台一台安装,用vwware的克隆功能,例如你的jdk已经搭建完成,就可以克隆了。
现在4台虚拟机已经安装好了假设。搭建环境真正的开始。
0.如果你其中3台虚拟机用的VMware克隆,需要保证ip能够自动获取,做以下修改。其中克隆的主机需要修改
克隆之后的操作系统需要重新分配MAC地址 a、vi /etc/sysconfig/network-scripts/ifcfg-eth0 (网卡信息) 将该文件中删除两行:UUID和物理地址 b、删除rm -rf /etc/udev/rules.d/70-persistent-net.rules 文件 c、重启 init 6 或reboot
修改上述操作完成,执行ifconfig能够看到etho的ip,和新的mac地址
ifconfig
1.修改Linux主机名 ,4台主机全部修改
vim /etc/sysconfig/network
修改每台主机的hostname,我的命名是node1、node2、 node3、node4
2.修改IP(可选)改成固定ip,4台主机全部修改
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #修改 BOOTPROTO=static IPADDR=192.168.239.6 #(该IP即为设置的固态IP) NETMASK=255.255.255.0 GATEWAY=192.168.239.2
3.修改主机名和IP的映射关系,4台主机全部修改
vim /etc/hosts
验证:分别在每台主机上ping 别的主机的hostname,不是ip验证配置正确
4.关闭防火墙
关闭防火墙,重启还是自动重启service iptables stop永久关闭,建议永久关闭 chkconfig iptables off 查看防火墙关闭状态service iptables status
5.ssh免登陆
配置node1到node1-4的ssh免登陆 node1上执行 ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub node1:~/.ssh/ scp ~/.ssh/id_rsa.pub node2:~/.ssh/ scp ~/.ssh/id_rsa.pub node3:~/.ssh/ scp ~/.ssh/id_rsa.pub node4:~/.ssh/ node1-node4都要执行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 配置node2到node1的免登陆 ssh-copy-id -i node1
验证:ssh node*,第一次需要输入密码。之后就不需要了
6.安装JDK,配置环境变量等
这个我就不说了,自己百度吧
集群规划
说明:你对hadoop的架构有一定的了解,不了解也没事,先搭起来再看
1. namenode(NN) node1、node2
2. datanode(DN) node1、node2
3. zookeeper(ZK)node1、node2、node3
3. DFSZKFailoverController(ZKFC)node1、node2
3. JournalNode(JN)node2、node3、node4
3. ResourceManager(RM)node1
3. DataManager(DM)node2、node3、node4
安装部署zookeeper和hadoop 一、zookeeper安装配置zookeeper集群
1、node1上解压
tar -zxvf zookeeper-3.4.6.tar.gz ln -sf /root/zookeeper-3.4.6 /home/zk
2、node1上修改配置
node1上进行: cd /home/zk/conf/ cp zoo_sample.cfg zoo.cfg vim zoo.cfg 修改:dataDir=/opt/zookeeper 在最后添加: server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888 然后创建一个tmp文件夹 mkdir /opt/zookeeper 再创建一个空文件 touch /opt/zookeeper/myid 最后向该文件写入ID echo 1 > /opt/zookeeper/myid
3、将配置好的zookeeper拷贝到node2、node3)
将node1上zookeper的安装文件copy到node2和node3 scp -r /home/zk/ node2:/root scp -r /home/zk/ node3:/root node2: ln -sf /root/zk /home/zk node3: ln -sf /root/zk /home/zk 将node1上zookeper的配置文件copy到node2和node3 scp -r /opt/zookeeper/ node2:/opt scp -r /opt/zookeeper/ node3:/opt 注意:修改node2、node2对应/opt/zookeeper/myid内容 node2: echo 2 > /opt/zookeeper/myid node3: echo 3> /opt/zookeeper/myid