最近因为工作需要简单搭建了一下win10 64位+myeclipse+hadoop环境,记录一下相关流程备用。
参考链接:https://zhuanlan.zhihu.com/p/47444650
准备工具包
1. jdk :1.8
2. hadoop:2.6.4 链接:https://pan.baidu.com/s/1_GKC8fQiEJFX2VCHnu0ZLQ 提取码:nlrp
3.eclipse hadoop插件:链接:https://pan.baidu.com/s/1s6oTGRUKa_FsU2OXQKbejQ 提取码:efsy
4.myeclipse:链接:https://pan.baidu.com/s/1Nb7q7XKmUzxPNd5BhoVyow 提取码:mcjb
步骤
1.首先安装jdk,配置环境变量
注意jdk路径不要有中文和空格
2.安装hadoop及环境变量配置
1.解压hadoop2.6.4安装包到本地路径。同样注意路径不要有中文和空格
2.将winutils-master下的bin文件夹复制到Hadoop2.6.4目录下,直接将原来的bin文件夹覆盖掉。
3.配置hadoop的环境变量。
第一步,新建系统变量HADOOP_HOME,路径为解压Hadoop安装包的目录。
第二步,在Path变量中新增%HADOOP_HOME%\bin。
第三步,打开cmd,输入hadoop version。得到如图所示的输出,说明操作正确。
3.修改hadoop配置文件
第一个配置文件:D:\hadoop\etc\hadoop\core-site.xml并做如下的内容修改,dir两个目录用来存放hadoop运行中产生的一些临时文件(注意路径前面的'/‘,后面提到namde node格式化后要及时清空这两个文件,不然会报错)。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/hadoop/data/tmpdir</value>
</property>
<property>
<name>hadoop.name.dir</name>
<value>/D:/hadoop/data/dfsdir</value>
</property>
</configuration>
第二个配置文件:D:\hadoop\etc\hadoop\mapred-site.xml(将mapred-site.xml.template修改为mapred-site.xml)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
第三个配置文件:D:\hadoop\etc\hadoop\yarn-site.xml。
<configuration>
<!-- Site specific YARN configuration properties -->
<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>
</configuration>
第四个配置文件:D:\hadoop\etc\hadoop\hdfs-site.xml。在namenode存放的是hdfs的元数据,datanode文件夹中存放的是上传的数据。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/D:/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/D:/hadoop/data/datanode</value>
</property>
</configuration>
第五个配置文件:D:\hadoop\etc\hadoop\hadoop-env.cmd。在此处输入JAVA_HOME路径。
set JAVA_HOME= "D:\Java\jdk1.8.0_261"
控制台输入: hdfs namenode –format,出现下图提示表示已经成功初始化。(因为自己不好再格式化一遍,这个图是引用参考文章的)
控制台进入到D:\hadoop\sbin目录下执行: start-all.cmd指令启动hadoop环境。出现以下四个窗口则表示搭建成功,并已成功启动Hadoop环境。
需要注意的地方:
1.尽量不要重复hdfs namenode –format操作,如果出现再次namenode -format操作后无法启动情况,笔者遇见问题的原因是namenode与datanode的clusterID在重新格式化namenode以后已经不再匹配,datanode无法启动,解决方式是尝试将hdfs存储数据的所在目录删掉(dfs.name.dir dfs.data.dir),重新格式化hdfs。
2.停止集群用stop-all.sh脚本,如果遇见没有正常退出导致windows端口占用没有解除的情况,首先根据日志找到被占用端口号对应进程,然后利用命令netstat -aon | findstr "进程号" taskkill /f /t /im 进程号或进程名结束占用进程。
4.myeclipse连接hadoop
将下载好的myeclipse解压,将hadoop-eclipse-plugin-2.6.0.jar放进plugins文件夹中,重启myeclipse。菜单栏 window-view-other,找到Map-Reduce选项打开
然后可以看到mr的控制视图,右键单击小象,设置信息。map/reduce master的host和port与配置文件mapred-site.xml一致。DFS master的host和port,与配置文件core-site.xml一致。
配置完成后重启eclipse,看到左边如下面所示,说明已经连接上了本地的hdfs.
到此win10+myeclipse+hadoop单机环境搭建已经完成