fedora 15 部署hadoop 0.21 全分布式模式 1namenode 2datanode

本文主要参考有 

  1. http://wenku.baidu.com/view/92cbe435eefdc8d376ee32eb.html
  2. http://bbs.chinacloud.cn/showtopic-3564.aspx
  3. http://www.hadoopor.com/archiver/tid-405.html
在此表示感谢!
准备工作
文中出现名词介绍
  • alex,用户名,3台机器用户名一致
  • master,namenode主机名
  • slave[1-N],datanode主机名
1 安装系统,参考 http://blog.csdn.net/sunshine_okey/article/details/7010574
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,添加如下
master

9 配置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和掩码确认一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值