1、准备三台虚拟机,一台用作namenode,另外两台用作datanode,一台datanode就体现不出集群了,所以最好三台。可以先装好一台,克隆出两台,再更改每台的配置。其实可以先在一台中装好jdk和hadoop,再克隆两台,初次安装的不建议这么做,应每台单独安装。最近项目繁忙,加班是家常便饭,用了三个晚上才安装好,整理此文档记录一下。
2、修改主机名:
hostname -----查看主机名
hostname master ----修改主机名,master为namenode的主机名,临时生效
vi /etc/sysconfig/network ----修改配置文件,重启生效
三台都要修改,两个datanode的名称可为slave1,slave2
3、修改ip,设置静态ip,可通过可视化界面操作
2、修改主机名:
hostname -----查看主机名
hostname master ----修改主机名,master为namenode的主机名,临时生效
vi /etc/sysconfig/network ----修改配置文件,重启生效
三台都要修改,两个datanode的名称可为slave1,slave2
3、修改ip,设置静态ip,可通过可视化界面操作
这里通过修改配置文件来更改ip,
配置文件在 /etc/sysconfig/network-scripts/ 这个目录下,ifcfg-eth0为第一台的,ifcfg-eth1为第二台的
vi /etc/sysconfig/network-scripts/ifcfg-eth0 注意箭头处的配置
配置完之后得重启网络服务,service network restart
修改三台机器的ip配置,注意DEVICE ,IPADDR.HWADDR这三个肯定不能相同(ip千万不能相同)
3、绑定ip和主机名,三台都得设置,保证ping 主机名时三台能互通
vi /etc/hosts
4、关闭防火墙,三台都要关闭
service iptables status ---查看防火墙状态
service iptables stop --关闭防火墙
chkconfig --list | grep iptables ---查看防火墙自动启动情况
chkconfig iptables off ----关闭自动启动
5、免密码登陆:
进入到/root目录下的./ssh目录下
产生秘钥:ssh-keygen -t rsa 敲几个回车
查看文件: ls 看到id_rsa和id_rsa.pub两个文件
cp id_rsa.pub authorized_keys
authorized_keys文件位于 ~/.ssh目录下
验证:ssh localhost
验证:ssh localhost
vim /etc/ssh/sshd_config
service sshd restart ---重启SSH服务
master服务器无密码登陆到slave1和slave2
http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
免密码登陆要做到master——>slave1,master——>slave2,slave1——>master,slave2——>master
在master中
ssh slave1
ssh slave2
在slave1中
ssh master
在slave2中
ssh master
首次登陆会要求输入密码,但之后就不用了,就说明免密码登陆设置成功了
免密码登陆这步非常重要,详细步骤见本人另外一篇博客
6、安装JDK,三台都要安装,这个步骤就不说了
验证:java -version
7、安装Hadoop ,这个将安装包下载下来解压,配置下环境变量就可以了,也不说了
不会的可单独研究下
验证:hadoop -version
8、在hadoop根目录下创建tmp目录,我的路径是 /usr/local/hadoop/tmp
9、修改配置文件
第一个配置文件:hadoop-env.sh
修改内容为:
也就是配上jdk的目录
第二个配置文件:core-site.xml
tmp目录为上一步创建的目录;
192.168.100.100为master的ip,设置主机名更合理
第三个配置文件:hdfs-site.xml
如果这个值不设置,如果slave少于3台就会报错,该值设置的是数据副本数量
第四个配置文件:mapred-site.xml
此ip为master的ip,也可设置为主机名
这四个配置文件中ip的设置都为master的ip
第五个配置文件:masters
去掉localhost,改为master的ip地址
第六个配置文件:slaves(master节点特有)
添加所有slave的ip,每行一个
10、启动及验证:
首次启动需要格式化:hadoop namenode -format
如果执行第二次会报错,删除所有master和slave下的tmp目录下的文件后可再次格式化
执行后会再倒数几行看到has been successfully formated的信息,说明格式化成功
启动:start-all.sh
验证:在master节点上执行 jps ,看到
在slave节点上执行jps,看到
说明namenode和datanode已启动
查看hadoop集群状态:hadoop dfsadmin -report
master中:(图不全),可以看到两个datanode
网页查看集群:http://192.168.100.100:50030
访问:http://192.168.100.100:50070