Hadoop配置

Hadoop配置
Hadoop配置

1.Hadoop

Hadoop是Apache基金会下的一个开源分布式计算平台,以Hadoop分布式文件系统HDFS (Hadoop Distributed File System)和MapReduce分布式计算框架为核心,为用户提供了底层细节透明的分布式基础设施。HDFS的高容错性、高伸缩性等优点,允许用户将Hadoop 部署在廉价的硬件上,构建分布式系统。MapReduce分布式计算框架则允许用户在不了解分布式系统底层细节的情况下开发并行、分布的应用程序。

Hadoop分为HDFS和MapReduce两大部分。

其中,HDFS和MapReduce可以看做是完全分离的两部分。HDFS完全是一个数据容器,是用来管理数据的。而MapReduce负责分配任务、处理。

Hadoop的优势

Hadoop主要有如下几个优势:

方便:Hadoop可以运行在一般商业机器构成的大型集群上,或者是亚马逊弹性计算云(Amazon EC2)等云计算服务上。

弹性:Hadoop通过增加集群节点,可以线性地拓展以处理更大的数据集。同时,在集群负载下降时,也可以减少节点,以高效使用计算资源。

健壮:Hadoop在设计之初,就将故障检测和自动回复作为一个设计目标,它可以从容处理通用计算平台上出现的硬件失效的情况。

简单:Hadoop允许用户快速编写出高效的并行分布代码。

Hadoop应用情况

Hadoop目前在学术界和工业界都大受欢迎。

学术界:

内布拉斯加大学通过使用Hadoop,支持紧凑型μ子螺旋形磁谱仪实验数据的保存和计算。加州大学伯克利分校则对Hadoop进行研究,以提高整体性能。在或内,中国科学院计算研究所在Hadoop上开展了数据挖掘和地理信息处理等研究。

工业界:

淘宝Hadoop集群现在超过1700个节点,服务于用于整个阿里巴巴集团各部门,数据来源于各部门产品的线上数据库(Oracle, MySQL)备份,系统日志以及爬虫数据,截止2011年9月,数量总量已经超过17个PB,每天净增长20T左右。每天在Hadoop集群运行的MapReduce任务有超过4万(有时会超过6万),其中大部分任务是每天定期执行的统计任务,例如数据魔方、量子统计、推荐系统、排行榜等等。这些任务一般在凌晨1点左右开始执行,3-4个小时内全部完成。每天读数据在2PB左右,写数据在1PB左右。

(来源:https://www.360docs.net/doc/0b5676862.html,/ggjucheng/archive/2012/10/09/2717393.html)

百度现在拥有3个Hadoop集群,总规模在700台机器左右,其中有100多台新机器和600多台要淘汰的机器(它们的计算能力相当于200多台新机器),不过其规模还在不断的增加中。现在每天运行的MapReduce任务在3000个左右,处理数据约120TB/天。在百度,Hadoop主要应用于以下几个方面:

·日志的存储和统计;

·网页数据的分析和挖掘;

·商业分析,如用户的行为和广告关注度等;

·在线数据的反馈,及时得到在线广告的点击情况;

·用户网页的聚类,分析用户的推荐度及用户之间的关联度。

(来源:https://www.360docs.net/doc/0b5676862.html,/a2013/0912/1533/000001533482.shtml)

Hadoop最主要的三个概念

a)Hadoop Common

从Hadoop 0.20版本开始,原来Hadoop项目的Core部分更名为Hadoop Common。

Common为Hadoop的其他项目提供了一些常用工具,主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。

它们为在通用硬件上搭建云计算环境提供基本的服务,并未运行在该平台上的软件开发提供了所需的API。

b)HDFS

Hadoop最底层的是Hadoop Distributed File System(HDFS)。它是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

b.1) HDFS结构

HDFS类似于一个传统的分级文件系统,而它具体是由一组特定的节点构成。如下:

NameNode(只有一个),它可以看作是分布式文件系统中的管理者,它维护着整个文件系统的文件目录树、文件/目录的元信息和文件的数据块索引。

这些信息以两种形式存储在本地文件系统中:1. 文件系统镜像(File System Image,也叫命名空间镜像)2. 命名空间镜像的编辑日志(Edit Log)。其中命名空间镜像保存着某一特定时刻HDFS的目录树、元信息和数据块索引等信息;而后续对这些信息的改动,则保存在编辑日志中。

Secondary NameNode是用于定期合并命名空间镜像和镜像编辑日志的辅助进程。Secondary NameNode合并出新的命名空间镜像后,并将它上传到NameNode上,替换。定期替换,使得NameNode上的编辑日志不会过大。

DataNode负责将HDFS数据块写到Linux本地文件系统的实际文件中,或者从这些实际

文件中读取数据块。

b.2)HDFS主要工作流程

b.2.1) 客户端读文件

第一步:客户端通过FileSystem.open()打开文件,对应的HDFS具体文件系统,DistributedFileSystem创建输出流FSDataInputStream,返回给客户端。

第二步:DFSInputStream的构造函数,会通过ClientProtocol.getBloclLacations()确定文件文件开始部分数据块的保存位置。

第三、四步:客户端调用FSDataInputStream.read()方法读取文件数据。

第五、六步:读取数据的时候,当到达块的末端时,FSDataInputStream会关闭和数据节点间的连接,并通过getBlockLacations()获得保存着下一个数据块的数据节点信息。

需要注意的是,NameNode只处理数据块定位请求,而实际的读取文件所引起的数据传输被分散到集群的各个DataNode,这使得HDFS可以支持大量的并发客户端。

b.2.2) 客户端写文件

第一步:客户端调用DistributedFileSystem的create()方法创建文件,DistributedFileSystem 再创建DFSOutputStream

第二步:DFSOutputStream让NameNode执行create()方法,NameNode在检查过后,创建文件。

第三、四步:客户端在写入数据时,DFSOutputStream实例首先用addBlock()方法向NameNode申请数据块,申请成功后,返回一个LocatedBlock对象,该对象包含了新数据块的数据块表示和版本号。确认包

