赞
踩
为了便于开发,我在本地Windows系统进行Hadoop搭建。
我使用的版本:hadoop-2.7.0。其他版本也可,搭建流程基本一样,所以参考这个教程一般不会有错。
必要插件winutils-master
使用管理员身份运行cmd,到安装包对应目录下,输入:tar zxvf hadoop-2.7.0.tar.gz
Hadoop安装必须要安装JDK,这里就不赘述
新建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.修改上面文件配置
配置成功
从下载的winutils-master选择相应版本(这里我用的2.7.1,版本比较近,没有影响),将其bin文件夹替换hadoop-2.7.0\bin文件夹。同时,将bin下的hadoop.dll文件拷贝至C:\Windows\System32
下一份
在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
为配置文件做准备
需要修改四个配置文件(etc\hadoop目录下):core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-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>
- <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>
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
dfs.permissions设为false,比如可能后面进行HDFS相关操作,会出现org.apache.hadoop.security.AccessControlException: Permission denied: user=root...
的错误
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
如果是mapred-site.xml.template则把.template后缀去掉
- <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>
到bin目录下执行:hdfs namenode -format
(以管理员身份运行)
每次格式化时最好把datanode、namenode和tmp目录下的文件删掉,避免出现一些ClusterId之类的问题
到sbin目录下右键管理员身份运行start-all.cmd,或命令运行:start-all.cmd
出现上面四个子窗口。
览器输如http://localhost:8080查看集群状态
http://localhost:50070/查看namenode管理界面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。