分布式系统学习:Hadoop集群部署(1)

来源:互联网 发布:swift 源码下载 编辑:程序博客网 时间:2024/04/30 11:48


·部署环境

硬件资源:三台虚拟机(VMwave 9)    

操作系统:CenOS 7.0-64Bit    

软件资源:Hadoop 1.0.4 、JDK1.6.0_38  

工具:secureCRT 7.0.0、Core FTP LE 2.2

·准备工作

1)确保Linux操作系统配置完成FTP,可通过FTP从window操作系统向其传输文件。本人配置vsftp通过Core FTP LE 2.2向Linux发送文件。

2)为三台虚拟机分配IP地址,这里采用的网络连接模式为


这样选择是为了在远端的本地服务器上运行这三台虚拟机,避免在自己电脑上操作三台虚拟机使得电脑变得非常卡。

这时三台虚拟机的IP地址分别为 :

hadoop01

172.23.11.55

hadoop02

172.23.11.56

hadoop03

172.23.11.57

接下来通过 secureCRT登录到hadoop01,将其配置为namenode节点,这也是本篇博文将要解决的问题。

·配置节点

1) 创建一个hadoop用户


2)为hadoop用户设置密码


3)  创建hadoop用户目录,用于hadoop集群的数据与计算应用


4)修改机器名,此时机器名为localhost.localdomain,这里我们修改为namenode的主机名:hadoop01

为了永久改变,需要修改/etc/sysconfig/network及/etc/hosts文件:


5)修改Linux内核参数提高集群性能,在文件/etc/security/limits.conf中添加标注的部分:


在文件/etc/security/limits.d/20-nproc.conf中添加:


在文件/etc/sysctl.conf中添加:


检测结果为:


6)关闭防火墙(centOS 7使用的防火墙为firewalld,代替了iptables):


可以看出,iptables未运行,所以要关闭防火墙必须将关闭firewalld(disables firewalld使得其开机不启动):


7)使用hadoop账户登录,修改环境变量:


增加了标注部分的内容:

exportJAVA_HOME=/opt/hadoop/java/jdk1.6.0_38

exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

exportHADOOP_HOME=/opt/hadoop/hadoop/hadoop-1.0.4

exportPATH=/usr/sbin:$PATH

export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin:$PATH

8)使用Core FTP LE上传 到/opt/hadoop目录,确保目录下的所有文件所属组和用户为hadoop:hadoop,建议如下操作以确保这点:


9)修改程序可执行的权限:


10)查看环境变量是否配置成功:

11)修改hadoop01的hadoop配置文件,删除/opt/hadoop/hadoop/hadoop-1.0.4/conf/hdfs-site.xml中dfs.name.dir的外部存储位置(本次部署没有用到外部存储设备),只留下了标注部分:


修改/opt/hadoop/hadoop/hadoop-1.0.4/conf/mapred-site.xml文件中mapred.job.tracker的机器名(这里是hadoop01):


修改/opt/hadoop/hadoop/hadoop-1.0.4/conf/core-site.xml中fs.default.name的机器名为hadoop01:


并建立/home/hadoop/tmp文件夹用于hadoop文件夹(默认的路径在启动时清楚,所以namenode得重新格式化在启动)。

12)在hadoop01上面启动NameNode,JobTracker,datanode和tasknode:


13)jps查看结果:


14)格式化集群,确保标注中的——机器名正确、IP地址正确、初始化成功:


15)查看集群的状态


16)到此,hadoop的namenode节点配置成功,为检验结果,在web浏览器中输入http://172.23.11.55:50070会有这个页面出现:


·对出现错误的解决

1)jps后发现有未启动的进程,最常见的是namenode:


解决方法同下2)所述。

2)机器名不对:



解决方法为,root权限下更换机器名,然后在继续操作:


另外,由于centos 7与一样版本有所改变,可能导致在/etc/sysconfig/network中修改主机后,重启后还会变为localhost,所以每次系统重启后namenode节点还会无法启动或者格式化是host的直如上图一样。为了解决这个问题,我们可以在图形界面中如同window一样去修改机器名(该方法未验证,大家可以去试试),或者如下操作:


(修改后果未知,有不良结果望网友提醒)。

注:若网友在配置过程还有其他在这里未提的问题,请留言。

 

0 0
原创粉丝点击