第五、六步:客户端写数据,数据通过FSDataOutputStream被分成一个一个的文件包,

放入DFSOutputStream对象的内部队列,该队列中的文件包最后打包成数据包,发往数据流管道。确认包(ack)逆流而上,从数据流管道以此发往客户端,当客户端收到应答时,它将对应的包从内部队列移除。

第七步:DFSOutputSteam写完一个数据块之后,数据流管道上的节点向NameNode提交数据块。如果数据队列还有等待输出的数据,DFSOutputStream对象再次调用addBlock()方法,为文件添加新的数据块。

b.2.3) 数据节点的启动和心跳

第一步:versionRequest只涉及构建版本号,保证它们之间的HDFS版本是一致的。

第二步:DataNode发送远程调用register(),向名字节点注册。

第三步:注册成功后,DataNode会将它管理的所有数据块信息,通过blockReport()方法上报到名字节点,帮助名字节点建立HDFS文件数据块到DataNode的映射关系。

第四步:之后,DataNode每隔一段时间都会发送心跳到名字节点,如果名字节点长时间接受不到数据节点的心跳,它会认为数据节点已经失效。

c)MapReduce计算模型

c.1) MapReduce的原理

MapReduce的精妙之处在于,将一个数据域分解成好几个部分,分别对这几个部分采取Map和Reduce操作,得到的结果和原数据域的Map Reduce结果是一样的。这样使得一个数据域,可以被切分成好几个部分进行并行处理,结果一样,但是速度更快。

例如下面这个例子:

假设输入域是one small step for man,one giant leap for mankind。在这个域上运行Map 函数将得出以下的键/值对列表:

(one,1)(small,1)(step,1)(for,1)(man,1)(one,1)(giant,1)(leap,1)(for,1)(mankind,1)

如果对这个键/值对列表应用Reduce 函数,将得到以下一组键/值对:

(one,2)(small,1)(step,1)(for,2)(man,1)(giant,1)(leap,1)(mankind,1)

结果是对输入域中的单词进行计数,这无疑对处理索引十分有用。但是,假设有两个输入域,

第一个是one small step for man,第二个是one giant leap for mankind。您可以在每个域上执行Map 函数和Reduce 函数,然后将这两个键/值对列表应用到另一个Reduce 函数,这时得到与前面一样的结果。

Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce 函数接受Map 函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表。

MapReduce可以处理的典型问题包括Top K问题、K-means聚类、贝叶斯分类等。

c.2) MapReuce结构

HDFS(对于本文)的上一层是MapReduce 引擎,该引擎与HDFS一样采用了主从结构,具体结构如下:

JobTrakers:JobTracker 主要负责资源监控和作业调度。

JobTrackers可以根据文件块的信息确定创建TaskTrackers从属任务。具体就是:任务被复制到每一个出现输入文件块的节点,任务会为特定节点上的每一个文件块创建一个唯一的从属任务。

TaskTrackers:TaskTracker 会周期性地通过Heartbeat 将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)。

Map Task:Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动。每个Map Task处理一个split(MapReduce的处理单位),split与block的对应关系如下。

Map Task的执行过程如下,Map Task 先将对应的split 迭代解析成一个个key/value 对,依次调用用户自定义的map() 函数进行处理,最终将临时结果存放到本地磁盘上,其中临时数据被分成若干个partition,每个partition 将被一个Reduce Task 处理。

Reduce Task:Reduce Task 执行过程如图2-8 所示。该过程分为三个阶段①从远程节点上读取Map Task 中间结果(称为“Shuffle 阶段”);②按照key 对key/value 对进行排序(称为“Sort 阶段”);③依次读取,调用用户自定义的reduce() 函数处理,并将最终结果存到HDFS 上(称为“Reduce 阶段”)。

c.3) 一个MapReduce任务的执行周期

一个MapReduce 作业的运行周期是,先在Client 端被提交到JobTracker 上,然后由JobTracker 将作业分解成若干个Task,并对这些Task 进行调度和监控,以保障这些程序运行成功,而TaskTracker 则启动JobTracker 发来的Task,并向JobTracker 汇报这些Task 的运行状态和本节点上资源的使用情况。

总结:

HDFS是采用多项分布式技术实现的文件系统,HDFS多个实体之间存在着多种信息交互的过程,部分过程使用Hadoop远程过程调用实现,充分利用了IPC机制;在需要大量交换数据的场景中,则使用基于TCP或者HTTP的流式接口。接口如下:

Hadoop的分布式架构使得它具有极大的扩展性。同时,它将处理移到存储,而非将存储移到其他的地方,因此这样可以支持高效的数据处理。

这个架构,将处理引擎尽可能的接近存储,因此比较适合于批处理任务(例如ETL),因为批处理结果可以直接的走向存储。MapReduce实现了将任务分解成若干个任务碎片,并将若干个任务碎片发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

Hadoop单节点搭建

一、基础环境搭建:

1.下载VM虚拟机7.1.2 并安装

