hadoop环境搭建相对麻烦,需要安装虚拟机过着cygwin什么的,所以通过查资料和摸索,在window上搭建了一个,不需要虚拟机和cygwin依赖,相对简便很多。
下面运行步骤除了配置文件有部分改动,其他都是参照hadoop下载解压的share/doc/index.html。
hadoop下载:http://apache.opencas.org/hadoop/common/
解压至无空格目录下即可,下面是目录结构:
下面配置windows环境:
Java JDK :我采用的是1.8的,配置JAVA_HOME,如果默认安装,会安装在C:\Program Files\Java\jdk1.8.0_51。此目录存在空格,启动hadoop时将报错,JAVA_HOME is incorrect ...此时需要将环境变量JAVA_HOME值修改为:C:\Progra~1\Java\jdk1.8.0_51,Program Files可以有Progra~代替。
Hadoop 环境变量: 新建HADOOP_HOME,指向hadoop解压目录,如:D:/hadoop。path环境变量中增加:%HADOOP_HOME%\bin;。
Hadoop 依赖库:winutils相关,hadoop在windows上运行需要winutils支持和hadoop.dll等文件,下载地址:http://download.csdn.net/detail/fly_leopard/9503059
注意hadoop.dll等文件不要与hadoop冲突。为了不出现依赖性错误可以将hadoop.dll放到c:/windows/System32下一份。
hadoop环境测试:
起一个cmd窗口,起到hadoop/bin下,hadoop version,显示如下:
hadoop基本文件配置:hadoop配置文件位于:hadoop/etc/hadoop下
core-site.xml/hdfs-site.xml/mapred-site.xml/yarn-site.xml
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/hadoop272/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/hadoop272/data/dfs/datanode</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<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>
格式化系统文件:
hadoop/bin下执行 hdfs namenode -format
待执行完毕即可,不要重复format容易出现异常。
格式化完成后到hadoop/sbin下执行 start-dfs启动hadoop
访问:http://localhost:50070
创建目录:用于输入和输出
创建完成可以通过hdfs dfs-ls 目录名称查看,也可以在浏览器中查看创建的目录或文件
input输入文件到目录:hadoop.txt data0100是我自己创建的文本文件,位于hadoop一个盘的。此处是D:/hadoop/hadoop.txt
如果了解命令参数输入hdfs dfs回车查看dfs命令参数 。hdfs dfs -put回车查看put相关参数。其他命令也是这样。
查看input输入的文件内容:
运行hadoop给的examples,做个参考
然后查看文件夹下多了写东西
刚接触hadoop,什么都不是很了解,不对地方欢迎指正。