为了便于开发,我在本地Windows系统进行Hadoop搭建。
我使用的版本:hadoop-2.7.0。其他版本也可,搭建流程基本一样,所以参考这个教程一般不会有错。
1、下载安装包和插件
安装包hadoop-2.7.0.tar.gz
必要插件winutils-master
2、解压安装包
使用管理员身份运行cmd,到安装包对应目录下,输入:tar zxvf hadoop-2.7.0.tar.gz
Hadoop安装必须要安装JDK,这里就不赘述
3、配置环境变量
新建HADOOP_HOME,其实与JDK配置过程类似(E:\hadoop
是我hadoop-2.7.0存放的位置,具体根据自己存放地址填写):
系统环境变量path中添加%HADOOP_HOME%\bin:
对E:\hadoop\hadoop-2.7.0\etc\hadoop\hadoop-env.cmd的JAVA_HOME进行修改,如下:
因为我的JDK在windows的Program Files目录,这里我使用PROGRA~1代替Program Files
JAVA_HOME安装目录不能有空格,不然启动hadoop会报错:Error: JAVA_HOME is incorrectly set.修改上面文件配置
4、测试
配置成功
5、替代和转移
从下载的winutils-master选择相应版本(这里我用的2.7.1,版本比较近,没有影响),将其bin文件夹替换hadoop-2.7.0\bin文件夹。同时,将bin下的hadoop.dll文件拷贝至C:\Windows\System32
下一份
6、创建文件夹
在hadoop文件下创建tmp、namenode和datanode文件夹,以我的为例:
E:\hadoop\hadoop-2.7.0\tmp
E:\hadoop\hadoop-2.7.0\data\dfs\datanode
E:\hadoop\hadoop-2.7.0\data\dfs\namenode
为配置文件做准备
7、修改配置文件
需要修改四个配置文件(etc\hadoop目录下):core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml
core-site.xml
这里端口我使用9000,端口要注意不被占用。可使用其它端口号。
查看端口是否占用命令:netstat -ano |findstr “post_number”
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/E:/hadoop/hadoop-2.7.0/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<!-- value 1,because it is single hadoop -->
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<!-- Create the directory before use it -->
<value>/E:/hadoop/hadoop-2.7.0/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!-- Create the directory before use it -->
<value>/E:/hadoop/hadoop-2.7.0/data/dfs/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
dfs.permissions设为false,比如可能后面进行HDFS相关操作,会出现org.apache.hadoop.security.AccessControlException: Permission denied: user=root...
的错误
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
如果是mapred-site.xml.template则把.template后缀去掉
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>
8、初始化namenode
到bin目录下执行:hdfs namenode -format
(以管理员身份运行)
每次格式化时最好把datanode、namenode和tmp目录下的文件删掉,避免出现一些ClusterId之类的问题
9、启动Hadoop
到sbin目录下右键管理员身份运行start-all.cmd,或命令运行:start-all.cmd
出现上面四个子窗口。
10、验证
览器输如http://localhost:8080查看集群状态
http://localhost:50070/查看namenode管理界面
Hadoop——Hadoop单机搭建问题汇总文章来源:https://www.toymoban.com/news/detail-701444.html
Hadoop——HDFS的Java API操作(文件上传、下载、删除等)文章来源地址https://www.toymoban.com/news/detail-701444.html
到了这里,关于Hadoop——Windows系统下Hadoop单机环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!