Hadoop——Windows系统下Hadoop单机环境搭建
为了便于开发,我在本地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”
fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir /E:/hadoop/hadoop-2.7.0/tmp
hdfs-site.xml
dfs.replication
1
dfs.namenode.http-address
localhost:50070
dfs.namenode.name.dir
/E:/hadoop/hadoop-2.7.0/data/dfs/namenode
dfs.datanode.data.dir
/E:/hadoop/hadoop-2.7.0/data/dfs/datanode
dfs.permissions
false
dfs.permissions设为false,比如可能后面进行HDFS相关操作,会出现org.apache.hadoop.security.AccessControlException: Permission denied: user=root…的错误
mapred-site.xml
mapreduce.framework.name yarn
如果是mapred-site.xml.template则把.template后缀去掉
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
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单机搭建问题汇总
Hadoop——HDFS的Java API操作(文件上传、下载、删除等)
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/00fcd921b6.html
