Windows下部署Hadoop遇到的问题和使用的文档
jps后只显示三个进程后研究解决方法
【Hadoop】:Windows下使用IDEA搭建Hadoop开发环境-优快云博客
导包问题:NoClassDefFoundError
启动Hadoop出现问题:datanode的clusterID 和 namenode的clusterID 不匹配启动Hadoop出现问题:datanode的clusterID 和 namenode的clusterID 不匹配_namenode clusterid-优快云博客
https://blog.youkuaiyun.com/bragen/article/details/129028099
下载hadoop
Index of /apache/hadoop/common
我使用的是2.10.2版本的hadoop。
配置环境变量就不教了
如果没有安装java环境得先安装一下java的jdk并配置环境变量
配置完后才正式开始
验证环境变量的配置
打开你的cmd,输入以下命令,出现我这样的输出说明配置环境变量成功:
有文件名、目录名或卷标语法不正确没有问题照常可以使用。
HDFS的配置
更改hadoop-env.cmd
@rem The java implementation to use. Required.
set JAVA_HOME="E:\Study\Java_jdk\jdk_8u391_x64"
这是我的jdk绝对路径,大家记得改成自己的本地绝对路径。
再在末尾添加
set HADOOP_PREFIX=%HADOOP_HOME%
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
修改core-site.xml
将configuration处更改为:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>E:\Study\hadoop\data</value>
</property>
</configuration>
hdfs-site.xml
记得先创建文件夹再去改xml
<configuration>
<!-- 这个参数设置为1,因为是单机版hadoop -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>E:\Study\hadoop\data\namenode</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>E:\Study\hadoop\data\snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>E:\Study\hadoop\data\snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>E:\Study\hadoop\data\datanode</value>
</property>
<!-- nn web 端访问地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:9870</value>
</property>
<!-- 2nn web端访问地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>localhost:9868</value>
</property>
</configuration>
mapred-site.xml
将下方的%USERNAME%替换成你windows的用户名!!!这个十分重要,不要直接复制!!!
<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>
yarn-site.xml
修改为如下所示:
<configuration>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:8089</value>
</property>
</configuration>
初始化环境变量
在windows下的cmd,输入cmd的命令,用于初始化环境变量。hadoop-env.cmd后缀为cmd,说明是cmd下可执行的文件:
%HADOOP_HOME%\etc\hadoop\hadoop-env.cmd
格式化文件系统(File System)
这个命令在整个hadoop的配置环境和之后的使用当中务必仅使用一次!!!!不然的话后续会导致hadoop日志损坏,NameNode无法开启,整个hadoop就挂了!
将如下的命令输入到cmd当中进行格式化:
hadoop namenode -format
向hadoop文件当中注入winutills文件
由于windows下想要开启集群,会有一定的bug,因此我们去网站:https://github.com/steveloughran/winutils下载对应版本的winutils.exe文件。打开这个Github仓库后如下所示:
直接把我文件夹里的所有东西拖进去替换掉就行
我的文件夹是这样的
开启hadoop集群
%HADOOP_HOME%/sbin/start-all.cmd
这样就会跳出来很多黑色的窗口,如下所示:
用Jps验证集群是否部署上了
部署成功后检查端口
IDEA还没使用过hadoop,以后会试试的,安装教程到此为止。