安装环境为 CentOS 64位系统,
大概分下面几个步奏,
0. 安装JDK
1. 配置SSH
2. 配置/etc/hosts
3. 拷贝hadoop包到没台机器上
4. 修改hadoop配置文件
5. 关闭每台机器的防火墙
6. 格式化namenode
7. 运行hadoop
详细说每个步奏,
0. 安装jdk
下载JDK到每台机器上,解压后在.bash_profile中设置JAVA_HOME环境变量为JDK目录
1. 配置SSH
hadoop是master/slaver 结构,配置SSH使得从master上登陆每台slave 无需输入密码
使用 ssh-keygen -t rsa 产生key
拷贝 pub key 到目标机器 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. 配置/etc/hosts
修改每台机器上的/etc/hosts文件中的(ip,主机名)对,添加所有机器到hosts中,可以在master上修改完毕后scp到每台机器
如果是虚拟机主机,运行ifconfig命令会有类似下面这几行,
br0 Link encap:Ethernet HWaddr C8:1F:66:D0:9C:02
inet addr:192.168.5.149 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::ca1f:66ff:fed0:9c02/64 Scope:Link
这里面的地址也要写到hosts文件中。
3. 拷贝hadoop包到每台机器上
下载hadoop 2.2.0,拷贝到每台机器上,解压到相同的目录。目前官网上只有32位版本。我们自己编译的64位版本。
我们一般放在 ~/hadoop/ 目录下 比如: ~/hadoop/hadoop-2.2.0
修改每台机器的.bashrc_profile文件,加入HADOOP_HOME 环境变量为hadoop根目录
4. 修改hadoop配置文件
下面几个配置文件需要修改(相应的ip需要修改),hadoop2.2.0配置文件在etc/hadoop目录下,
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.5.121:9000</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.5.121:10020</value>
</property>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.5.121:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.5.121:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.5.121:8031</value>
</property>
5. 关闭每台机器的防火墙
sudo /etc/init.d/iptables stop
6. 格式化namenode
格式化之前添加所有子节点到主节点etc/hadoop/slaves 文件中,一行一个ip地址(这里不是很准确,并不一定是主节点那台机器)
cd $HADOOP_HOME
bin/hadoop namenode -format
7. 运行hadoop
启动hdfs:sbin/start-dfs.sh
启动yarn:sbin/start-yarn.sh
如果机器很多 可以参考 拷贝ssh公钥到多台服务器上 文中提到的 方法 使用 pssh 批量执行相关命令。
最后可以通过访问 主机地址:50070 查看 HDFS是否启动成功,主机地址:8088 查看yarn是否启动成功。