天天看点

hadoop完全分布式安装配置

一、创建hadoop用户并配置ssh无密钥登录。

<a href="http://yntmdr.blog.51cto.com/3829621/1631908" target="_blank">http://yntmdr.blog.51cto.com/3829621/1631908</a>

二、安装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

八、修改slaves添加host:

hddn141

hddn142

九、修改配置文件 core-site.xml

&lt;configuration&gt;

        &lt;property&gt;

                &lt;name&gt;fs.defaultFS&lt;/name&gt;

                &lt;value&gt;hdfs://hdnn140:9000/&lt;/value&gt;

            &lt;final&gt;true&lt;/final&gt;

        &lt;/property&gt;

                &lt;name&gt;hadoop.tmp.dir&lt;/name&gt;

                &lt;value&gt;file:/usr/local/hadoop-2.6.0/tmp&lt;/value&gt;

&lt;/configuration&gt;

八、修改配置文件 hdfs-site.xml

                &lt;name&gt;dfs.namenode.name.dir&lt;/name&gt;

                &lt;value&gt;file:/usr/local/hadoop-2.6.0/dfs/name&lt;/value&gt;

                &lt;name&gt;dfs.datanode.data.dir&lt;/name&gt;

                &lt;value&gt;file:/usr/local/hadoop-2.6.0/dfs/data&lt;/value&gt;

                &lt;name&gt;dfs.replication&lt;/name&gt;

                &lt;value&gt;2&lt;/value&gt;

                &lt;name&gt;dfs.permissions&lt;/name&gt;

                &lt;value&gt;false&lt;/value&gt;

dfs.replication配置了文件块的副本数,一般不大于从机的个数

九、修改配置文件 mapred-site.xml

                &lt;name&gt;mapreduce.framework.name&lt;/name&gt;

                &lt;value&gt;yarn&lt;/value&gt;

                &lt;final&gt;true&lt;/final&gt;

                &lt;name&gt;mapreduce.jobhistory.address&lt;/name&gt;

                &lt;value&gt;hdnn140:10020&lt;/value&gt;

                &lt;name&gt;mapreduce.jobhistory.webapp.address&lt;/name&gt;

                &lt;value&gt;hdnn140:19888&lt;/value&gt;

这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn

十、 编辑yarn-site.xml

&lt;property&gt;

&lt;name&gt;yarn.nodemanager.aux-services&lt;/name&gt;

&lt;value&gt;mapreduce_shuffle&lt;/value&gt;

&lt;/property&gt;

&lt;name&gt;yarn.nodemanager.aux-services.mapreduce.shuffle.class&lt;/name&gt;

&lt;value&gt;org.apache.hadoop.mapred.ShuffleHandler&lt;/value&gt;

&lt;name&gt;yarn.resourcemanager.address&lt;/name&gt;

&lt;value&gt;hdnn140:8032&lt;/value&gt;

&lt;name&gt;yarn.resourcemanager.scheduler.address&lt;/name&gt;

&lt;value&gt;hdnn140:8030&lt;/value&gt;

&lt;name&gt;yarn.resourcemanager.resource-tracker.address&lt;/name&gt;

&lt;value&gt;hdnn140:8035&lt;/value&gt;

&lt;name&gt;yarn.resourcemanager.admin.address&lt;/name&gt;

&lt;value&gt;hdnn140:8033&lt;/value&gt;

&lt;name&gt;yarn.resourcemanager.webapp.address&lt;/name&gt;

&lt;value&gt;hdnn140:8088&lt;/value&gt;

十一、由于涉及到端口较多所以我们直接关闭防火墙

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

拷贝完成后,修改所有者

十三、对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个进程:

hddn142服务器上2个进程:

十六、通过网址查看

<a href="http://192.168.152.140:8088/" target="_blank">http://192.168.152.140:8088/</a>

<a href="http://s3.51cto.com/wyfs02/M02/6B/68/wKiom1UspWLxsIK2AAMarBcIWrY978.jpg" target="_blank"></a>

完成!

说明:

1、hostname不要使用下划线。

本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1631956,如需转载请自行联系原作者