千家信息网

windows上如何配置hadoop

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍了windows上如何配置hadoop,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、 配置hadoop1.1 程序
千家信息网最后更新 2024年09月22日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\hadoopset YARN_CONF_DIR=%HADOOP_CONF_DIR%set PATH=%PATH%;%HADOOP_PREFIX%\bin

1.2.2 core-site.xml

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

      fs.default.name    hdfs://0.0.0.0:19000  

1.2.3 hdfs-site.xml

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

      dfs.replication    1  

1.2.4 slaves

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

localhost

1.2.5 mapred-site.xml

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

        mapreduce.job.user.name     %USERNAME%           mapreduce.framework.name     yarn         yarn.apps.stagingDir    /user/%USERNAME%/staging        mapreduce.jobtracker.address    local  

1.2.6 yarn-site.xml

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

      yarn.server.resourcemanager.address    0.0.0.0:8020            yarn.server.resourcemanager.application.expiry.interval    60000        yarn.server.nodemanager.address    0.0.0.0:45454        yarn.nodemanager.aux-services    mapreduce_shuffle        yarn.nodemanager.aux-services.mapreduce.shuffle.class    org.apache.hadoop.mapred.ShuffleHandler        yarn.server.nodemanager.remote-app-log-dir    /app-logs        yarn.nodemanager.log-dirs    /dep/logs/userlogs        yarn.server.mapreduce-appmanager.attempt-listener.bindAddress    0.0.0.0        yarn.server.mapreduce-appmanager.client-service.bindAddress    0.0.0.0        yarn.log-aggregation-enable    true        yarn.log-aggregation.retain-seconds    -1        yarn.application.classpath    %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/*  

二、 测试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窗口千万不要关@_@

2.1 测试 hdfs

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

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

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

hdfs dfs -ls /

好了,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目录下。不出意外的话,你会拿到这么一个输出。

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

hdfs dfs -get /out P:\

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

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

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

0