Hadoop2.X版本伪分布式安装详细介绍【非抄袭,原创!】
网上hadoop单节点安装文章真是一搜一大堆,可以这样说,全是垃圾,那些博主也不知道自己安装过没有。。反正就一堆的copy,我实在看不下去了。必须把我总结的写出来,如果你有任何问题随时联系我!
E-Mail: yanghg@pku.edu.cn
下面我以2.2.0为例子!注意这是单节点!!伪分布式!!不喜勿看
Hadoop2.2.0(Yarn)安装详细过程
一、运行一个单机版模式的hadoop伪分布式平台
1、软件环境
1、操作系统:
由于linux的开源性、安全性等因素现有的hadoop集群多为linux平台,在这里采用适合个人安装的linux Ubuntu 12.04LTS版本去实现hadoop伪分布式平台。若采用window系统不能使开发者更好的体验hadoop框架的优越性能和其高效的性能。对于linux系统red hat、ubuntu、Debian、Gentoo、SuSE、Mandriva安装均相同。
2、Java环境:
在这里采用ubuntu上所推荐的java-7-openjdk。若采用sun公司的jdk,则需要向系统添加环境,这里不再进行赘述。
3、SSH:在hadoop平台上,需要涉及resourcemanager与nodemanager之间通信,appmaster与container之间通信,用户数据之间的通信等。在通信过程中需要配置SSH无密码通信。
4、hadoop版本:hadoop2.2.0(apache网站中所有1.0以上框架均适用)
以上软件环境均在对应的开源官方网站下载,其中java环境和ssh均在ubuntu中使用apt-get install命令即可获得。
注:修改过程可能使用到编辑软件为Vim。
安装所需软件源:
名称 |
网址 |
Ubuntu |
http://www.ubuntu.org.cn/download |
Hadoop2.2.0 |
http://www.apache.org/dyn/closer.cgi/hadoop/common/ |
Myeclipse |
http://www.myeclipseide.cn |
javaJDK |
Ubuntu控制台命令sudo apt-get install java-7-openjdk |
SSH |
Ubuntu控制台命令sudo apt-get install ssh-openserver |
Vim |
Ubuntu控制台命令sudo apt-get install vim |
二、安装过程
2.1安装前准备工作
配置yarn前需将javaJDK、SSH、vim安装完成,将hadoop包从apache网站下载到本地。
测试javaJDK安装成功输入java –version出现下图
测试vim安装成功输入vim后出现下图
测试ssh会在配置无密码登陆时用到。
2.2给用户hadoop加入root权限(在ubuntu12.04安装过程中用户名称设定为:hadoop)
控制台输入:Hadoop@hadoop:sudo vim /etc/sudoers
在root下添加hadoop的权限
Hadoop ALL=(ALL:ALL) ALL
若ubuntu已经安装完成如想增加hadoop用户和用户组则需如下操作:
1、增加hadoop用户组:sudo addgroup hadoop。
2、增加hadoop用户并将其加入到hadoop用户组:sudo adduser -ingroup hadoop hadoop。
3、将hadoop加入到root权限组。
2、配置SSH无密码访问
配置无密码访问后就不需要用户不停的输入访问密码,控制台命令如下:
1、创建ssh-key,采用通用的rsa加密方式:ssh –keygen –t rsa –p “”
回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的
2、进入到~/.ssh目录下
Hadoop@hadoop:Cd ~/.ssh
3、将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的
Hadoop@hadoop:Cat id_rsa.pub >> authorized_keys
安装成功登陆测试:
Hadoop@hadoop:ssh localhost
出现上图即安装成功
3.安装hadoop第二代框架
将下载好的hadoop2.2.0 tar.gz使用tar xvzf解压后放在/esr/local,然后进入到/usr/local/hadoop/etc/hadoop
具体文件配置如下:
1、hadoop-env.sh配置
在hadoop-env.sh添加Java环境(本机以openjdk7为例子)
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
添加export Java_HOME=/usr/lib/jvm/java-7-openjdk-i386
2、yarn-env.sh配置
在yarn-env.sh添加java环境
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
添加export Java_HOME=/usr/lib/jvm/java-7-openjdk-i386
3、core-site.xml配置
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/core-site.xml
添加
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
4、hdfs-site.xml配置
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
添加:
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replicatiion</name>
<value>2</value>
</property>
5、mapred-site.xml配置
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
添加:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
6、yarn-site.xml配置
打开 Hadoop@hadoop:vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
添加:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.ampreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
经过以上配置yarn配置完成,然后将所有服务一次启动,如下操作:
1、启动hdfs:
Hadoop@hadoop:bin/hadoop namenode -format
Hadoop@hadoop:sbin/hadoop-daemon.sh start namenode
Hadoop@hadoop:sbin/hadoop-daemon.sh start datanode
2、启动yarn:
Hadoop@hadoop:Sbin/yarn-daemon.sh start resourcemanager
Hadoop@hadoop:Sbin/yarn-daemon.sh start nodemanager
(或者利用全部启动的命令)Hadoop@hadoop:Sbin/start-all.sh
Hadoop@hadoop:Jps
若处出现启动不成,则去查找log日志,log日志位于:/usr/local/hadoop/log目录下,yarn将namenode、datanode、nodemanager、resourcemanager分别记录与不同的日志中,方便用户的查找
输入后若出现以下命令则安装成功:
在浏览器中输入http://localhost:8088测试web端口是否没有被占用出现如下图所示:
测试HDFS端口是否正常,在浏览器中输入:http://localhost:50070出现如下图所示:
点击“Browse the filesystem”能进入到hdfs目录中则hdfs安装完成,如下图所示:
经过以上配置并且在测试成功后我们的hadoop第二代平台(伪分布式)就全部安装完成了。接下来我们可以利用它去做许多有趣的事情了。