本文旨在介绍经过两台物理节点,实现彻底分布式hadoop程序的部署java
writen by Bob Pan@20140609node
环境介绍:linux
主机名windows |
机器IPssh |
用途分布式 |
描述oop |
Hadoop0spa |
192.168.80.101code |
Namenodeorm secondaryNamenode jobTracker |
CentOS6.4 jdk-6u24-linux-i586 hadoop-1.1.2 |
Hadoop1 |
192.168.80.102 |
Datanode taskTracker |
CentOS6.4 jdk-6u24-linux-i586 hadoop-1.1.2 |
一、 安装JDK
a) 把 jdk 移动到/usr/local 目录下。进入到/usr/local 目录下,经过“.”解压文件
i. ./jdk-6u24-linux-i586.bin
b) 将解压后的目录jdk1.6.0_24重命名为jdk
i. mv jdk1.6.0_24/ jdk
c) 将jdk配置到环境变量中,设置全局环境变量,文件“/etc/profile”后添加:
i. export JAVA_HOME=/usr/local/jdk
ii. export PATH=.:$PATH:$JAVA_HOME/bin
d) 执行Source命令
i. #source /etc/profile
e) “export”是关键字,用于设置环境变量。咱们设置了两个环境变量,一个是 JAVA_HOME,一个是 PATH。对于环境变量的引用,使用“$”,多个环境变量之间的链接,使用“:”。你们在设置环境变量的时候,必定与 windows 下的操做区分开,不要混淆。命令“source”是为了让文件中的设置马上生效。
f) 执行java –version命令
二、 关闭防火墙
a) 执行Setup命令
b) 选择“Firewall configuration”,而后按回车;
c) 关闭防火墙,只须要按一下空格键,符号“*”就会消失。最后使用“tab”键移动到“OK”,回车,一步步退出就好了。
d) 检查防火墙是否关闭命令“service iptables status”
三、 设置DNS解析
a) 打开etc/sysconfig/network
b) 修改成“HOSTNAME=hadoop0”(hadoop1)
c) reboot
四、 Hadoop0设置SSH免密码登陆
a) ssh-keygen –t rsa
b) 三次回车
c) cd .ssh/
d) ls –l
e) cp id_rsa.pub authorized_keys
f) ssh localhost验证
五、 Hadoop1设置SSH免密码登陆
a) 同上
六、 配置hadoop0和hadoop1的/etc/hosts
a) 每一个节点均添加了全部节点的 ip 与主机名映射
b) 192.168.80.101 hadoop0
c) 192.168.80.102 hadoop1
七、 集群间SSH免密码登陆
a) 在hadoop0执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1
b) 在hadoop1执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop0
八、 Hadoop压缩包上传至hadoop0节点的/usr/local目录下
九、 Hadoop0节点解压缩hadoop
a) tar -xzvf hadoop-1.1.2.tar.gz
十、Hadoop0节点解压缩后的文件夹重命名
a) #mv hadoop-1.1.2 hadoop
十一、 设置Hadoop0节点的环境变量
alias cdha=’cd /usr/local/hadoop’
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
十二、修改hadoop0节点的Hadoop配置文件
a) 修改hadoop-env.sh
第9行改成:export JAVA_HOME=/usr/local/jdk(去掉前面的#)
b) 修改hadoop核心配置文件core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop0:9000</value> <description>change your own hostname</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>
c) 修改hdfs配置文件hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
d) 修改MapReduce 配置文件 mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>hadoop0:9001</value> <description>change your own hostname</description> </property> </configuration>
1三、在hadoop0节点执行命令,将hadoop0节点的hadoop文件夹复制到hadoop1节点
a) scp -rq /usr/local/hadoop hadoop1:/usr/local
b) scp -rq /etc/profile hadoop1:/etc
c) ssh hadoop1
d) exit
1四、配置hadoop0节点的集群核心文件slaves
a) 打开/conf/slaves文件后,修改成hadoop1.
b) 修改后,意味着在节点 hadoop1运行datanode和tasktracker节点.
1五、格式化文件系统
a) hadoop namenode –format
1六、启动集群
a) 在节点 hadoop0 中执行命令:start-all.sh
1七、Hadoop0节点jps验证,SecondaryNameNode、NameNode、JobTracker,处于运行状态。
1八、Hadoop1节点jps验证,DataNode、TaskTracker,处于运行状态。