2.下载Ubuntu 10.04.2-desktop-i386.iso镜像文件,并安装到虚拟机内(网上有教程

https://www.360docs.net/doc/0b5676862.html,/link?url=KzFoRIvlHDr9ptU8EsZ4x05Ku1oHA0d05kXzbM9jRPH2bCvV 93CA6j23UEg-mYSvYCCbq7WFJsiC0e2_GEyLbATlmhqJ7a1vitdIqXhGKYe)

Hadoop集群会用到3个节点Master Slave1 Slave2

其中一个节点Slave1的用户名设置如下:

Master和Slave2的用户名与Slave1一致。如下:

3.安装JDK环境

(1)下载JDK-6u20-linux,并将它复制到主文件夹home/ubuntu下

(2)更改jdk文件的权限,并安装jdk

chmod 777 /home/ubuntu/jdk-6u20-linux-i586.bin //添加文件权限

./jdk-6u20-linux-i586.bin //安装JDK

(3) 找到etc/profile文件,在末尾添加classpath变量等内容:

(5)测试JDK安装是否成功

which java

// 成功的话,则显示/home/ubuntu/jdk1.6.0_12/bin/java,也就是java安装时的目录。

4.安装SSH,实现SSH的无密码连接

(1)sudo apt-get install ssh

(2)生成密匙对

ssh–keygen –t rsa --P,一直按回车,所有的设置都采用默认的。

如上图,则表明密匙生成成功,在/home/ubuntu/.ssh目录下,生成id_rsa私钥、id_rsa.pub 公钥和其他一些文件。

(3)复制公钥id_rsa.pub,并命名为authorized_keys,为受信列表。

cp id_rsa.pub authorized_keys

(4)修改相应文件夹的权限,保证电脑不会因为权限问题而拒绝ssh访问

(5)测试能否无密码ssh访问本机

ssh master

如果成功,则会出现上图

一、单机Hadoop环境的搭建:

在上述基础环境搭建完成后,开始搭建单机Hadoop环境

1.修改路由信息

(1)用ifconfig命令,找到电脑的IP地址,就是下面的inet地址

(2)找到/etc/hosts,添加192.168.131.128 master(Ip地址节点名字)

这个文件是路由的时候用的。

2.安装hadoop

(1)tar -xzvf hadoop-0.20.2.tar.gz //解压hadoop安装包

(2)在conf下,找到hadoop-env.sh文件(如果需要更改权限,就在命令框中输入chmod 777

hadoop-env.sh)

打开文件,将下图:

改为下图,修改JAVA_HOME路径

另外,增加一条HADOOP_COMMON_HOME的路径

(3)配置conf目录下的core-site.xml

内容如下图,hadoop.tmp.dir是临时文件的路径

(4)配置conf目录下的mapred-site.xml

内容为下图:

(5)设置hadoop环境变量。找到/etc/profile

添加HADOOP_HOME,PATH和export内容

3.运行化测试

(1)主机上,格式化namenode

cd hadoop-0.20.2

bin/hadoop namenode -format

这样就是初始化成功。

注意:在初始化了一遍之后,永远都不要再初始化了,如果再初始化,会导致datanode 连接不上的问题。如下图,看不到datanode:

这是因为namespaceID出现了问题。

如果已经初始化了两遍,则进入hadoop-0.20.2的目录后,执行下列语句:

rm –rf tmp ;mkdir tmp。也就是清除tmp目录。

清除完之后,再初始化一次,就可以了。

(2)sudo chown –hR ubuntu /home/ubuntu/hadoop-0.20.2 //修改hadoop所在文件夹的权

限,保证hadoop用户可以正常访问其中的文件

启动hadoop。bin/start-all.sh //启动hadoop

(3)看是否成功

输入jps,主机如下,则说明已成功

运行Wordcount程序来测试

(1)准备wordcount程序

sudo gedit /tmp/test.txt

(2)将准备的测试文件上传到dfs文件系统中的firstTest目录下

bin/hadoop dfs –copyFromLocal /tmp/test.txt firstTest

(3)上传并执行wordcount任务

bin/hadoop jar hadoop-0.20.2-examples.jar wordcount firstTest result

(4)bin/ hadoop dfs -cat result/part-r-00000

(注:结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoop dfs -ls result”查看result目录下包含哪些文件)

Hadoop集群搭建:

上述单节点配置,需要在每一个节点上完成(包括主机)。都完成之后,可以进行下面的操作。

1、配置一系列文件

没有特别说明的文件,都是主机和节点设置,完全一样。

1.查询节点Master Slave1 Slave2的IP值

在各个节点的命令框里,输入ifconfig,即可查询到ip地址,这个ip地址是不会变的。主机Master上的:

节点Slave1的:

节点slave2的

可以看到Master Slave1 Slave2节点的ip地址分别是

192.168.131.128 192.168.131.129 192.168.131.130

2.在每一台主机和节点上配置/etc/hosts文件

在文件中,添加刚才查询到的Master Slave1 Slave2节点的ip和主机名。

master slave1 slave2都一定只能有一个对应的IP值,需要将原来的127.0.1.1这一行删掉!!!否则,一个名字对应2个IP地址,会出现连接不上的问题。

3.在每一台主机和节点的hadoop的conf文件夹下,添加一个空文件,文件名为主机名,

即这里的master

之后,在这个文件中,添加主机名:

4.在每一台主机和节点的hadoop的conf文件夹下,添加2个空文件,文件名为节点名,

即这里的slave1 slave2

之后,在这两个文件中,各自节点的信息,如下:

5.配置conf下的core-site.xml文件

将https://www.360docs.net/doc/0b5676862.html,里头的localhost,改为主机名master

也就是将下图:

改为:

其中:中的value不能大于节点(即fzq2-desktop这类电脑)的个数

6.配置conf下的hdfs-site.xml文件,https://www.360docs.net/doc/0b5676862.html,.dir和dfs.data.dir就是用来存放命名空间信

息和数据信息的地址,地址分别是/home/ubuntu/hadoop-0.20.2/hdfs/name,节点就用/home/ubuntu/hadoop-0.20.2/hdfs/data

sudo gedit conf/hdfs-site.xml

如下:

7.配置conf下的mapred-site.xml文件

sudo gedit conf/mapred-site.xml

将下图:

改为

2、配置公钥

1.将主机master的公钥id_rsa.pub拷贝到节点slave1和slave2,每个节点拷贝两次,分别

保存成master.pub和jobtracker_rsa.pub。

在节点上输入:

scp ubuntu@222.25.150.194:/home/ubuntu/.ssh/id_rsa.pub /home/ubuntu/.ssh/master.pub

内容格式:(scp 来源名@来源ip:文件地址本地保存文件地址)

hadoop集群完整配置过程详细笔记

本文为笔者安装配置过程中详细记录的笔记 1.下载hadoop hadoop-2.7.1.tar.gz hadoop-2.7.1-src.tar.gz 64位linux需要重新编译本地库 2.准备环境 Centos6.4 64位,3台 hadoop0 192.168.1.151namenode hadoop1 192.168.1.152 datanode1 Hadoop2 192.168.1.153 datanode2 1)安装虚拟机: vmware WorkStation 10,创建三台虚拟机,创建时,直接建立用户ha,密码111111.同时为root密码。网卡使用桥接方式。 安装盘 、 2). 配置IP.创建完成后,设置IP,可以直接进入桌面,在如下菜单下配置IP,配置好后,PING 确认好用。 3)更改三台机器主机名 切换到root用户,更改主机名。 [ha@hadoop0 ~]$ su - root Password: [root@hadoop0 ~]# hostname hadoop0 [root@hadoop0 ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop0 以上两步后重启服务器。三台机器都需要修改。 4)创建hadoop用户 由于在创建虚拟机时,已自动创建,可以省略。否则用命令创建。

