本人Win10 hadoop2.6版本
1.安装jdk1.7 并配置环境变量
2.安装hadoop2.6 并配置环境变量
3.修改etc/hadoop/hadoop-env.cmd
set JAVA_HOME=%JAVA_HOME%
将%JAVA_HOME%替换为 "C:/jdk1.7" 注意不要使用带空格的路径 如“Program Files”
4.这是最重要的一步 去github 下载hadoop-common-2.6-src 类似的 一定注意 和自己的版本号一直
下载解压 里面大概 有winutil.ext hadoop.dll 等
覆盖到 bin文件夹下的 注 如果报错:请将hadoop.dll复制到system32 或syswow64系统文件夹下
5.修改配置文件 core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
fs.defaultFS
hdfs://localhost:9000/
hadoop.tmp.dir
C:/tmp/hadoop-${user.name}
hadoop.proxyuser.hadoop.hosts
*
hadoop.proxyuser.hadoop.groups
*
dfs.namenode.http-address
localhost:50070
NameNode 通过当前参数 获得 fsimage 和 edits
dfs.namenode.secondary.http-address
localhost:50090
SecondNameNode 通过当前参数 获得最新的 fsimage
dfs.replication
3
设定 HDFS 存储文件的副本个数,默认为3
dfs.namenode.name.dir
file:///C:/hadoop/hdfs/name
namenode 用来持续存放命名空间和交换日志的本地文件系统路径
dfs.datanode.data.dir
file:///C:/hadoop/hdfs/data
DataNode 在本地存放块文件的目录列表,用逗号分隔
dfs.namenode.checkpoint.dir
file:///C:/hadoop/hdfs/namesecondary
设置 secondary 存放 临时镜像 的本地文件系统路径,如果这是一个用逗号分隔的文件列表,则镜像将会冗余复制到所有目录,只对 secondary 有效
dfs.webhdfs.enabled
true
dfs.stream-buffer-size
131072
默认是4KB,作为hadoop缓冲区,用于hadoop读hdfs的文件和写
hdfs的文件,还有map的输出都用到了这个缓冲区容量,对于现在的硬件很保守,可以设置为128k
(131072),甚至是1M(太大了map和reduce任务可能会内存溢出)
dfs.namenode.checkpoint.period
3600
两次 checkpoints 之间的间隔,单位为秒,只对 secondary 有效
mapreduce.framework.name
yarn
mapreduce.jobtracker.address
hdfs://localhost:9001
mapreduce.jobhistory.address
node:10020
MapReduce JobHistory Server host:port, default port is 10020.
mapreduce.jobhistory.webapp.address
node:19888
MapReduce JobHistory Server Web UI host:port, default port is 19888.
yarn.resourcemanager.hostname
localhost
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
localhost:8032
yarn.resourcemanager.scheduler.address
localhost:8030
yarn.resourcemanager.resource-tracker.address
localhost:8031
yarn.resourcemanager.admin.address
localhost:8033
yarn.resourcemanager.webapp.address
localhost:8088
6.sbin/start-all.cmd 搞定