http://blog.csdn.net/elvis_dataguru/article/details/8962168
1介绍
Hadoop是一个强大的架构,用于自动并行化的计算任务。不幸的是某些编程对于它是个挑战。Hadoop程序让人难以理解和调试。有一种方法可以在开发人员的机器上本地运行一个简化版的Hadoop集群使之更容易一些。本教程描述如何设置这样一个集群运Windows平台上。它还描述了如何使用Eclipse集成这个集群,一个主要的Java开发环境。
2.安装前的准备
在我们开始之前,要确保以下组件安装在了你的机器上。
l Java 1.7.0_17
l Eclipse-SDK-4.2.2
注:本教程测试环境是Hadoop1.0.4版本,如果你使用的是其他版本可以酌情去安装
为了确保不出现问题,建议都使用最新版本,我这两个版本都是最新下载的。
2.1 安装Cygwin
安装完预安装软件后,下一步就是安装Cygwin环境。Cygwin是一个组从Unix上移植到Windows的包。因为Hadoop都是写在Unix平台上的,所以用Cygwin提供Hadoop的运行环境。
安装cygwin环境有以下步骤:
1) 首先从http://www.cygwin.com网站下载所需的安装文件
2) 点击下载文件,你会看到如下的截图-本教程版本为1.7.17-1版本
CygwinInstaller
3) 当你看到上面的截图的时候,点击下一步按钮你会看到屏幕上有选择包的界面。要确保你选择了net category里的”openssh”。这个包是确保Hadoop集群正常运作和Eclipse的插件。
4)你选择完这些包后,点击下一步,完成安装。
3.设置环境变量
下一步是设置路径环境变量,以至于Eclipse IDE可以访问Cygwin命令。
设置环境变量需要以下步骤:
1) 我的计算机右键->属性
2)当你看到这个属性对话框,点击环境变量按钮如下所示
3)当环境变量对话框出现时,单击路径变量位于系统变量栏,然后单击Edit按钮。
4)当编辑对话框在Path末尾添加以下文本
- $ ;d:\cygwin\bin;d:\cygwin\usr\sbin
注:这个路径要根据你cygwin安装到那个目录
5)OK!!!
4 设置SSH守护进程
两个Hadoop的脚本和Eclipse的插件需要无密码的SSH来操作。本节描述了在Cygwin环境如何设置。
4.1 配置ssh
Xp下:
1)打开Cygwin命令
2)执行如下命令
- $ ssh-host-config
3) when asked “Shouldprivilege separation be used”, answer yes.
4) When asked “new local account 'sshd'”, answer yes.
5) When asked “(Say "no" if it is already installed as a service)”,answeryes.
6) When asked Enter”the valueof CYGWIN for the daemon”, enter ntsec.
7)When asked “Do you want to use a differentname?”,answeryes.
8)输入密码
9)下面是一个示例会话的命令。
4.2 开启ssh服务
第一种方法:直接输入命令
- $ net start sshd 或者 cygrunsrv –S sshd
第二种方法:图形化操作
1)在你的桌面或者开始菜单里找到”我的计算机”,然后鼠标右键选择管理。
2)在左边的面板展开服务和应用程序,然后选择服务选项。
3)找到CYGWIN sshd 选项,然后鼠标右键
4)在菜单栏点击开启。
Win7下比较麻烦:
如果win7也按照跟xp一样的安装,就算你运行cygwin以管理员权限运行,到最后估计一样会报错,反正我这是这样子的,服务可以起来,但在最终密钥什么的都配置完成后执行会报:
Elvis@Elvis-PC ~
$ssh localhost
connection closed by ::1
后来针对这个问题我找了N多资料,主要是E文,难为我了,其中有官网的FQA里的文章还有很多国外的博客吧!具体连接我也搞乱了,就不贴出来了,根据几篇资料方法总结如下:
1) 如果你安装了SSH(估计很多都安装了然后发现有错误),可以按以下命令卸载:
- <pre name="code" class="plain">$net stop sshd
- $ cygrunsrv-R sshd
- $net user sshd /DELETE # See note below
- $ rm-R /etc/ssh*
- $mkpasswd -cl > /etc/passwd
- $mkgroup --local > /etc/group</pre>
- <pre></pre>
- <pre></pre>
2) 决定一个用来运行sshd进程的用户,相信使用win7的同学肯定都至少会有一个非Administror用户,我的环境现在就是平时都使用Elvis用户具有管理员权限。而下一步需要执行的命令是必须要Administrator才有权利执行的,而管理员用户一般都是被禁的,具体怎么开启请看我博客里的一篇帖子:
http://blog.csdn.net/elvis_dataguru/article/details/8739987
3) 使用管理员用户执行以下命令来查看用户现在所具有权限(或者说叫许可?)
- $ editrights -l -u Elvis
4) 估计大家上述命令执行后肯定没有我们现在所需要的权限,执行以下命令来增加吧!
- $ editrights.exe -a SeAssignPrimaryTokenPrivilege -u Elvis
- $ editrights.exe -a SeCreateTokenPrivilege -u Elvis
- $ editrights.exe -a SeTcbPrivilege -u Elvis
- $ editrights.exe -a SeServiceLogonRight -u Elvis
5)做完这些后,可以注销进入Elvis用户下继续操作,而后面的操作动作与前面xp下安装过程一样了,就不在详述了。
4.3 建立权限密钥
Eclipse插件和Hadoop的脚本都需要通过权限密钥ssh权限来执行而不用密码了。以下步骤就是描述怎么建立权限密钥。
1) 打开cygwin终端
2) 执行以下命令生成密钥
- $ ssh-keygen
3) 当提示输入文件名等直接ENTER接受默认值
4) 命令完成后生成密钥,输入以下命令到.ssh目录
- $ cd ~/.ssh
5) 执行以下命令查看密钥是否真的生成
- $ ls -l
你应该能看到两个文件id_rsa.pub和id_rsa,看生成日期是最近生成的。这些文件中包含权限密钥。
6) 执行以下命令注册到新的authorization_keys文件中。
- $ cat id_rsa.pub >> authorized_keys
7) 现在输入以下命令验证密钥是否正确
- $ ssh lcoalhost
因为它是一个新的ssh安装,你将会被警告,主机无法确认你是否真的想连接。输入YES并且按ENTER。你会看到Cygwin在一次执行,那意味着你成功连接了。
8)现在再次执行下面命令:
- $ ssh lcoalhost
Setting upauthorization keys
5.下载,复制和解压Hadoop
1)下载hadoop 1.0.4并且放到你指定的文件夹里比如我的放在了D:\java。
2)打开Cygwin
3)执行以下命令
- $ cd
4)执行下面命令直接在windows上以窗口形式打开home目录
- $ explorer .
5) 把hadoop安装文件copy到你的Home目录下。
6. 解压Hadoop安装包
解压安装包有以下步骤:
1) 打开一个新的Cygwin
2) 执行以下命令
- $ tar –zvxf hadoop-1.0.4.tar.gz
3) 解压完后,执行以下命令
- $ ls -l
这个命令列出home目录下的内容。你应该能看一个新生成的文件hadoop-1.0.4
4)下一步执行以下命令:
- $ cd hadoop-1.0.4
- $ ls -l
如果你与下面相似的信息,就说明你解压成功了,可以进行下一步
7. 配置Hadoop
1)开启一个Cygwin窗口并且执行以下命令:
- $ cd hadoop-1.0.4
- $ cd conf
- $ explorer .
2) 最后一个命令打开了Explorer窗体进入到conf文件夹
3)配置hadoop-env.sh文件
- export JAVA_HOME=/cygdrive/c/Progra~1/Java/jdk1.7.0_02
知识补充: 注:因为我的Java安装目录Program Files有空格,所以用缩写成Progra~1
4)然后使用编辑软甲打开,我就用UE了,也可以使用eclipse来打开,主要是编辑core-site.xml、mapred-site.xml和hdfs-site.xml
5)在3个文件中<configuration>和</configuration>里插入以下内容
core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration> hdfs-site.xml <property> <name>dfs.http.address</name> <value>localhost:50070</value> </property> <property> <name>dfs.name.dir</name> <value>/usr/local/hadoop/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/local/hadoop/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> 注:在目录/usr/local目录下创建一个hadoop文件夹,这个是根据你前面配置中制定的namenode和datanode而定。 还有就是localhost最好直接写成ip地址,我写的是电脑本机的ip:10.60.115.150 |
8.格式化namenode
1)打开Cygwin,执行以下命令
- $ cd hadoop-1.0.4
- $ mkdir logs
- $ bin/hadoop namenode -format
2) 最后一个命令产生的输出
现在文件系统已经创建,可以继续下一步工作。
9.安装Hadoop插件
1)通过以下命令,打开eclipse-plugin文件夹
- $ cd hadoop-1.0.4
- $ cd contrib.
- $ cd eclipse-plugin
- $ explorer .
2) 然后把里面的hadoop-x.x.x-eclipse-plugin.jar拷贝到eclipse安装包里的plugin目录里
注:但本次教程的hadoop-1.0.4里面没有,所以我从网上找到了这个jar直接拷贝到eclipse内plugin目录里
3) 启动eclipse
4) 打开Window->OpenPerspective->other->Map/Reduce
然后在打开Window->Show View->Other 搜索mapreduce视图
5)如图IDE
6) 配置Hadoop的安装目录
现在Hadoop安装和配置完了,还有eclipse的插件,下一步拿一个小Project测试下。
10.测试集群
10.1开启本地hadoop集群
1)开启5个Cygwin,然后分别执行以下命令:
- Window1:
- $ cd hadoop-1.0.4
- $ bin/hadoop namenode
- Window2:
- $ bin/hadoop secondarynamenode
- Window3:
- $bin/hadoop jobtracker
- Window4:
- $bin/hadoop datanode
- Window5:
- $bin/hadoop tasktracker
- 或者:直接输入以下命令
- $bin/start-all.sh
这个时候进群起来了,进行下一步。
注:这个时候前3个窗口可能是一直卡在某个地方,这个是正常现象无需担心,也可以在后面加上”&”使进程在后台运行,不在详述,感兴趣的同学可以自行查阅Linux关于”&”的用法
10.2 在Eclipse建立本地Hadoop
1)在切换到Map /Reduce的角度来看,选择Map / Reduce位置选项卡下面的Eclipse环境。然后单击空白空间右键选项卡并选择“新Hadoop位置....“从上下文菜单。您应该会看到一个对话框所示类似。
3) 填入项目,以下所示:
Location Name – localhost --当然这个自己可以随便起名
Map/Reduce Master --一定要与mapred-site.xml里面一致
Host –10.60.115.150
Port – 9001
DFS Master
Check "Use M/R Master Host" --要与core-site.xml里一致
Port -- 9000
User name – Elvis
然后点击完成。
4) 然后你会看到IDE
5) 可以通过eclipse直接copyfromlocal数据。
6) 到这里,在Win下的Hadoop伪分布式集群构建完毕了+Eclipse的配置
10.3 hello测试
用Hadoop自带的WordCount实例可以统计一批文本文件中各单词出现的次数。
1) 首先先做以下动作
- $ mkdir input
- $ cd input
- $ echo “hello world” > test1.txt
- $ echo “hello hadoop”> test2.txt
- $ cat test1.txt #可以使用这个命令查看文件内容
- $ bin/hadoop dfs –put ../input in
- $ bin/hadoop dfs –ls in
- $ bin/hadoop jar hadoop-examples-1.0.4.jar wordcount in out
- $ bin/hadoop dfs –cat out/*
相关推荐
### Hadoop安装教程:单机与伪分布式配置详解 #### 一、引言 Hadoop是一种开源的大数据处理框架,广泛应用于数据存储和处理场景。本文档将详细介绍如何在Ubuntu 14.04环境下安装配置Hadoop 2.6.0版本,包括单机模式...
本文将详细介绍如何在有限的资源条件下,利用Windows7作为主机,通过VMware虚拟化技术运行Fedora操作系统,并在此环境中搭建Hadoop和HBase的伪分布式环境,最后在Windows下的Eclipse中配置相应的开发环境以进行远程...
本文将详细介绍如何在本地环境中进行Hadoop2.7.5与HBase1.2.6的伪分布式安装,这是一个适合初学者入门的实践教程。 Hadoop是Apache基金会的一个开源项目,主要由HDFS(Hadoop Distributed File System)和MapReduce...
实验主题:武汉理工大学云计算应用 - Hadoop单机模式与伪分布式 **实验目的与意义:** 本次实验旨在让学生理解并掌握Hadoop的两种基础运行模式:单机模式和伪分布式模式。Hadoop是云计算领域的重要组件,主要用于大...
虚拟机Ubuntu下hadoop2.6.0的安装与配置 (单机模式,伪分布式,完全分布式)非常详细的安装配置指南
Hadoop安装教程_单机/伪分布式配置_Hadoop2.7.1/Ubuntu 16.04 本教程主要讲述了在 Ubuntu 16.04 环境下安装 Hadoop 2.7.1 的步骤,包括单机模式、伪分布式模式和分布式模式三种安装方式。以下是本教程的知识点总结...
Hadoop 2.6 伪分布式环境部署实践 Hadoop 是一个开源的大数据处理框架,由 Apache 维护。它提供了一个可靠、高效、可扩展的分布式计算框架,广泛应用于数据处理、数据挖掘、机器学习等领域。本文将详细介绍如何在 ...
本资源"【IT十八掌徐培成】Hadoop第01天-04.hadoop配置独立模式-伪分布式.zip"聚焦于如何配置Hadoop的独立模式,尤其是伪分布式环境的搭建。以下是关于Hadoop配置、独立模式和伪分布式环境的详细讲解。 1. Hadoop...
### Hadoop3.1.3安装与单机/伪分布式配置知识点详解 #### 一、实验目的和要求 - **掌握Hadoop3.1.3的安装与配置**:包括单机模式和伪分布式模式。 - **理解Hadoop的工作原理**:特别是其在不同模式下的运行机制。 ...
Linux运维-运维课程MP4频-06-大数据之Hadoop部署-22hadoop伪分布式hdfs文件系统验
Linux运维-运维课程MP4频-06-大数据之Hadoop部署-19hadoop伪分布式介绍及软件准
### Hadoop伪分布式安装知识点详解 #### 一、Hadoop伪分布式概述 Hadoop是一种能够处理海量数据的大规模分布式计算框架。它通过将任务分解到多个计算机节点上并行处理来提高数据处理效率。Hadoop支持多种运行模式,...
这个压缩包文件“hadoop 2.X 伪分布式配置文件”是为在单个机器上模拟Hadoop集群的伪分布式环境而设计的。这种环境对于学习、测试和调试Hadoop组件非常有用,因为它避免了实际分布式环境中的复杂性,同时保留了主要...
2、大数据环境-安装Hadoop2.5.2伪分布式傻瓜教程 原创
Hadoop技术-Hadoop伪分布式安装 Hadoop技术是当前大数据处理和存储领域中最流行的技术之一,Hadoop伪分布式安装是Hadoop技术中的一个重要组件。本文将详细介绍Hadoop伪分布式安装的步骤和配置过程。 一、Hadoop伪...
Linux 下 Hadoop 伪分布式配置 Hadoop 伪分布式模式是在单机上模拟 Hadoop 分布式,单机上的分布式并不是真正的伪分布式,而是使用线程模拟分布式。Hadoop 本身是无法区分伪分布式和分布式的,两种配置也很相似,...
Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04