5)修改hosts文件 [root@hadoop0 ~]# vi /etc/hosts 127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4 ::1localhostlocalhost.localdomain localhost6 localhost6.localdomain6 192.168.1.151 hadoop0 192.168.1.152 hadoop1 192.168.1.153 hadoop2 此步骤需要三台机器都修改。 3.建立三台机器间,无密码SSH登录。 1)三台机器生成密钥,使用hadoop用户操作 [root@hadoop0 ~]# su– ha [ha@hadoop0 ~]$ ssh -keygen -t rsa 所有选项直接回车,完成。 以上步骤三台机器上都做。 2)在namenode机器上,导入公钥到本机认证文件 [ha@hadoop0 ~]$ cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys 3)将hadoop1和hadoop2打开/home/ha/.ssh/ id_rsa.pub文件中的内容都拷贝到hadoop0的/home/ha /.ssh/authorized_keys文件中。如下: 4)将namenode上的/home/ha /.ssh/authorized_keys文件拷贝到hadoop1和hadoop2的/home/ha/.ssh文件夹下。同时在三台机器上将authorized_keys授予600权限。 [ha@hadoop1 .ssh]$ chmod 600 authorized_keys 5)验证任意两台机器是否可以无密码登录,如下状态说明成功,第一次访问时需要输入密码。此后即不再需要。 [ha@hadoop0 ~]$ ssh hadoop1 Last login: Tue Aug 11 00:58:10 2015 from hadoop2 4.安装JDK1.7 1)下载JDK(32或64位),解压 [ha@hadoop0 tools]$ tar -zxvf jdk-7u67-linux-x64.tar.gz 2)设置环境变量(修改/etx/profile文件), export JAVA_HOME=/usr/jdk1.7.0_67 export CLASSPATH=:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 3)使环境变量生效,然后验证JDK是否安装成功。

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置Hadoop 集群,默认读者已经掌握了Hadoop 的单机伪分布式配置,否则请先查看Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置。 本教程由厦门大学数据库实验室出品,转载请注明。本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.7.1 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。 为了方便新手入门,我们准备了两篇不同系统的Hadoop 伪分布式配置教程。但其他Hadoop 教程我们将不再区分,可同时适用于Ubuntu 和CentOS/RedHat 系统。例如本教程以Ubuntu 系统为主要演示环境,但对Ubuntu/CentOS 的不同配置之处、CentOS 6.x 与CentOS 7 的操作区别等都会尽量给出注明。 环境 本教程使用Ubuntu 14.04 64位作为系统环境,基于原生Hadoop 2,在Hadoop 2.6.0 (stable)版本下验证通过,可适合任何Hadoop 2.x.y 版本,例如Hadoop 2.7.1,Hadoop 2.4.1 等。 本教程简单的使用两个节点作为集群环境: 一个作为Master 节点,局域网IP 为192.168.1.121;另一个作为Slave 节点,局域网IP 为192.168.1.122。 准备工作 Hadoop 集群的安装配置大致为如下流程: 1.选定一台机器作为Master 2.在Master 节点上配置hadoop 用户、安装SSH server、安装Java 环境 3.在Master 节点上安装Hadoop,并完成配置 4.在其他Slave 节点上配置hadoop 用户、安装SSH server、安装Java 环境 5.将Master 节点上的/usr/local/hadoop 目录复制到其他Slave 节点上 6.在Master 节点上开启Hadoop 配置hadoop 用户、安装SSH server、安装Java 环境、安装Hadoop 等过程已经在Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置中有详细介绍,请前往查看,不再重复叙述。 继续下一步配置前,请先完成上述流程的前 4 个步骤。 网络配置 假设集群所用的节点都位于同一个局域网。 如果使用的是虚拟机安装的系统,那么需要更改网络连接方式为桥接(Bridge)模式,才能实现多个节点互连,例如在VirturalBox 中的设置如下图。此外,如果节点的系统是在虚拟机中直接复制的,要确保各个节点的Mac 地址不同(可以点右边的按钮随机生成MAC 地址,否则IP 会冲突):

Hadoop环境的搭建与管理 (1)

Hadoop环境的搭建与管理 1、Hadoop的安装与配置 HDFS在Master节点启动dfs和yarn服务时,需要自动启动Slave节点服务,HDFS需要通过ssh访问Slave节点机。HDFS需要搭建多台服务器组成分布式系统,节点机间需要无密码访问。本节任务是进行ssh的设置、用户的创建、hadoop参数的设置,完成HDFS分布式环境的搭建。 任务实施: 本节任务需要四台节点机组成集群,每个节点机上安装CentOS-6.5-x86_64系统。四台节点机使用的IP地址分别为:192.168.23.111、192.168.23.112、192.168.23.113、192.168.23.114,对应节点主机名为:node1、node2、node3、node4。节点机node1作为NameNode,其他作为DataNode。 创建hadoop用户,分别在四台节点机上创建用户hadoop,uid=660,密码分别为h1111, h2222, h3333, h4444。登录node1节点机,创建hadoop用户和设置密码。操作命令如下。 [root@node1 ~]# useradd -u 660 hadoop [root@node1 ~]# passwd hadoop 其他节点机的操作相同。 步骤2 设置master节点机ssh无密码登录slave节点机。 (1)在node1节点机上,以用户hadoop用户登录或者使用su – hadoop切换到hadoop 用户。操作命令如下。 [root@node1 ~]# su - hadoop (2)使用ssh-keygen生成证书密钥,操作命令如下。 [hadoop@node1 ~]$ssh-keygen -t dsa (3)使用ssh-copy-id分别拷贝证书公钥到node1,node2,node3,node4节点机上,操作命令如下。 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node1 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node2 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node3 [hadoop@node1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub node4 (4)在node1节点机上使用ssh测试无密码登录node1节点机,操作命令如下。 [hadoop@node1 ~]$ ssh node1 Last Login: Mon Dec 22 08:42:38 2014 from node1 [hadoop@node1 ~]$ exit Logout Connection to node1 closed.

