一、安装前准备

CentOS6.5(64bit)

hadoop-2.6.0-64.tar.gz

jdk-7u67-linux-x64.tar.gz

二、安装

1、关闭防火墙和SELinux


service iptables status (查看)
service iptables stop
chkconfig iptables off (永久关闭)

vi /etc/sysconfig/selinux          
设置 SELINUX=disabled

2、设置静态IP地址


vi /etc/sysconfig/network-scripts/ifcfg-eth0

3、修改HostName

hostname hadoop-yarn.dragon.org       当前生效   
vi /etc/sysconfig/network 下次启动生效

4、IP与HostName绑定

​vi /etc/hosts​

内容:IP地址 (主机名+域名) 主机名


192.168.48.128 hadoop1.dragon.org hadoop1

5、设置SSH免密码登陆

ssh-keygen -t rsa

cd /root/.ssh/

ssh-copy-id root@localhost

ssh localhost

6、安装JDK

安装目录:/install/

版本:jdk-7u67-linux-x64.tar.gz

解压缩:

tar  -zxvf  jdk-7u67-linux-x64.tar.gz

设置环境变量:

vim /etc/profile

添加内容:

export JAVA_HOME=/install/jdk
export PATH=.:$JAVA_HOME/bin:$PATH

使配置生效:

source /etc/profile

验证:

​java -version​

7、安装hadoop

1)解压tar包

​tar -zxvf hadoop-2.6.0-64.tar.gz​

2)设置环境变量

export JAVA_HOME=/install/jdk
export HADOOP_HOME=/install/hadoop
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

使配置生效:

source /etc/profile

3)配置

Hadoop2.6深入伪分布安装(CentOS 6.5)_centos

1、hadoop-env.sh

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/install/jdk

2、yarn-env.sh(一般可以不添加)

# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/install/jdk

3、mapred-env.sh(一般可以不添加)

# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/install/jdk

4、core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:8020</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/install/hadoop/data/tmp</value>
</property>

</configuration>

5、hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

</configuration>

6、yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

</configuration>

7、mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

8、masters

添加:​​localhost​

( 建议可以写成以下格式:hadoop2@192.168.10.3,即用户名@地址)

9、slaves

添加:​​localhost​​(同上)

NameNode 格式化

​hdfs namenode -format​​(core-site.xml、hdfs-site.xml、hadoop-env.sh)

STARTUP_MSG:   host = hadoop1/172.18.50.101
...
Formatting using clusterid: CID-862191a5-ead4-4cf4-b345-2d7d243bec79
15/04/26 09:52:10 INFO common.Storage: Storage directory /install/hadoop/data/tmp/dfs/name

4)启动

1、启动HDFS

NameNode、DataNode、SecondaryNameNode

–启动NameNode

​hadoop-daemon.sh start namenode​

验证:

方式1、jps
方式2、http://hadoop1:50070/

–启动DataNode

​hadoop-daemon.sh start datanode​

验证:

方式1、jps
方式2、http://hadoop1:50075/

–启动SecondaryNameNode

​sbin/hadoop-daemon.sh start secondarynamenode​

验证:

方式1、jps
方式2、http://hadoop1:50090/

2、启动YARN

ResourceManager、NodeManager

启动ResourceManger

yarn-daemon.sh start resourcemanager

启动NodeManager

yarn-daemon.sh start nodemanager

验证:

方式1、jps
方式2、http://hadoop1:8088/

3、运行例程

1、统计单词

yarn jar /install/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input /output

2、求PI值

yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 100 1000

后面2个数字参数的含义:

第1个100指的是要运行100次map任务

第2个数字指的是每个map任务,要投掷多少次

2个参数的乘积就是总的投掷次数。


扩展:

蒙特卡洛算法,我们取一个单位的正方形里面做一个内切圆(单位圆),则 单位正方形面积 : 内切单位圆面积 = 单位正方形内的飞镖数 : 内切单位圆内的飞镖数 ,通过计算飞镖个数就可以把单位圆面积算出来, 通过面积,在把圆周率计算出来。 注意 :精度和你投掷的飞镖次数成正比。

hadoop的examples中的计算PI的方法属于是采用大量采样的统计学方法,还是属于数据密集型的工作。


查看历史服务器端口号


netstat -tnlp|grep 19888

历史服务器(查看作业历史运行情况)

启动/关闭历史服务器

mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
http://hadoop1:19888/

三、启动HDFS与YARN的方式

方式一:逐一启动

hadoop-daemon.sh、yarn-daemon.sh(实际项目中)

方式二:分开启动

start-dfs.sh、start-yarn.sh

方式三:一起启动

start-all.sh(不推荐,Hadoop1.x保留的)

HDFS启动时如何使用SSH协议?

Hadoop2.6深入伪分布安装(CentOS 6.5)_hadoop_02

三种启动方式的关系

Hadoop2.6深入伪分布安装(CentOS 6.5)_hdfs_03