安装部署hadoop

来源:互联网 发布:新建double类型java 编辑:程序博客网 时间:2024/06/01 07:30

<1>首先从官网下载hadoop软件包,这里我们下载的是hadoop-1.2.1.tar.gz版本。然后拷贝rhel6.4的/usr/local目录下,并解压缩。命令:tar zxvf hadoop-1.2.1.tar.gz;解压后会生成一个名为 hadoop-1.2.1的目录,我们接着把这个目录重命名为hadoop。命令:mv /usr/local/hadoop-1.2.1 /usr/loca/hadoop;

2>接着配置hadoop家目录环境变量。vi /etc/profile,添加图片所示内容。

hadoop安装方法详解|hadoop部署

2、 配置namenode,修改site文件

下面开始修改hadoop的配置文件了,即各种site文件,文件存放在etc/Hadoop/下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml这三个文件。

这里我只把我的实例贴出来,经供参考,更多详细配置请参照官方文档

core-site.xml:

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property></configuration>

hdfs-site.xml:

<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property></configuration>

mapred-site.xml:

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

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>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property></configuration>


3、 配置namenode,修改env环境变量文件

配置之前要说的话:你必须确保你已经安装了java6或者java7,并且java的环境变量已经配置好,由于本文的重点不在此,故不详细说明,我系统java的环境变量为/usr/java/jdk1.7.0_71

所以讲hadoop-env.sh、mapred-env.sh、yarn-env.sh这几个文件中的JAVA_HOME改为/usr/java/jdk1.7.0_71,如下图所示:


文件中的其他一些配置项,请参考官方文档

4、 slaves文件配置,增加如下两行内容:

node1node2

四、向节点服务器node1、node2复制我们刚刚在master服务器上配置好的hadoop

scp–r hadoop root@node1:/usr/local/hadoopscp–r hadoop root@node2:/usr/local/hadoop


五、格式化namenode,在master节点上执行如下命令:

bin/hdfs namenode-format

只要出现“successfully formatted”就表示成功了。

 

六、启动hadoop

这一步也在主结点master上进行操作:

 

七、用jps检验各后台进程是否成功启动

master


node1


node2


八、向hadoop集群系统提交第一个mapreduce任务

到这里为止我们已经完成了一个真正意义上的hadoop完全分布式环境搭建,下面我们要像这个集群系统提交第一个mapreduce任务

1、  bin/hdfs dfs -mkdir /tmp 在虚拟分布式文件系统上创建一个测试目录tmp

2、  bin/hdfs dfs -copyFromLocal ./ LICENSE.txt /tmp 将当前目录下的LICENSE文件复制到虚拟分布式文件系统中

3、bin/hdfs dfs-ls /tmp查看文件系统中是否存在我们所复制的文件

下面这张图显示了一系列的操作过程


3、  运行如下命令向hadoop提交单词统计任务

bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount/tmp/LICENSE.txt /tmp-output 

最后会显示一个运算结果:



到这里为止,你已经完成了第一个任务的分布式计算

注意:在你重新格式化分布式文件系统之前,需要将文件系统中的数据先清除,否则,datanode将创建不成功,这一点很重要

关于一些常见的端口

master:8088能显示你的集群状态

master: 50070能进行一些节点的管理

除此之外,还有很多有用的端口,当然这也是和你的配置文件相关的,最后,贴上两张图片:





0 0