Hadoop-0.20.2详细安装及疑难问题

安装 2011年4月4日 10:13 Hadoop-0.20.2安装使用 1、Cygwin 安装 ssh 2、按照以下的文档配置ssh 在Windows上安装Ha doop教程.pdf 3、几个配置文件的配置 3.1、conf/core-site.xml https://www.360docs.net/doc/0b5676862.html, hdfs://localhost:9000 true hadoop.tmp.dir /workspace/temp/hadoop/tmp/hadoop- ${https://www.360docs.net/doc/0b5676862.html,} true 3.2、conf/hdfs-site.xml dfs.replication 1 true https://www.360docs.net/doc/0b5676862.html,.dir /workspace/temp/hadoop/data/hadoop/name true

dfs.data.dir /workspace/temp/hadoop/data/hadoop/data true 3.3、conf/mapred-site.xml mapred.job.tracker localhost:9001 true 3.4、conf/hadoop-env.sh export JAVA_HOME=D:/workspace/tools/jdk1.6 4、解决启动的时候 ClassNotFound: org.apache.hadoop.util.PlatformName 将 %hadoop_home%\bin\hadoop-config.sh中的第190行 修改为如下: JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m -classpath ${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"` 5、命令

hadoop3安装和配置

hadoop3.0.0安装和配置1.安装环境 硬件:虚拟机 操作系统:Centos 7 64位 IP:192.168.0.101 主机名:dbp JDK:jdk-8u144-linux-x64.tar.gz Hadoop:hadoop-3.0.0-beta1.tar.gz 2.关闭防火墙并配置主机名 [root@dbp]#systemctl stop firewalld #临时关闭防火墙 [root@dbp]#systemctl disable firewalld #关闭防火墙开机自启动 [root@dbp]#hostnamectl set-hostname dbp 同时修改/etc/hosts和/etc/sysconfig/network配置信息 3.配置SSH无密码登陆 [root@dbp]# ssh-keygen -t rsa #直接回车 [root@dbp]# ll ~/.ssh [root@dbp .ssh]# cp id_rsa.pub authorized_keys [root@dbp .ssh]# ssh localhost #验证不需要输入密码即可登录

4.安装JDK 1、准备jdk到指定目录 2、解压 [root@dbp software]# tar–xzvf jdk-8u144-linux-x64.tar.gz [root@dbp software]# mv jdk1.8.0_144/usr/local/jdk #重命名4、设置环境变量 [root@dbp software]# vim ~/.bash_profile 5、使环境变量生效并验证 5.安装Hadoop3.0.0 1、准备hadoop到指定目录 2、解压

Hadoop全分布式安装配置

Hadoop全分布式安装配置 一实验目的: 1、了解Hadoop的体系结构、组成; 2、熟练掌握Hadoop的配置、安装方法; 3、通过安装Hadoop了解Hadoop的原理; 二实验内容: 集群包含三个安装了Linux操作系统的节点。将其中的一个节点作为NameNode,另外两个节点作为DataNode,安装之前先利用ping命令,确认三个节点之间的网络互通,即可以互相ping通。假设三个节点IP地址如下,实际的集群节点IP地址可以不同。 NameNode:192.168.198.2 主机名:master DataNode1:192.168.198.3 主机名:slaver1 DataNode2:192.168.198.4 主机名:slaver2 三实验环境: 在申请的虚拟服务器上安装了VMWare Workstation虚拟3个Ubuntu14.04系统。 四安装配置过程: 1、安装Vmware WorkStation软件 下载安装Vmware WorkStation12.0软件。 2、在虚拟机上安装linux操作系统 在Vmware WorkStation12.0中创建一个Ubuntu14.04系统。拷贝镜像文件复制出三个系统。分别为master、slaver1、slaver2。 3、配置hosts、hostname文件

在三台机器上配置相同的hosts文件 (1)修改hosts sudo gedit /etc/hosts 192.168.198.200 master 192.168.198.199 slave1 192.168.198.198 slave2 (2)修改hostname sudo gedit /etc/hostname 4、配置ip地址 配置ip:sudo gedit /etc/network/interfaces slave2 auto eth0 iface eth0 inet static address 192.168.198.198 gateway 192.168.198.107 netmask 255.255.255.0 slave1 auto eth0 iface eth0 inet static address 192.168.198.199 gateway 192.168.198.107 netmask 255.255.255.0 master auto eth0 iface eth0 inet static address 192.168.198.200 gateway 192.168.198.107 netmask 255.255.255.0

centos下hadoop2.6.0配置

Hadoop-2.6.0配置 前面的部分跟配置Hadoop-1.2.1的一样就可以,什么都不用变,完全参考文档1即可。下面的部分就按照下面的做就可以了。 hadoop-2.6.0的版本用张老师的。 下面的配置Hadoop hadoop-2.6.0的部分 1.修改hadoop- 2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持: export JAVA_HOME=/usr/java/jdk1.6.0_45 如果不知道你的JDK目录,使用命令echo $JAVA_HOME查看。 2.修改hadoop-2.6.0/etc/hadoop/core-site.xml 注意:必须加在节点内 hadoop.tmp.dir /home/hadoop/hadoop-2.6.0/tmp Abase for other temporary directories. https://www.360docs.net/doc/0b5676862.html, hdfs://master:9000 3.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml https://www.360docs.net/doc/0b5676862.html,.dir /home/hadoop/hadoop-2.6.0/dfs/name Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently. dfs.data.dir /home/hadoop/hadoop-2.6.0/dfs/data Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks. dfs.replication 1 4.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml

(完整word版)hadoop安装教程

1、VMware安装 我们使用Vmware 14的版本,傻瓜式安装即可。(只要) 双击 如过 2.安装xshell 双击 3.安装镜像: 解压centos6.5-empty解压 双击打开CentOS6.5.vmx 如果打不开,在cmd窗口中输入:netsh winsock reset 然后重启电脑。 进入登录界面,点击other 用户名:root 密码:root 然后右键open in terminal 输入ifconfig 回车 查看ip地址

打开xshell

点击链接 如果有提示,则接受 输入用户名:root 输入密码:root 4.xshell连接虚拟机 打开虚拟机,通过ifconfig查看ip

5.安装jkd 1.解压Linux版本的JDK压缩包 mkdir:创建目录的命令 rm -rf 目录/文件删除目录命令 cd 目录进入指定目录 rz 可以上传本地文件到当前的linux目录中(也可以直接将安装包拖到xshell窗口) ls 可以查看当前目录中的所有文件 tar 解压压缩包(Tab键可以自动补齐文件名)

pwd 可以查看当前路径 文档编辑命令: vim 文件编辑命令 i:进入编辑状态 Esc(左上角):退出编辑状态 :wq 保存并退出 :q! 不保存退出 mkdir /home/software #按习惯用户自己安装的软件存放到/home/software目录下 cd /home/software #进入刚刚创建的目录 rz 上传jdk tar包 #利用xshell的rz命令上传文件(如果rz命令不能用,先执行yum install lrzsz -y ,需要联网) tar -xvf jdk-7u51-linux-x64.tar.gz #解压压缩包 2.配置环境变量 1)vim /etc/profile 2)在尾行添加 #set java environment JAVA_HOME=/home/software/jdk1.8.0_65 JAVA_BIN=/home/software/jdk1.8.0_65/bin PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH Esc 退出编辑状态 :wq #保存退出 注意JAVA_HOME要和自己系统中的jdk目录保持一致,如果是使用的rpm包安

hadoop2.6基于yarn安装配置详解

Hadoop2.6配置详解 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。 这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.6解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM(由cloudra提出,原理类似zookeeper)。这里我使用QJM完成。主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode 1安装前准备 1.1示例机器 192.168.0.10 hadoop1 192.168.0.20 hadoop2 192.168.0.30 hadoop3 192.168.0.40 hadoop4 每台机器都有一个hadoop用户,密码是hadoop 所有机器上安装jdk1.7。 在hadoop2,hadoop3,hadoop4上安装Zookeeper3.4集群。 1.2配置ip与hostname 用root用户修改每台机器的hosts

hadoop安装简要过程和相关配置文件

Hadoop安装简要过程及配置文件 1、机器准备 ①、Linux版操作系统centos 6.x ②、修改主机名,方便配置过程中记忆。修改文件为: /etc/sysconfig/network 修改其中的HOSTNAME即可 ③、配置局域网内,主机名与对应ip,并且其中集群中所有的机器的文件相同,修改文件为 /etc/hosts 格式为: 10.1.20.241 namenode 10.1.20.242 datanode1 10.1.20.243 datanode2 2、环境准备 ①、配置ssh免密码登陆,将集群中master节点生成ssh密码文件。具体方法: 1)、ssh-keygen -t rsa 一直回车即可,将会生成一份 ~/.ssh/ 文件夹,其中id_rsa为私钥文件 id_rsa.pub公钥文件。 2)、将公钥文件追加到authorized_keys中然后再上传到其他slave节点上 追加文件: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 上传文件: scp ~/.ssh/authorized_keys root@dananode:~/.ssh/ 3)、测试是否可以免密码登陆:ssh 主机名或局域网ip ②、配置JDK ③、创建hadoop用户 groupadd hadoop useradd hadoop -g hadoop 4)、同步时间 ntpdate https://www.360docs.net/doc/0b5676862.html, 5)、关闭防火墙 service iptables stop 3、安装cdh5 进入目录/data/tools/ (个人习惯的软件存储目录,你可以自己随便选择); wget "https://www.360docs.net/doc/0b5676862.html,/cdh5/one-click-install/redhat/ 6/x86_64/cloudera-cdh-5-0.x86_64.rpm" yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm 添加cloudera仓库验证: rpm --importhttps://www.360docs.net/doc/0b5676862.html,/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera

