Fedora 15 部署Hadoop 0.21 全分布式模式 1namenode 2datanode
本文主要参考有
文中出现名词介绍
- alex,用户名,3台机器用户名一致
- master,namenode主机名
- slave[1-N],datanode主机名
2 设置ip地址,3台机器最好是局域网里,在同一网段,
3 修改主机名,添加三台机器的ip及主机名
- #vi /etc/sysconfig/network //修改HOSTNAME=XX
- #vi/etc/hosts //把默认的机器名localhost localhost.localhostlocalhst改为XX
- //并按照"ip 主机名 域名"格式添加ip地址和主机名的映射表,3台机器都要添加
- //本人的配置为 xx.xx.xx.xx alex alex
- #reboot //修改后重启机器
本人主机名分别为,master作为namenode,slave1,slave2作为datanode
4 关闭防火墙
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp-p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp-p tcp --dport 22 -j ACCEPT
先用1),再用2)
5 开启ssh,实现master到slave1,slave2的无密码登录
6 安装jdk1.6以上,并指定JAVA_HOME
上面是前期准备工作,以下正是开始部署Hadoop,所有节点配置方式相同,所以这里我们只是配置master一台,然后再把配置后的文件直接复制到其他节点上
7 解压hadoop程序到当前用户目录,并建立连接,同时在/etc/profile环境变量中添加HADOOP_HOME=hadoop目录
- tar -zxvf hadoop-0.21.0.tar.gz
- ln -s hadoop-0.21.0 hadoop
8 进入hadoop/conf中,修改slaves
去掉localhost,添加如下
- slave1
- slave2
修改master
去掉localhost,添加如下
配置hadoop
修改core-site.xml
core-site.xml中在<configuration></configuration>修中添加项如下:
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/alex/hadoop/tmp</value>
- </property>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://master:9000</value>
- </property>
修改hdfs-site.xml
这里修改的是文件存储时备份的数量,按照自己的要求来,默认为3个副本
修改mapred-site.xml
- <property>
- <name>mapreduce.jobtracker.address</name>
- <value>master:9001</value>
- <description>NameNode</description>
- </property>
10 复制已经配置后的文件到其他节点上
- [hadoop@master:~]$scp -r /home/alex/hadoop slave1:/home/alex/
- [hadoop@master:~]$scp -r /home/alex/hadoop slave2:/home/alex/
至此,部署完成
11 启动hadoop
进入hadoop/bin目录,然后
$./hadoop namenode -format //格式化文件系统
$./start-all.sh //启动系统
$./jps //查看启动情况
$./stop-all.sh //关闭
具体操作可以参考文档
常见问题
1 /home/alex/hadoop/bin/../bin/hadoop-daemon.sh:line 127: /tmp/hadoop-hadoop-namenode.pid: 权限不够
解决方案:
在hadoop-config中修改hadoop-env.sh,添加:exportHADOOP_PID_DIR=$HADOOP_HOME/run/tmp。改变pid的路径。3台机子一块改。
在/etc中修改profile,添加:export HADOOP_PID_DIR=$HADOOP_HOME/run/tmp,同样,改3台机子。
重启
2 “No route to host”
主要两个:
1、防火墙挡住了,可以关闭iptable
2、网段不同,没有路由信息,可检查IP和掩码确认一下
相关推荐
86477414 2020-03-07
86417413 2020-11-25
星愿心愿 2020-11-24
89612310 2020-11-09
rikeyone 2020-11-04
一路到黑 2020-10-30
89437401 2020-10-29
tianyayi 2020-08-16
83911930 2020-07-28
89612310 2020-07-27
CNxuwang 2020-07-20
86477414 2020-06-28
TuxedoLinux 2020-06-17
87354452 2020-06-10
行万里 2020-06-09
jLawrencee 2020-05-19
songxiugongwang 2020-03-07
hahhah0 2020-05-08