作者:心若在梦就在_2012 | 来源:互联网 | 2023-10-17 21:04
这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy
这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cygwin,也无需开启ssh免密登录这些类linux的复杂流程。直接就可以sbin/start-all.cmd,开启了四个服务。
第一步、准备hadoop-2.7.0,其实就是自己编译,这里不介绍,可以直接在网上找已经编译好的windows版本。这里将我自己编译的放在github上。编译过的hadoop与一般下载的hadoop的区别在于bin目录,如果是windows,那么会有很多dll,lib等文件。主要的还是需要libwinutils.lib,winutils.exe这些文件。
第二步、既然能编译hadoop-2.7.0,那么本地环境肯定是有了jdk了,这里不介绍环境了,很简单,只需要jdk,一个编译好的hadoop-2.7.0,设置etc/hadoop/hadoop-env.cmd中的JAVA_HOME环境变量。这里需要注意,如果环境变量路径中有Program Files,需要修改为PROGRA~1,如下所示:
另外需要将hadoop目录作为环境变量HADOOP_HOME加入系统中,并将%HADOOP_HOME%\bin加入到Path环境变量中。
接着就可以验证hadoop版本信息了:
第三步、修改配置core-site.xml,hdfs-site.xml,mapred-site.xml(默认是mapred-site.xml.template,重命名一下),yarn-site.xml
core-site.xml
fs.defaultFS
hdfs://localhost:9000
hdfs-site.xml
dfs.replication
1
dfs.namenode.name.dir
/E:/software/hadoop-2.7.0/namenode
dfs.datanode.data.dir
/E:/software/hadoop-2.7.0/datanode
mapred-site.xml
mapreduce.framework.name
yarn
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
将配置文件中提到的目录datanode,namenode创建一下,另外创建一个tmp文件夹。
第四步、格式化数据 :hadoop namenode -format
第五步、启动hadoop-dfs和hadoop-yarn服务,直接运行sbin\start-all.cmd
这里会分别启动四个窗口,包含了namenode,datanode,resourcemanager,nodemanager服务。
namenode console
datanode console
resourcemanager console
nodemanager console
服务启动了,没有异常,可以进行进一步的验证。
jps查看服务
hdfs验证
mapreduce验证 :运行hadoop自带的示例 wordcount
hadoop jar share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.0.jar wordcount /user/hadoop/input \
/user/hadoop/output
查看wordcount运行结果:
webui界面就不展示了,至此,windows上部署hadoop就演示完成了。重点是需要一个编译好的hadoop。