Hadoop详细安装配置过程

1.下载并安装安装ssh sudo apt-get install openssh-server openssh-client 3.搭建vsftpd #sudo apt-get update #sudo apt-get install vsftpd 配置参考的开始、关闭和重启 $sudo /etc/vsftpd start #开始 $sudo /etc/vsftpd stop #关闭 $sudo /etc/vsftpd restart #重启 4.安装 sudo chown -R hadoop:hadoop /opt cp /soft/ /opt sudo vi /etc/profile alias untar='tar -zxvf' sudo source /etc/profile source /etc/profile untar jdk* 环境变量配置 # vi /etc/profile ●在profile文件最后加上 # set java environment export JAVA_HOME=/opt/ export CLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/lib/ export PATH=$JAVA_HOME/bin:$PATH 配置完成后,保存退出。 ●不重启,更新命令 #source /etc/profile ●测试是否安装成功 # Java –version 其他问题: 出现unable to resolve host 解决方法 参考 开机时停在Starting sendmail 不动了的解决方案 参考安装软件时出现E: Unable to locate package vsftpd 参考vi/vim 使用方法讲解 参考分类: Hadoop

Hadoop的安装与配置及示例wordcount的运行

Hadoop的安装与配置及示例程序 wordcount的运行 目录 前言 (1) 1 机器配置说明 (2) 2 查看机器间是否能相互通信(使用ping命令) (2) 3 ssh设置及关闭防火墙 (2) 1)fedora装好后默认启动sshd服务,如果不确定的话可以查一下[garon@hzau01 ~]$ service sshd status (3) 2)关闭防火墙(NameNode和DataNode都必须关闭) (3) 4 安装jdk1.6(集群中机子都一样) (3) 5 安装hadoop(集群中机子都一样) (4) 6 配置hadoop (4) 1)配置JA V A环境 (4) 2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件 (5) 3)将NameNode上完整的hadoop拷贝到DataNode上,可先将其进行压缩后直接scp 过去或是用盘拷贝过去 (7) 4)配置NameNode上的conf/masters和conf/slaves (7) 7 运行hadoop (7) 1)格式化文件系统 (7) 2)启动hadoop (7) 3)用jps命令查看进程,NameNode上的结果如下: (8) 4)查看集群状态 (8) 8 运行Wordcount.java程序 (8) 1)先在本地磁盘上建立两个文件f1和f2 (8) 2)在hdfs上建立一个input目录 (9) 3)将f1和f2拷贝到hdfs的input目录下 (9) 4)查看hdfs上有没有f1,f2 (9) 5)执行wordcount(确保hdfs上没有output目录) (9) 6)运行完成,查看结果 (9) 前言 最近在学习Hadoop,文章只是记录我的学习过程,难免有不足甚至是错误之处,请大家谅解并指正!Hadoop版本是最新发布的Hadoop-0.21.0版本,其中一些Hadoop命令已发生变化,为方便以后学习,这里均采用最新命令。具体安装及配置过程如下:

