[虚拟机VM][Ubuntu12.04]搭建Hadoop完全分布式环境(一)
[虚拟机VM][Ubuntu12.04]搭建Hadoop完全分布式环境(二)
接前两篇,这是最终篇,前面的准备工作都完成了之后,我们开始安装和部署hadoop
hadoop-2.2.0_x64.tar.gz
链接:http://pan.baidu.com/s/1boSGvrp 密码:559o
hadoop
集群中每台机器的配置都基本相同,我们先配置好master
,然后复制到slave1
和slave2
上
1、下载并解压,并重命名目录为hadoop
,移动到/usr
目录下去
hadoop@master:~$ tar -zxvf hadoop-2.2.0_x64.tar.gz
hadoop@master:~$ mv hadoop-2.2.0 hadoop
hadoop@master:~$ sudo mv ~/hadoop /usr/
2、创建几个关键目录,以备后用:
hadoop@master:~$ mkdir dfs
hadoop@master:~$ mkdir dfs/name
hadoop@master:~$ mkdir dfs/data
hadoop@master:~$ mkdir tmp
3、修改配置文件:
~/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
3.1 修改hadoop-env.sh
,将JAVA_HOME
后面填写上自己的JDK路径
3.2 修改yarn-env.sh
,将JAVA_HOME
后面填写上自己的JDK路径
3.4 修改core-site.xml
,说明:
hdfs://master:8020
中的master
是hostname
,如果你们设置的跟我的不一样请修改file:/home/hadoop/tmp
就是刚才第2步设置的目录,如果你们设置的跟我的不一样请修改hadoop.proxyuser.hadoop.hosts
和hadoop.proxyuser.hadoop.groups
中的第二个hadoop
换成自己的用户名<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:8020value>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>file:/home/hadoop/tmpvalue>
<description>Abase for other temporary directories.description>
property>
<property>
<name>hadoop.proxyuser.hadoop.hostsname>
<value>*value>
property>
<property>
<name>hadoop.proxyuser.hadoop.groupsname>
<value>*value>
property>
configuration>
3.5 修改hdfs-site.xml
,说明:
master:9001
中的master
是hostname
,如果你们设置的跟我的不一样请修改file:/home/hadoop/dfs/name
和file:/home/hadoop/dfs/data
就是刚才第2步设置的目录,如果你们设置的跟我的不一样请修改<configuration>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>master:9001value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/home/hadoop/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/home/hadoop/dfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>3value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
configuration>
3.6 修改mapred-site.xml
,说明:其中的master
是hostname
,如果你们设置的跟我的不一样请修改
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>master:19888value>
property>
configuration>
3.7 修改yarn-site.xml
,说明:其中的master
是hostname
,如果你们设置的跟我的不一样请修改
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
<name>yarn.resourcemanager.addressname>
<value>master:8032value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value>master:8030value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value>master:8031value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value>master:8033value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value>master:8088value>
property>
configuration>
4、master
配置完成,我们把hadoop
整个目录复制到slave1
和slave2
上去
hadoop@master:~$ sudo scp -r /usr/hadoop hadoop@slave1:~/
hadoop@master:~$ sudo scp -r /usr/hadoop hadoop@slave2:~/
5、使用ssh分别到slave1
和slave2
机器上将hadoop
目录移动到和master相同的目录中去
hadoop@master:~$ ssh slave1
hadoop@slave1:~$ sudo mv ~/hadoop/ /usr/
hadoop@master:~$ ssh slave2
hadoop@slave2:~$ sudo mv ~/hadoop/ /usr/
6、添加hadoop
路径到环境变量中
hadoop@master:~$ vi /etc/environment
hadoop@master:~$ source /etc/environment
添加以下红框的内容,如果你们的hadoop路径和我的不一样,请修改
7、启动hadoop
格式化namenode
hadoop@master:~$ hdfs namenode –format
启动hdfs
hadoop@master:~$ start-dfs.sh
启动yarn
hadoop@master:~$ start-yarn.sh
8、查看进程
先看master
的:
hadoop@master:~$ jps
到slave1
上查看进程:
hadoop@master:~$ ssh slave1
hadoop@slave1:~$ jps
也可以到浏览器中输入http://master:8088/
查看:
至此,Hadoop完全分布式环境已全部搭建完成!