Hadoop学习之二《Hadoop环境伪分布式环境搭建》

来源:互联网 发布:vulcan软件 编辑:程序博客网 时间:2024/05/15 20:12

问题?Hadoop学习之二《Hadoop环境伪分布式环境搭建》


一、Hadoop定义

二、环境搭建

(1)资源下载

JDK1.7-Linux-64:点击下载链接

Hadoop2.2版本:点击下载链接


(2)配置过程

首先是,虚拟机要先安装好,而且网路要配置好。详情请看环境配置

1.设置网络,并且网络service networkrestart

2.创建组,并且创建hadoop用户设置密码(放到这个组中)

3.下载jdk1.7hadoop2.2压缩包,并且使用WinSCP软件移动这两个文件到/usr/local

 

解压jdktar –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

<configuration> <property>       <name>fs.defaultFS</name>       <value>hdfs://node:9000</value>       <description>configerate hostnameand port</description> </property> <property>       <name>hadoop.tmp.dir</name>       <value>/home/hadoop/hadoop2.2/tmp/hadoop-${user.name}</value>        <description>storethe temp dir</description> </property> <property>       <name>hadoop.proxyuser.hadoop.hosts</name>       <value>*</value> </property><property>       <name>hadoop.proxyuser.hadoop.groups</name>       <value>*</value></property></configuration>

修改mapred-site.xml.temp

<configuration>       <property>              <name>mapreduce.framework.name</name>              <value>yarn</value>       </property>       <property>              <name>mapreduce.jobhistory.address</name>              <value>node:10020</value>       </property>       <property>              <name>mapreduce.jobhistory.wabapp.address</name>              <value>node:19888</value>       </property></configuration>


 

 

修改yarn-site.xml

<configuration> <!--Site specific YARN configuration properties -->       <property>              <name>yarn.resourcemanager.hostname</name>              <value>node</value>       </property>        <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>node:8032</value>       </property>             <property>              <name>yarn.resourcemanager.scheduler.address</name>              <value>node:8030</value>       </property>             <property>              <name>yarn.resourcemanager.resource-tracker.address</name>              <value>node:8031</value>       </property>             <property>              <name>yarn.resourcemanager.admin.address</name>              <value>node:8033</value>       </property>        <property>              <name>yarn.resourcemanager.webapp.address</name>              <value>node:8088</value>       </property></configuration> 


 

修改hdfs-site.xml

 

<configuration>       <property>              <name>dfs.namenode.http-address</name>              <value>node:50070</value>              <description>namenodeaddress and port</description>       </property>        <property>              <name>dfs.namenode.secondary.http-address</name>              <value>node1:50090</value>              <description>seconde addressand port</description>       </property>        <property>              <name>dfs.replication</name>              <value>3</value>              <description>configeratehdfs store dir number,default :3</description>       </property>             <property>              <name>dfs.namenode.name.dir</name>              <value>file:///home/hadoop/hadoop2.2/hdfs/name</value>              <description>namnode is usedto keep storing namespace and exchange the path of local log file</description>       </property>             <property>              <name>dfs.datanode.data.dir</name>              <value>file:///home/hadoop/hadoop2.2/hdfs/data</value>              <description>datanode isstore local dir</description>       </property>        <property>              <name>dfs.namenode.checkpiont.dir</name>              <value>file:///home/hadoop/hadoop2.2/hdfs/namesecondary</value>              <description>secondarynamenode</description>       </property>             <property>              <name>dfs.webhdfs.enabled</name>              <value>true</value>                     <description>is it alowedto  view web hdfsfile</description>       </property>             <property>              <name>dfs.stream-buffer-size</name>              <value>131072</value>              <description>buffer:4kb</description>       </property>      </configuration>


修改主机名:这个只要在hdfs开启前改就行了,可以一开始就把主机名改了




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



关闭防火墙

 

 

克隆虚拟机,克隆三个,分别是Node1Node2Node3

开启四个节点,分别设置网络192.168.10.101192.168.10.102192.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的集群环境已经搭建成功,显而易见,成功了。





0 0
原创粉丝点击