hadoop环境配置入门教程

ubuntu 下安装配置hadoop 1.0.4 第一次搞hadoop,折腾我2天,功夫不负有心人,终于搞好了,现在来分享下, 我的环境 操作系统:wmv虚拟机中的ubuntu12.04 hadoop版本:hadoop-1.0.4(听说是稳定版就下了) eclipse版本:eclipse-jee-indigo-SR2-win32 1.先安装好jdk,然后配置好jdk的环境变量,在这里我就不累赘了!网上多的是 2.安装ssh这个也不用说了 2.把hadoop-1.0.4.tar.gz拖到虚拟机中,解压,比如: /home/wys/Documents/hadoop-1.0.4/ (有的还单独建了个用户,为了舍去不必要的麻烦我都是用root用户来操作的) 3.修改hadoop-1.0.4/conf 下面的core-site.xml文件,如下: https://www.360docs.net/doc/0b5676862.html, hdfs://192.168.116.128:9000 hadoop.tmp.dir /home/wys/Documents/tmp

192.168.116.128这个是虚拟机中ubuntu的ip,听说用localhost,127.0.0.1都不行,我没试过,直接写上ip地址了 tmp是预先创建的一个目录 4.修改hadoop-env.sh 把export JAVA_HOME=xxxxxx 这行的#号去掉,写上jdk的目录路径 5.修改hdfs-site.xml如下: dfs.replication 1 dfs.permissions false 说明:为了以后用eclipse开发出现各种问题,就把权限关了!

Hadoop安装配置超详细步骤

Hadoop的安装 1、实现linux的ssh无密码验证配置. 2、修改linux的机器名,并配置/etc/hosts 3、在linux下安装jdk,并配好环境变量 4、在windows下载hadoop 1.0.1,并修改hadoop-env.sh,core-site.xml, hdfs-site.xml, mapred-site.xml,masters,slaves文件的配置 5、创建一个给hadoop备份的文件。 6、把hadoop的bin加入到环境变量 7、修改部分运行文件的权限 8、格式化hadoop,启动hadoop 注意:这个顺序并不是一个写死的顺序,就得按照这个来。如果你知道原理,可以打乱顺序来操作,比如1、2、3,先哪个后哪个,都没问题,但是有些步骤还是得依靠一些操作完成了才能进行,新手建议按照顺序来。

一、实现linux的ssh无密码验证配置 (1)配置理由和原理 Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,(datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解)。大概意思是,namenode 和datanode之间发命令是靠ssh来发的,发命令肯定是在运行的时候发,发的时候肯定不希望发一次就弹出个框说:有一台机器连接我,让他连吗。所以就要求后台namenode和datanode 无障碍的进行通信。 以namenode到datanode为例子:namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode 进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到datanode上。

Hadoop安装手册_Hadoop2.0-v1.6

Hadoop2.0安装手册目录 第1章安装VMWare Workstation 10 (4) 第2章VMware 10安装CentOS 6 (10) 2.1 CentOS系统安装 (10) 2.2 安装中的关键问题 (13) 2.3 克隆HadoopSlave (17) 2.4 windows中安装SSH Secure Shell Client传输软件 (19) 第3章CentOS 6安装Hadoop (23) 3.1 启动两台虚拟客户机 (23) 3.2 Linux系统配置 (24) 3.2.1软件包和数据包说明 (25) 3.2.2配置时钟同步 (25) 3.2.3配置主机名 (26) 3.2.5使用setup 命令配置网络环境 (27) 3.2.6关闭防火墙 (29) 3.2.7配置hosts列表 (30) 3.2.8安装JDK (31) 3.2.9免密钥登录配置 (32) 3.3 Hadoop配置部署 (34) 3.3.1 Hadoop安装包解压 (34) 3.3.2配置环境变量hadoop-env.sh (34) 3.3.3配置环境变量yarn-env.sh (35) 3.3.4配置核心组件core-site.xml (35) 3.3.5配置文件系统hdfs-site.xml (35) 3.3.6配置文件系统yarn-site.xml (36) 3.3.7配置计算框架mapred-site.xml (37) 3.3.8 在master节点配置slaves文件 (37) 3.3.9 复制到从节点 (37) 3.4 启动Hadoop集群 (37) 3.4.1 配置Hadoop启动的系统环境变量 (38) 3.4.2 创建数据目录 (38) 3.4.3启动Hadoop集群 (38) 第4章安装部署Hive (44) 4.1 解压并安装Hive (44) 4.2 安装配置MySQL (45) 4.3 配置Hive (45) 4.4 启动并验证Hive安装 (46) 第5章安装部署HBase (49) 5.1 解压并安装HBase (49) 5.2 配置HBase (50) 5.2.1 修改环境变量hbase-env.sh (50) 5.2.2 修改配置文件hbase-site.xml (50) 5.2.3 设置regionservers (51)

