问题?Hadoop学习之二《Hadoop环境伪分布式环境搭建》
一、Hadoop定义
二、环境搭建
(1)资源下载
JDK1.7-linux-64:点击下载链接
Hadoop2.2版本:点击下载链接
(2)配置过程
首先是,虚拟机要先安装好,而且网路要配置好。详情请看环境配置
1.设置网络,并且网络service networkrestart
2.创建组,并且创建hadoop用户设置密码(放到这个组中)
3.下载jdk1.7及hadoop2.2压缩包,并且使用WinSCP软件移动这两个文件到/usr/local下
解压jdk:tar –zxvf …… 并且重命名为jdk1.7
解压hadoop,并且移动到用户主目录下(这个时候这个文件只有root有权限,hadoop还没有,后面会给予权限)

在hadoop程序目录下创建文件夹:都是以后放一些数据文件的

给hadoopGroup组分配对此hadopp2.2文件的操作权限

给组分配读写执行权限

配置jdk的环境变量


查看是否配置成功

修改hadoop环境变量

查看是否生效

修改hadoop2.2里面etc下的配置文件,这个非常重要。配置不成功,后面的文件系统就会出错。
修改环境变量:export JAVA_HOME=/usr/local/jdk1.7/ (就只改这个,有些有#号的别去掉了。)

修改slaves文件

修改core-site.xml
fs.defaultFShdfs://node:9000configerate hostnameand porthadoop.tmp.dir/home/hadoop/hadoop2.2/tmp/hadoop-${user.name}storethe temp dirhadoop.proxyuser.hadoop.hosts*hadoop.proxyuser.hadoop.groups*修改mapred-site.xml.temp
mapreduce.framework.nameyarnmapreduce.jobhistory.addressnode:10020mapreduce.jobhistory.wabapp.addressnode:19888修改yarn-site.xml
yarn.resourcemanager.hostnamenodeyarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandleryarn.resourcemanager.addressnode:8032yarn.resourcemanager.scheduler.addressnode:8030yarn.resourcemanager.resource-tracker.addressnode:8031yarn.resourcemanager.admin.addressnode:8033yarn.resourcemanager.webapp.addressnode:8088修改hdfs-site.xml
dfs.namenode.http-addressnode:50070namenodeaddress and portdfs.namenode.secondary.http-addressnode1:50090seconde addressand portdfs.replication3configeratehdfs store dir number,default :3dfs.namenode.name.dirfile:///home/hadoop/hadoop2.2/hdfs/namenamnode is usedto keep storing namespace and exchange the path of local log filedfs.datanode.data.dirfile:///home/hadoop/hadoop2.2/hdfs/datadatanode isstore local dirdfs.namenode.checkpiont.dirfile:///home/hadoop/hadoop2.2/hdfs/namesecondarysecondarynamenodedfs.webhdfs.enabledtrueis it alowedto view web hdfsfiledfs.stream-buffer-size131072buffer:4kb修改主机名:这个只要在hdfs开启前改就行了,可以一开始就把主机名改了


绑定hostname与IP 增加四个节点(另外三个后面会加虚拟机) 检验是否成功。


关闭防火墙

克隆虚拟机,克隆三个,分别是Node1、Node2、Node3
开启四个节点,分别设置网络192.168.10.101、192.168.10.102、192.168.10.103
分别改主机名:vi /etc/sysconfig/network 查看more /etc/hosts是否四个都是一样的
最后全部重启网络:service network restart
查看防火墙是否全部关闭:chkconfig –list | grepiptables
ssh免登陆设置(产生秘钥这个,最好用自己新建的用户进行产生,hadoop2.2最终权限是谁就用那个设置)
.ssh下产生公钥: 详情:31页



实现远程无密码登录
最后只要将每一个的公钥都加到其中一个authorized_keys中,再使用复制命令就可以达到每一个节点当中都有各自节点的公钥,即可实现远程无密码登录。是不是很方便

全部节点的authorized_keys文件内容:




完成,这样无论在那个节点,都可以实现远程无密码登录了
接下来实现Hadoop的测试了
格式化文件系统:(要把四个节点的虚拟机开着):hdfs namenode –format

启动hadoop: start-dfs.sh 如下图,全部都起来了。

jps查看进程,看看namenode出现没。

去其他节点测试,如果只有master节点的namenode才开启的话,而datanote没开启的话
问题就是前面配置错误了。可能性在hadoop配置上面。

测试:在虚拟机中输入网址http://node:50070

出现这个网页,说明成功了。当然你也可以使用其他节点试一下。(换到其它节点去)
同样的,其他节点的hadoop也得启动才能成功
用windows也可以访问,前提是需要配置hosts文件:
C:\Windows\System32\drivers\etc\hosts

最后windows浏览器访问:同样成功的

可以关掉服务:stop-dfs.sh,这里就不关闭了,还要继续做实验。

启动Yarn:start-yarn.sh

发现比启动文件系统HDFS的时候多了几个进程(ResourceManager and NodeManager)
其它节点也是一样的。是这样的,node节点成为了ResourceManager,而其他三个节点都成为了NodeManager。
访问网址:

查看集群计算的任务信息

种植查看看集群计算任务信息,这个只是平时拿来查看看任务的。

集群验证:(详情请看36页)
使用hadoop自带的WordCount例子进行集群验证

可以查看到节点的运行情况了。这是一个案例,hadoop自带的有一个例子,拿来测试集群是否成功。hadoop的集群环境已经搭建成功,显而易见,成功了。
