因为我们不能在线上环境进行调试hadoop,这样就只能在本地先调试好了再放到线上去啦。我本地是windows环境,今天先记下windows下搭建hadoop2.7的步骤。
1 本地环境
- windows7 64位
- hadoop-2.7.3.tar.gz
hadoop在apache下载,看别的教程都说是需要搭建Cygwin,但是后来在国外论坛上看到已经有大神给出了windows下搭建hadoop环境的依赖库,所以我们省下了甚多麻烦哈。依赖环境点击这里下载。将解压的bin目录和etc目录替换掉你的本地hadoop里面的bin和etc即可,etc目录最好还是你自己配置。
替换完成之后我们别忘了检查你的环境变量,我本地hadoop文件夹在E盘根目录,配置到环境变量:
新建 HADOOP_HOME 变量:
HADOOP_HOME
E:\hadoop
在path里面加上:
%HADOOP_HOME%\bin;
然后还有把刚才替换的hadoop/bin里面的 hadoop.dll库文件复制一份放到c:/windows/System32里面。
然后配置etc/hadoop里面的4个文件:
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/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/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>
以上四个文件都是按照最小配置来写的如果你还有别的需求请参考官网的配置。
接下来我们需要格式化namenode,进入hadoop/bin目录执行:
hadoop namenode -format
执行完毕再进入sbin目录执行启动命令:
start-all.cmd
接着会启动四个窗口,分别启动本地的namenode,datanode,你可以使用jps命令查看是否启动完成:
如上便是成功启动啦,接着我们可以启动浏览器查看datanode控制台和mapreduce控制台:
这样我们的本地开发环境就搭建好了。
停止服务使用如下命令:
sbin目录下执行: stop-all.cmd