centos7装单机hadoop2.7.3

(1)hadoop2.7.3下载

(前提:先安装java环境)

下载地址:http://hadoop.apache.org/releases.html

(注意是binary文件,source那个是源码)

(2)解压tar.gz

(3)配置hadoop

1.修改/usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 文件的java环境,将java安装路径加进去:

export JAVA_HOME=/alidata/server/java-1.7.0

配置hadoop环境变量

vi /etc/profile

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

export PATH=$PATH:$HADOOP_HOME/bin

有的安装介绍中说是vi ~/.bash_profile,其实也可以用这个,2个命令在不同系统用户的环境配置的作用域不一样。参考:

http://blog.csdn.net/caiwenfeng_for_23/article/details/44242961

使之生效:

source /etc/profile

2.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/core-site.xml 文件,

<configuration>

<!-- 指定HDFS老大(namenode)的通信地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储路径 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/hadoop/tmp</value>

</property>

</configuration>

fs.defaultFS直接用localhost就行,如果重命名了主机名,也可以用重命名的。

3.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/usr/hadoop/hdfs/name</value>

<description>namenode上存储hdfs名字空间元数据 </description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/hadoop/hdfs/data</value>

<description>datanode上数据块的物理存储位置</description>

</property>

<!-- 设置hdfs副本数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

4.SSH免密码登录

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

5.hdfs启动与停止

第一次启动hdfs需要格式化,之后启动就不需要的:

cd /usr/hadoop/hadoop-2.7.3

./bin/hdfs namenode -format

启动命令:

./sbin/start-dfs.sh

停止命令:

./sbin/stop-dfs.sh

从图中看,会启动namenode,datanode,secondarynamenode

浏览器输入:http://119.29.174.43:50070 查看效果:

6.接下来配置yarn文件. 配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml 。这里注意一下,hadoop里面默认是mapred-site.xml.template 文件,如果配置yarn,把mapred-site.xml.template 重命名为mapred-site.xml 。如果不启动yarn,把重命名还原。

mv mapred-site.xml.template mapred-site.xml

vi mapred-site.xml

<configuration>

<!-- 通知框架MR使用YARN -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

7.配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml文件,

<configuration>

<!-- reducer取数据的方式是mapreduce_shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

8.启动yarn

启动:

./sbin/start-yarn.sh

停止:

./sbin/stop-yarn.sh

如图:

会启动resourcemanager,nodemanager

可以用jps命令查看启动了什么进程:

浏览器输入:http://119.29.174.43:8088 (8088是默认端口,如果端口占用,先把占用的端口杀掉 netstat -ano)

这样,dfs和yarn就启动成功了。