一、创建hadoop用户并配置ssh无密钥登录。
http://yntmdr.blog.51cto.com/3829621/1631908
二、安装jdk
三、解压hadoop压缩包
tar -xf hadoop-2.7.1.tar.gz
修改拥有者
chown -R hadoop:hadoop hadoop-2.7.1
四、添加hadoop环境变量
编辑/etc/profile文件追加
HADOOP_HOME=/usr/local/hadoop-2.7.1
PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME PATH
保存并退出
五、使环境变量生效
source /etc/profile
执行 hadoop version 查看是否配置成功
六、修改 hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_71
七、修改yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_71
八、修改slaves添加host:
hddn141
hddn142
九、修改配置文件 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdnn140:9000/</value>
<final>true</final>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.6.0/tmp</value>
</property>
</configuration>
八、修改配置文件 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.6.0/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
dfs.replication配置了文件块的副本数,一般不大于从机的个数
九、修改配置文件 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hdnn140:10020</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hdnn140:19888</value>
<final>true</final>
</property>
</configuration>
这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn
十、 编辑yarn-site.xml
<configuration>
<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>hdnn140:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hdnn140:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hdnn140:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hdnn140:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hdnn140:8088</value>
</property>
</configuration>
十一、由于涉及到端口较多所以我们直接关闭防火墙
systemctl stop iptables
十二、将配置好的hadoop复制到其他节点
scp -r /usr/local/hadoop-2.7.1 root@hddn141:/usr/local
scp -r /usr/local/hadoop-2.7.1 root@hddn142:/usr/local
拷贝完成后,修改所有者
chown -R hadoop:hadoop hadoop-2.7.1
十三、对hdfs格式化,执行以下命令:
hdfs namenode -format
出现
Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
搞定!
重新格式化namenode时,需先删除各节点的tmp文件
十四、启动sbin目录下
start-all.sh
十五、执行jps查看java进程
hdnn140服务器上5个进程:
Jps
16977 DataNode
29754 ResourceManager
17382 NodeManager
29447 NameNode
29620 SecondaryNameNode
hddn141服务器上2个进程:
Jps
hddn142服务器上2个进程:
Jps
十六、通过网址查看
完成!
说明:
1、hostname不要使用下划线。