Hadoop集群安装详细步骤

Hadoop集群安装详细步骤|Hadoop安装配置 文章分类:综合技术 Hadoop集群安装 首先我们统一一下定义,在这里所提到的Hadoop是指Hadoop Common,主要提供DFS(分布式文件存储)与Map/Reduce的核心功能。 Hadoop在windows下还未经过很好的测试,所以笔者推荐大家在linux(cent os 5.X)下安装使用。 准备安装Hadoop集群之前我们得先检验系统是否安装了如下的必备软件:ssh、rsync和Jdk1.6(因为Hadoop需要使用到Jdk中的编译工具,所以一般不直接使用Jre)。可以使用yum install rsync来安装rsync。一般来说ssh是默认安装到系统中的。Jdk1.6的安装方法这里就不多介绍了。 确保以上准备工作完了之后我们就开始安装Hadoop软件,假设我们用三台机器做Hadoop集群,分别是:192.168.1.111、192.168.1.112和192.168.1.113(下文简称111,112和113),且都使用root用户。 下面是在linux平台下安装Hadoop的过程: 在所有服务器的同一路径下都进行这几步,就完成了集群Hadoop软件的安装,是不是很简单?没错安装是很简单的,下面就是比较困难的工作了。 集群配置

根据Hadoop文档的描述“The Hadoop daemons are N ameNode/DataNode and JobTracker/TaskTracker.”可以看出Hadoop核心守护程序就是由 NameNode/DataNode 和JobTracker/TaskTracker这几个角色构成。 Hadoop的DFS需要确立NameNode与DataNode角色,一般NameNode会部署到一台单独的服务器上而不与DataNode共同同一机器。另外Map/Reduce服务也需要确立JobTracker和TaskTracker的角色,一般JobTracker与NameNode共用一台机器作为master,而TaskTracker与DataNode同属于slave。至于NameNode/DataNode和JobTracker/TaskTracker的概念这里就不多讲了,需要了解的可以参看相关文档。 在这里我们使用111作为NameNode与JobTracker,其它两台机器作为DataNode和TaskTracker,具体的配置如下: 环境的配置 在$HADOOP_HOME/conf/hadoop-env.sh中定义了Hadoop启动时需要的环境变量设置,其中我们至少需要配置JAVA_HOME(Jdk的路径)变量;另外我们一般还需要更改HADOOP_LOG_DIR(Hadoop的日志路径)这个变量,默认的设置是“export HADOOP_LOG_DIR=${HADOOP_HOME}/logs”,一般需要将其配置到一个磁盘空间比较大的目录下。 Hadoop核心程序配置 Hadoop 包括一组默认配置文件($HADOOP_HOME/src目录下的 core/core-default.xml, hdfs/hdfs-default.xml 和 mapred/mapred-default.xml),大家可以先好好看看并理解默认配置文件中的那些属性。虽然默认配置文件能让Hadoop核心程序顺利启动,但对于开发人员来说一般需要自己的来设置一些常规配置以满足开发和业务的需求,所以我们需要对默认配置文件的值进行覆盖,具体方法如下。 $HADOOP_HOME/conf/core-site.xml是Hadoop的核心配置文件,对应并覆盖core-default.xml中的配置项。我们一般在这个文件中增加如下配置: Core-site.xml代码 1. 2. 3. 4. https://www.360docs.net/doc/0b5676862.html, 5. hdfs://192.168.1.111:9000 6. 7.

Hadoop实验环境搭建

单机上通过虚拟机搭建Hadoop环境 (以下过程软件版本不固定,只能相互兼容就可以) 1.安装vmware workstation(1 2.1.0) 2.创建3个虚拟机(每个虚拟机512M内存,8G空间),每个虚拟机安装Ubuntu 桌面版 (11.10)(虚拟机需安装vmare tools,上网上式可设置为桥接方式:直接连接物理网络)。 一个虚拟机作为name node(master),两个虚拟机作为data node 1(slave1)和data node 2(slave2).三个虚拟机可以共享一个主机目录share,该目录在虚拟机上显示为/mnt/hgfs/share 对每个虚拟机: 修改root密码(sudo passwd root),然后用root用户登录。 3.通过如下配置master, slave1, slave2。 1)通过vi /etc/hostname修改主机名。 2)通过vi /etc/hosts修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系. 在/usr/src目录: 4.下载zlib(1.2.8)并解压安装 5.下载openssl(1.0.1)并解压安装 6.下载openssh(6.0p1)并解压安装 安装后运行命令ssh localhost,如果显示” Privilege separation user sshd does not exist”,解决方法: 修改/etc/passwd,在其中加入 sshd:x:74:74:Privilege-seperated SSH:/var/empty/sshd:/nologin 7.配置ssh无密码登录 在命令行输入:vi /etc/profile.d/hadoop.sh 在hadoop.sh加入以下命令: sudo ufw disable /usr/local/sbin/sshd 在name node: ssh-keygen –t dsa -P ‘’–f ~/.ssh/id_dsa 在data node 1: ssh-keygen –t dsa-P‘’–f ~/.ssh/id_dsa 在data node 2: ssh-keygen –t dsa -P‘’–f ~/.ssh/id_dsa 在name node: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa0.pub 在data node 1: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa1.pub 在data node 2: scp ~/.ssh/id_dsa.pub /mnt/hgfs/share/id_dsa2.pub

相关文档
最新文档