Hadoop完全分布式模式的安装和配置
一、建立hadoop运行账号(all/root) VMware虚拟机准备3台机器,网络连接方式使用host-only 192.168.80.100 hadoop100 (用做namenode) 192.168.80.101 hadoop101 192.168.80.102 hadoop102 修改ip信息, 因为我的虚拟机安装时选择的是host-only, 我的网管就设置成了我的windows下的虚拟网卡的地址。 血与泪的教训,千万不要设置成 hadoop_100这样的主机名及host 查看主机名hostname 修改主机名hostnamehadoop100 hostnamehadoop101 hostnamehadoop102 不过hostname命令,服务一重启就又会被还原为localhost 修改配置文件 vi /etc/sysconfig/network hostname=hadoop100 ... 重启一下网络service network restart 验证reboot -h now 立刻重启 然后hostname 关闭已经启动的防火墙: service iptables stop (只能关闭当前) 验证:service iptables status Firewall is not running 关闭防火墙开机自动启动功能: 1. 先查看 查看: chkconfig --list |grep iptables 2. 关闭chkconfig iptables off 验证:chkconfig --list |grep iptables 192.168.80.100 hadoop100 [root@localhost local]# cd /usr/local [root@localhost local]# ./jdk-6u24-linux-i586.bin解压jdk后,生成jdk1.6.0_24文件夹 [root@localhost local]# vi /etc/profile在空白处加上下面两行 export JAVA_HOME=/usr/local/jdk1.6.0_24 然后保存退出。 [root@localhost local]# source /etc/profile使新修改的环境变量生效。 验证: java -version tar -zxvf /home/hadoop/hadoop-1.1.2.tar.gz 修改 export JAVA_HOME=/usr/local/jdk1.6.0_24 master : 分发hosts到其他机器(root用户) scp -r /etc/hosts root@hadoop101:/etc/ 分别执行source /etc/profile 在hadoop100,hadoop101, hadoop102的hadoop用户下 十一、启动hadoop(namenode/hadoop)
二、配置hosts文件(namenode/root)
三、下载并解压jdk(namenode/root)
四 下载并解压hadoop安装包(namenode/hadoop)
五、为hadoop账户配置ssh免密码连入(all/hadoop)
六、配置hadoop-env.sh(namenode/hadoop)
七、conf文件夹下修改site文件(namenode/hadoop)
八、conf文件夹下配置masters和slaves文件(namenode/hadoop)
九、向各节点复制jdk及hadoop(namenode/hadoop)
十、格式化hdfs(namenode/hadoop)
十一、启动hadoop((namenode/hadoop))
十二、用jps检验各后台进程是否成功启动(all/hadoop)
</span>
0. 设置静态IP&修改主机名&关闭防火墙(all-root)
0.1 可以先维护一下ip. 分别登陆到3台机器
0.2修改主机名
0.3关闭防火墙
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off一、建立hadoop运行账号(all-root)
</div>
二、配置hosts文件(namenode-root)
192.168.80.101 hadoop101
192.168.80.102 hadoop102
</div>
四、下载并解压jdk(namenode-root)
把jdk解压到/usr/local/ 文件夹
export PATH=.:$JAVA_HOME/bin:$PATH
五、下载并解压hadoop安装包(namenode-hadoop)
5.1 解压后生成文件夹 hadoop-1.1.2
5.2 如果hadoophome不放在 hadoop用户目录下, 也可以通过赋权限,来让hadoop用户可以操作hadoop-1.1.2文件夹
chgrp -R hadoop /usr/local/hadoop-1.1.2/
</div> 5.3 设置Hadoop环境变量
修改为
export JAVA_HOME=/usr/local/jdk1.6.0_24
export HADOOP_HOME=/home/hadoop/hadoop-1.1.2
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
六、配置hadoop-env.sh(namenode-hadoop)
七、conf文件夹下修改site文件(namenode-hadoop)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop100:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-1.1.2/tmp</value>
</property>
</configuration>
2、hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
3、mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop100:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
八、conf文件夹下配置masters和slaves文件(namenode-hadoop)
hadoop100
slave:
hadoop101
hadoop102
九、向各节点复制jdk及hadoop(namenode-hadoop)
scp -r /etc/hosts root@hadoop102:/etc/
分发java(root用户)
scp -r /usr/local/jdk1.6.0_24 root@hadoop101:/usr/local/
scp -r /usr/local/jdk1.6.0_24 root@hadoop102:/usr/local/
分发环境变量/etc/profile(root用户)
scp -r /etc/profile root@hadoop101:/etc/
scp -r /etc/profile root@hadoop102:/etc/
分别验证: java -version
ping hadoop101
ping hadoop100
ping hadoop102
分发hadoop(切换为hadoop用户,可以免密码)
su hadoop
scp -r/home/hadoop/hadoop-1.1.2hadoop@hadoop102:/home/hadoop/
scp -r/home/hadoop/hadoop-1.1.2 root@hadoop102:/home/hadoop/
十、格式化hdfs(namenode/hadoop)
执行命令 hadoop namenode -format
都有提示 Storage directory /home/hadoop/hadoop-1.1.2/tmp/dfs/name has been successfully formatted.
才证明成功
在hadoop100 上执行 start-all.sh十二、用jps检验各后台进程是否成功启动(all/hadoop)
来自:http://blog.csdn.net/itleochen/article/details/16921519