Hadoop2.2.0单节点安装和配置环境图文详解
摘要:最近也是刚刚入门hadoop,配置环境就折腾了很久,在网上也查看了给位大神的帖子,从中也学到 了很多东西,但是很多都是比较杂,在这里我就贴出我配置的一些心得,望各位指教。
一、简介
二、在Ubuntu下创建hadoop用户组和用户
三、在Ubuntu下安装JDK
四、安装ssh服务
五、建立ssh无密码登录本机
六、安装hadoop
七、在单机上运行hadoop。
一:简介(这里简单用图片展示下):
二、在Ubuntu下创建hadoop用户组和用户 ,这里考虑的是以后涉及到hadoop应用时,专门用该用户操作。用户组名和用户名都设为:hadoop。可以理解为该hadoop用户是属于一个名为hadoop的用户组。
1、创建hadoop用户组,如图
2、创建hadoop用户,
3、给hadoop用户添加权限,打开/etc/sudoers文件,如图
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,如图
三、在Ubuntu下安装JDK(http://blog.csdn.net/u011067360/article/details/21396209)
每当Ubuntu安装成功时,我们的机器名都默认为:ubuntu ,但为了以后集群中能够容易分辨各台服务器,需要给每台机器取个不同的名字。机器名由 /etc/hostname文件决定。
1、打开/etc/hostname文件,如图
打开/etc/hostname文件,将/etc/hostname文件中的ubuntu改为你想取的机器名,重启系统后才会生效。
四:安装ssh服务
这里的ssh和三大框架:spring,struts,hibernate没有什么关系,ssh可以实现远程登录和管理,具体可以参考其他相关资料。
1、安装openssh-server,
自动安装openssh-server时,可能会进行不下去,可以先进行如下操作:
执行如下命令升级部分软件udo apt-get update,如图:
操作完成后继续执行第1步。
这时您已经安装好了ssh,您就可以进行第五步了;
五、 建立ssh无密码登录本机
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1、创建ssh-key,,这里我们采用rsa方式,如图
回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的,
2、进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的,如图
完成后就可以无密码登录本机了。
3、登录localhost,在命令行中输入:ssh localhost,结果如图,
至此,hadoop的ssh环境就搭好了,接下来就是配置hadoop的环境了。
六、安装Hadoop2.2,搭建集群
1、在hadoopMaster上安装hadoop
首先到Apache官网上下载hadoop2.2的压缩文件,将其解压到当前用户的根文件夹中(home/fyzwjd/),将解压出的文件夹改名为hadoop。
$ sudo mv hadoop-2.2.0 hadoop
配置之前,先在本地文件系统创建以下文件夹:~/hadoop/tmp、~/dfs/data、~/dfs/name。 主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下,可以用gedit命令对其进行编辑。
~/hadoop/etc/hadoop/hadoop-env.sh ~/hadoop/etc/hadoop/yarn-env.sh ~/hadoop/etc/hadoop/slaves ~/hadoop/etc/hadoop/core-site.xml ~/hadoop/etc/hadoop/hdfs-site.xml ~/hadoop/etc/hadoop/mapred-site.xml ~/hadoop/etc/hadoop/yarn-site.xml
(1) 配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(2) 配置文件2:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(3) 配置文件3:slaves ( hadoopSalve1 、hadoopSlave2 )
(4) 配置文件4:core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoopMaster:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/fyzwjd/hadoop/tmp</value> <description>Abasefor other temporary directories.</description> </property> <property> <name>hadoop.proxyuser.fyzwjd.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.fyzwjd.groups</name> <value>*</value> </property> </configuration>
(5) 配置文件5:hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoopMaster:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/fyzwjd/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/fyzwjd/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
(6) 配置文件6:mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoopMaster:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoopMaster:19888</value> </property> </configuration>
(7) 配置文件7: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>hadoopMaster:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoopMaster:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoopMaster:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoopMaster:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoopMaster:8088</value> </property> </configuration>
2、如果是真机分布式,则将hadoop文件夹拷贝到hadoopSlave1和hadoopSlave2上。
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave1:~/ scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave2:~/
七、验证与运行
所有的组件启动和停止服务都在/hadoop/sbin目录下,一般启动hadoop前会格式化namenode。具体命令参考如下:
1、进入安装目录: cd ~/hadoop/
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
此时在hadoopMaster上面运行的进程有:namenodesecondarynamenode
hadoopSlave1和hadoopSlave2上面运行的进程有:datanode
2、启动yarn: ./sbin/start-yarn.sh
此时在hadoopMaster上面运行的进程有:namenodesecondarynamenoderesourcemanager
hadoopSlave1和hadoopSlave2上面运行的进程有:datanode nodemanaget
3、查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck/ -files -blocks
查看HDFS: http://hadoopMaster:50070
查看RM: http:// hadoopMaster:8088
来自: http://blog.csdn.net//u011067360/article/details/21561061