一、创建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


十六、通过网址查看

http://192.168.152.140:8088/


wKiom1UspWLxsIK2AAMarBcIWrY978.jpg

完成!


说明:

1、hostname不要使用下划线。