windows7搭建本地hadoop环境

一、安装JDK,因为hadoop主要由java语言编写的,所以需要安装java程序的运行环境。JDK可以编译java语言程序,和一些java类库。

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse 本身不带有jdk。Eclipse是免安装的,只需要在电脑上解压后,双击Eclipse.exe就可以直接运行。不过在此之前必须要在电脑上安装好jdk,并且在电脑上配置好路径。查看路径配置好的办法是:在dos环境下,打上java看有反应没,然后再打上javac,如果都有反应(不报错)那就是配置好了。Eclipse 用通俗的话来说就是一个写java代码的工具,但却不能够进行java编译。必须要借助jdk。jdk中包含有java所有的封装的类和方法,我们只需要调用即可。jdk是编写Java的必须条件,没有jdk那就不能运行java程序。但是没有Eclipse可以照样编写java。例如可以用记事本写一个Java程序,然后在安装有jdk的环境下运行程序。主要的关系就是使用Eclipse更加的方便更加的又效率而且编写的代码不容易出错。初学者用Eclipse挺好的,不过现在的myEclipse的功能已经超过Eclipse了,Eclipse中功能MMyEclipse中全部都有。建议以后用MyEclipse!Eclipse的最大一个好处就是免安装,非常方便。

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\develop\hadoop-2.7.6\hadoop-2.7.6\bin;C:\Program Files\Microsoft VS Code\bin;D:\develop\hadoop-2.7.6\hadoop-2.7.6\sbin;%HADOOP_HOME%/bin;C:\Program Files\Git\cmd;C:\Program Files\PuTTY\;D:\soft\ffmpeg\bin

再就是配置相应的hadoop-eclipse-plugin。hadoop本地运行java程序,将结果返回到hdfs。因为只有一个节点,所以无法提交到集群环境下运行。

Eclipse插件jar文件复制到plugins文件夹下,不能自动安装

把platform.xml删了,可到Eclipse根目录下按CTRL+F进行查找该文件,

找到后删除,Eclipse就会重新读取Plugins目录下的插件并后进行安装。

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
电脑系统是64位win7,下载了jdk-windows-x64.exe版本。

安装到D盘即可:D:\JDK1.8

环境变量配置: 
在环境变量添加系统变量:JAVA_HOME:D:\JDK1.8 
在path中添加: 
%JAVA_HOME%\bin 
%JAVA_HOME%\jre\bin  

在CMD端执行命令:path,注意路径中是否有空格,在环境变量中修改。然后关闭CMD,重新打开即可。

在cmd终端执行命令:java 
如果没有报错,且打印出相关信息,说明安装成功。

二、安装Hadoop

2.1 下载Hadoop

下载地址:http://hadoop.apache.org/releases.html 
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 
选择适当的稳定版本2.7.6,点击“binary” 即可开始下载。 
Hadoop的Linux版本和Windows版本共用:hadoop-2.7.6.tar.gz

2.2 安装Hadoop

将Hadoop安装文件解压到指定目录:D:\develop\hadoop-2.7.6

2.3 配置Hadoop的环境变量

在path中添加: D:\develop\hadoop-2.7.6\bin

2.4 配置Hadoop文件

1.编辑“D:\develop\hadoop-2.7.6\etc\hadoop”下的core-site.xml文件,内容如下,切记要一样,并保存。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!--指定namenode的地址-->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8010</value>
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>
  </property>
  <!--用来指定使用hadoop时产生文件的存放目录-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/D:/SDE/Hadoop2.7.6/workplace/tmp</value>
    <description>namenode上本地的hadoop临时文件夹</description>
   </property>
</configuration>


2.编辑“D:\develop\hadoop-2.7.6\etc\hadoop”目录下的hdfs-site.xml。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!--指定hdfs保存数据的副本数量-->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>副本个数</description>
  </property>

  <property>
    <name>dfs.name.dir</name>
    <value>/D:/SDE/Hadoop2.7.6/workplace/name</value>
    <description>namenode上存储hdfs名字空间元数据 </description>
  </property>

  <property>
    <name>dfs.data.dir</name>
    <value>/D:/SDE/Hadoop2.7.6/workplace/data</value>
    <description>datanode上数据块的物理存储位置</description>
  </property>
</configuration>


3.编辑“D:\develop\hadoop-2.7.6\etc\hadoop”目录下的mapred-site.xml(如果不存在将mapred-site.xml.template重命名为mapred-site.xml)文件。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--告诉hadoop以后MR运行在YARN上--> 
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


4.编辑“D:\develop\hadoop-2.7.6\etc\hadoop”目录下的yarn-site.xml文件。

<?xml version="1.0"?>
<configuration>
<!--nomenodeManager获取数据的方式是shuffle-->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

<!--指定Yarn的老大(ResourceManager)的地址-->   
<!--****************-->  
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
    </property> 
</configuration>


2.5 替换文件

下载地址: 
https://download.csdn.net/download/goodmentc/10528799 
解压,将全部bin目录文件替换hadoop目录下的bin目录。

2.6 运行hadoop

1.运行cmd窗口,执行:hdfs namenode -format。
2.运行cmd窗口,切换到hadoop的sbin目录,执行start-all.cmd,它将会启动以下4个进程窗口。
2.7 验证

Resourcemanager GUI 地址 – http://localhost:8088
Namenode GUI 地址 – http://localhost:50070 
如果这两个地址都能够打开,说明运行成功。
接着我们可以启动浏览器查看datanode控制台和mapreduce控制台

http://localhost:50070为datanode

http://localhost:8088/cluster为mapreduce

Windows环境下采用eclipse连接Hadoop伪分布式集群

遇到问题如下:1.下载eclipse,然后将hadoop-eclipse-kepler-plugin-2.7.3插件拷贝到plugins下,发现用location那个方法始终连接不上,显示两种错误,一个是空指针异常,一个是map/reducelocation错误。尝试多种方法,始终无法解决,左边无法出现DFS目录。解决办法,是

a、File->New Project->Map/Reduce Project

b、导入运行MapReduce所需的外部jar包

分别导入以下文件夹下的包:

hadoop-2.6.0/share/hadoop/mapreduce下的所有jar包(子文件夹下的jar包不用)
hadoop-2.6.0/share/hadoop/common下的hadoop-common-2.6.0.jar
hadoop-2.6.0/share/hadoop/common/lib下的所有包
hadoop-2.6.0/share/hadoop/yarn下的所有包(子文件夹下的jar包不用)
hadoop-2.6.0/share/hadoop/hdfs下的hadoop-hdfs-2.6.0.jar
c、导入两个外部文件到项目src文件夹中。 
假设org文件夹以及log4j.properties文件存在于一个“附加文件”中。 
右键单击src->import->File system->附加文件。

即可出现DFS目录,也就是HDFS文件目录。

2.问题安装eclipse后,并且加入hadoop-eclipse-kepler-plugin插件却看不到hadoop-map/reduce目录。那是eclipse版本的问题。eclipse-standard-luna-SR2-win32-x86_64该版本亲测可用,在官网下载。

3.要启动hadoop,才可在DFS目录下看到文件,启动后可右键点击选择重新连接。

4.在新建的项目下,可看到wordcount文件,执行时,有时会出现找不到hadoop_home错误。这时可在系统中添加HADOOP_HOME的环境变量,重新启动计算机。

5.右键点击wordcount,run as  run configurations,配置输入文件目录,以及输出文件目录,即可。注意输入文件目录必须为hdfs系统文件,不带文件属性.txt。而不是主机系统文件。

猜你喜欢

转载自blog.csdn.net/u013070875/article/details/83029079