VMware虚拟机上centOS环境下hadoop的分布式配置

老师让配置hadoop分布式集群环境,搞了好久也没搞出来,伪分布式也出现好多次问题,万幸终于解决。特此贴出配置方法,以备以后重新配置。文章内容过于寒酸,既没有插图也没有详细介绍某些地方,如果有有问题的网友,欢迎留言讨论。方法来源:ITcast相关教学视频,特此表示感谢。

1、  VMware安装centos,网卡模式选择VMnet8,进入系统后设置IP,按照“虚拟网络编辑器”中所显示,IP设置成起始IP后面一个,DNS设置成网关IP。或者命令行vi /etc/sysconfig/network-scripts/ifcfg-eth0修改。设置完成后,sudo service network restart重启网络服务。

2、  修改图形界面:sudo vi /etc/inittab,将5改成3。

3、  将hadoop添加到sudo里面:root身份vi /etc/sudoers,添加hadoop   ALL=(ALL)   ALL。

4、  修改主机名:sudo vi /etc/sysconfig/network

5、  修改映射关系:sudo vi /etc/hosts

6、  安装jdk:先创建一个app文件夹,mkdir app/。解压,tar –zxvf jdk.tar.gz –C app/。配置环境变量,vi /etc/profile,在最后添加export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585;export PATH=$PATH:$JAVA_HOME/bin。然后source /etc/profile。

7、  安装hadoop:解压,tar –zxvf hadoop2.4.1.tar.gz –C app/。在hadoop2.4.1/share下删除doc文件夹。配置hadoop,在hadoop2.4.1/etc文件夹下,

修改hadoop-env.sh,export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65。

修改core-site.xml,<property>

                            <name>fs.defaultFS</name>

                            <value>hdfs://Master:9000/</value>

                            </property>

                            <property>

                            <name>hadoop.tmp.dir</name>

                            <value>/home/hadoop/app/hadoop-2.4.1/data/</value>

                            </property>

修改hdfs-site.xml,<property>

           <name>dfs.replication</name>

                            <value>1</value>

                            </property>

修改mapred-site.xml,先修改名字,mv mapred-site.xml.template mapred-site.xml

           <property>

                            <name>mapreduce.framework.name</name>

                            <value>yarn</value>

                             </property>

修改yarn-site.xml,<property>

                            <name>yarn.resourcemanager.hostname</name>

                            <value>Master</value>

                            </property>

                            <property>

                            <name>yarn.nodemanager.aux-services</name>

                            <value>mapreduce_shuffle</value>

                            </property>

修改slaves,将localhost改为Master,下一行再添上其他节点Slave等。

添加环境变量,vi /etc/profile,export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1; export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin。刷新source /etc/profile。

8、  关闭防火墙:sudo service iptables stop

   关闭防火墙开机启动:sudo chkconfig iptables off

9、  格式化namenode:hdfs namenode –format

10、启动hadoop:先启动hdfs,start-dfs.sh;再启动yarn,start-yarn.sh。

11、配置ssh免密登陆:在Master上,ssh-keygen –t rsa,cd .ssh,进入.ssh文件夹,将id_rsa.pub复制到Slave上,scp id_rsa.pub Slave:/home/hadoop。在Slave上,进入.ssh文件夹,创建authorized_keys文件,touch authorized_keys。修改文件权限,chmod 600 authorized_keys。将id_rsa.pub公钥添加到authorized_keys尾部,cat ../id_rsa.pub >> ./authorized_keys。这样Master便能免密登陆Slave了。再对Master设置ssh登陆。在.ssh文件夹创建authorized_keys文件,修改文件权限,然后将id_ras.pub添加到authorized_keys尾部,cat id_rsa.pub >> authorized_keys。这样就不用输密码启动hdfs了。

12、VMware镜像克隆之后,IP和mac地址是一样的,默认使用的是eth1网卡。编辑网卡设备,sudo vi /etc/udev/rules.d/70-persistent-net.rules,将eth1的mac地址记录下来,然后删除eth1,并将eth0的mac地址修改。然后sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0修改IP和mac。保存后重启网络服务。

13、如果hadoop版本和centos版本不同,需要sudo vi /etc/profile,在最后添加export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native;export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"。

14、VMware安装centos镜像后,如果不能用hadoop用户名登陆,就以root身份登录,然后增加hadoop用户,useradd hadoop,再修改密码,passwd hadoop。

注意:32位的hadoop运行在64位系统上会出现问题,所以需要统一位数。但是官网下载的hadoop都是32位版本,所以如果系统是64位,需要自己进行hadoop的编译,具体方法本文不赘述。实际上很麻烦,如果可以的话,最好还是直接从网上找别人已经编译过的64位版本。

posted on 2015-11-17 20:48  做人莫邋遢  阅读(226)  评论(0)    收藏  举报

导航