windows上如何配置hadoop

windows上如何配置hadoop

这篇文章主要介绍了windows上如何配置hadoop,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、 配置hadoop

1.1 程序文件

上篇文章已经编译了hadoop,并拿到一个targz的包,后来发现这个压缩包只是hadoop-common\hadoop-dist\target\hadoop-3.0.0-SNAPSHOT的压缩版本而已,编译好的全部文件就是这个文件夹,所以把这个目录拷贝到你想要的目录,下面称这个程序目录为 %HADOOP_PERFIX% (这个环境变量下面要配置,所以这里先用上)。

1.2 配置文件

下面的配置文件均位于 %HADOOP_PERFIX%\etc 目录,所以只标志文件名

1.2.1 hadoop-env.cmd

在这个文件夹里设置几个环境变量(这里需要改的就是 HADOOP_PERFIX,改成自己本机的目录)

set HADOOP_PREFIX=**你的程序目录**
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin

1.2.2 core-site.xml

这个文件默认只有configuratiion节,因为我们部署的是单机节点,直接把wiki上的复制过来就行了。

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://0.0.0.0:19000</value>
  </property>
</configuration>

1.2.3 hdfs-site.xml

同上直接复制到对应文件里。

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

1.2.4 slaves

用记事本打开这个文件,看一下里面是不是有一行

localhost

1.2.5 mapred-site.xml

这是对 mapReduce nextGen,也就是 YARN 的配置。我们既然学习,自然要学习最新的 ^_^ 。直接复制到文件中即可(如果没有文件,则直接创建)

<configuration>

   <property>
     <name>mapreduce.job.user.name</name>
     <value>%USERNAME%</value>
   </property>

   <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
   </property>

  <property>
    <name>yarn.apps.stagingDir</name>
    <value>/user/%USERNAME%/staging</value>
  </property>

  <property>
    <name>mapreduce.jobtracker.address</name>
    <value>local</value>
  </property>

</configuration>

1.2.6 yarn-site.xml

同上,是yarn的配置文件,如果没有,则创建。

<configuration>
  <property>
    <name>yarn.server.resourcemanager.address</name>
    <value>0.0.0.0:8020</value>
      </property>

  <property>
    <name>yarn.server.resourcemanager.application.expiry.interval</name>
    <value>60000</value>
  </property>

  <property>
    <name>yarn.server.nodemanager.address</name>
    <value>0.0.0.0:45454</value>
  </property>

  <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.server.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
  </property>

  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/dep/logs/userlogs</value>
  </property>

  <property>
    <name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name>
    <value>0.0.0.0</value>
  </property>

  <property>
    <name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name>
    <value>0.0.0.0</value>
  </property>

  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>-1</value>
  </property>

  <property>
    <name>yarn.application.classpath</name>
    <value>%HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*</value>
  </property>
</configuration>

二、 测试hadoop

  1. 用管理员模式打开一个cmd窗口,切换到 %HADOOP_PERFIX% 目录(不用管理员模式的cmd窗口容易出现读取文件的权限问题)。

  2. 运行 etc\hadoop\hadoop-env.cmd 进行环境变量的设置。 因为cmd中的set只对本次cmd有效,所以接下来都在这同一个cmd中操作。

  3. 运行 bin\hdfs namenode -format 命令,初始化一个hdfs文件系统。默认初始化的目录为 当前盘符:\tmp 也就是我在P盘下,会自动创建一个 P:\tmp 目录。

  4. 运行 sbin\start-dfs.cmd

如果正常,会弹出两个cmd窗口千万不要关@_@

windows上如何配置hadoop

2.1 测试 hdfs

打开一个cmd,或者回到最开始的cmd也可以。 先输入hdfs 命令试一下。 如果提示不是内部或外部命令,则重新运行 etc\hadoop\hadoop-env.cmd 如果正常,则会提示一些hdfs的相关命令。 cd到一个目录,往hdfs里放个文件试一下。

cd P:\java\apache-tomcat-8.0.35\logs
hdfs dfs -put localhot.2016-06-10.log /

就是把 .log 这个文件放到 hdfs的 / 下面。 如果有什么奇怪的提示,先不管。如果报错,额... 博主没遇到问题,根据错误信息自行搜索一下。不过我想首先,确保不要手贱的把刚才的两个服务的cmd关了。。 然后看一下文件是不是放到dfs中了。

hdfs dfs -ls /

windows上如何配置hadoop

好了,dfs 测试成功!

2.2 测试MapReduce/YARN

下面就是测试一下mapreduce了。

2.2.1 运行yarn

如果刚才测试dfs的时候你cd到了其他目录,现在需要先cd回到 %HADOOP_PERFIX% 然后运行

sbin\start-yarn.cmd

不出意外的话,又是两个cmd弹了出来,好了,现在yarn就在运行中了。 然后测试一下yarn,运行:

bin\yarn jar %HADOOP_PREFIX%\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.5.0.jar wordcount /localhot.2016-06-10.log /out

简单分析一下这个命令,执行某jar包中的wordcount任务(这个任务是做啥的,等等下面看一下输出)。输出到hdfs的out目录下。不出意外的话,你会拿到这么一个输出。

windows上如何配置hadoop

当然,为了验证是否真的正确,我们得看一下结果。 继续在cmd中输入命令:

hdfs dfs -get /out P:\

把out目录从hdfs中复制到P盘下。 好了,现在打开P:\out 文件夹。发现一个0k的 _SUCCESS 看来只是标志任务成功的文件。还有一个 10k的part-r-00000,打开之后发现:

windows上如何配置hadoop

原来,这个任务是统计文件中各词出现的次数,另外,中文在文件里面乱码了。看来hadoop的编码问题还要解决一下,这个之后再解决吧。

感谢你能够认真阅读完这篇文章,希望小编分享的“windows上如何配置hadoop”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!