本节向大家介绍一下hadoop-0.20.1部署步骤,主要包括部署Hadoop和初始化和启动hadoop集群以及测试三部分内容,相信通过本节的学习大家对hadoop-0.20.1部署有一定的了解。
hadoop-0.20.1部署
因为需要分析大量的访问日志,现有的分析方式(单机)不能满足需求,因此需要部署hadoop来解决这个问题。在我做分布式文件系统之前,曾经部署测试过hadoop,使用的版本为hadoop-0.19.0,记得当时配置起来很快就成功了。这次测试,我使用的是***版本hadoop-0.20.1,在部署过程中,花了不少时间才做成功(2天)。为备忘,特记录之。
hadoop-0.20.1跟旧的版相比,有些文件发生了变化,主要的变化是conf目录,
网上现有的hadoop文章,需要修改的文件是hadoop-site.xml,可是hadoop-0.20.1版本确没有这个文件,取而代之的是core-site.xml。
一、部署hadoop
hadoop部署分两步:名称节点(namenode)无密码访问各数据节点(datanode)和配置hadoop.我的实验环境为一个名称节点,两个数据节点.不幸的是其中的一个数据节点坏了。因此只能用一个数据节点来测试。在这个测试中,namenode的ip:192.168.199.135,datanode的ip:192.168.199.136.
(一)、名称节点(namenode)无密码访问各数据节点(datanode)
1、名称节点和数据节点各自创建用户hadoop,使用相同的密码。
2、以hadoop用户名登陆名称节点执行ssh-keygen-trsa然后一路回车,完毕后生成文件.ssh/id_rsa.pub,把这个文件复制到当前位置,命名为authorized_keys;然后执行命令ssh127.0.0.1,如果不需要密码则直接登陆进去的话,就达到要求;否则需检查authorized_keys的权限,看是否为644(-rw-r–r–)。接下来,同样也hadoop用户登陆数据节点服务器,创建.ssh目录,并给与600权限(chmod600.ssh);再把名称服务器上的authorized_keys复制到目录./ssh,注意权限和目录结构跟名称节点保持一致,然后再从名称节点用ssh登陆数据节点,如果不需要密码能登陆成功,则ssh的配置结束。再来看一下hadoop-0.20.1部署中Hadoop的配置。
(二)hadoop配置
1、下载jdk并设置。我的JAVA_HOME=/usr/local/jdk1.6.0_06
2、下载hadoop,解包,复制到/usr/local/hadoop.即HADOOP_HOME=/usr/local/hadoop
3、数据存放目录分离,即数据的实际存放不在HADOOP_HOME(网上的n多文章是在hadoop安装目录).我用2个1TB的硬盘单独来存放实际的数据块,其名称为/disk2,/disk3.格式化这两个硬盘并创建文件系统,然后挂接到这2个目录。相关步骤省略。
4、设置目录、文件的属主。chown-Rhadoop:hadoop/disk2/disk3/usr/local/hadoop
5、在文件/usr/local/hadoop/conf/mapred-site.xml加入如下内容:
- <property>
- <name>mapred.job.tracker</name>
- <value>hadoopm:9001</value>
- <description>ThehostandportthattheMapReducejobtrackerrunsat.If“local”,thenjobsarerunin-processasasinglemapand
- reducetask.</description>
- </property>
6、修改文件/usr/local/hadoop/conf/slaves及/usr/local/hadoop/conf/masters,把数据节点的主机名加到slaves、名称节点主机名加到masters。可以加多个,每行一个。注意主机名需要在每个服务器的/etc/hosts映射好。
7、修改文件/usr/local/hadoop/conf/hadoop-env.sh,加入exportJAVA_HOME=/usr/local/jdk1.6.0_06一行即可。
8、在每个数据节点重复1~6这些步骤。
二、初始化和启动hadoop集群
(一)hadoop的大部分操作都是在命名节点进行的。以hadoop用户登陆系统然后执行hadoopnamenode-format,一般都能顺利完成这个过程。执行完初始化后,各数据节点并没有进行任何操作(最重要的事情就是生成一堆目录)。
(二)启动hadoop服务。命名服务器以hadoop用户执行start-all.sh.查看进程,如果正常,应该看见2-3个java进程。启动正常的话,数据节点开始生成相关的目录。其对比输出如下:
三、测试
1、查看hadoop状态,使用命令$hadoopdfs-report.
2、创建目录。$hadoopdfs-mkdirsery,然后再传几个大文件$hadoopdfs-put7.*sery.传了900M左右的数据(2个iso文件),很快传完。
3、故障测试。需要2个数据节点,先关闭一个数据节点,然后网hadoop创建目录和拷贝数据。完毕后启动被关闭的数据节点的服务,观察其运行情况。本节关于hadoop-0.20.1部署介绍到这里。
【编辑推荐】
- Hadoop完全分布模式安装实现详解
- Windows下轻松实现Hadoop开发环境安全配置
- Hadoop文件系统如何快速安装?
- Hadoop集群搭建过程中相关环境配置详解
- Hadoop完全分布模式安装实现详解