windows下搭建hadoopproject(一)
这里是接着之前的一篇 《hadoop在windows下的环境搭建 》来的~~~
一、安装文件准备
1:下载好hadoop-1.0.0.tar.gz,
下载地址是https://archive.apache.org/dist/hadoop/core/hadoop-1.0.0/
2:解压到D:\hadoop\cygwin\zhangmanyi\文件夹下。
二、启动hadoop
1、改动hadoop配置文件,在conf文件夹下。改动mapred-site.xml、core-site.xml和hdfs-site.xml三个文件。
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
在Windows环境下,还须要在hadoop-env.xml中增加
export JAVA_HOME=D:/hadoop/Java/jdk1.6.0_45
2、设置免password登录
因为在使用启动hadoop和停止hadoop脚本过程中须要通过ssh发送命令。因此每次发送命令都须要输入password进行验证。
打开cygwin,进入D:\hadoop\cygwin\zhangmanyi\hadoop-1.0.0\文件夹下
ssh –keygen –t rsa
过程中须要输入存储id_rsa的文件,当中须要输入文件的位置,假设仅仅输入文件名称,那么不会存储到.ssh文件夹下。
后面须要输入使用密钥的password,设置为空。
进入~/.ssh文件夹
cat id_rsa.pub >> authorized_keys
3、启动hadoop
进入hadoop安装文件夹
首先格式化HDFS:
bin/hadoop namenode –format
启动hadoop
bin/start-all.sh
通过http://localhost:50030/查看MapReduce是否启动成功
通过http://localhost:50070/查看HDFS是否启动成功
发现仅仅有HDFS启动成功,于是运行一次停止脚本再又一次启动。
停止脚本:
bin/stop-all.sh
前面MapReduce没有启动成功是因为datanode没有启动起来。
启动成功。可是这里点击Browse the filesystem会出现故障:
因为网页转向的地址用的是hadoop集群的某一个datanode的主机名,客户端的浏览器无法解析这个主机名,因此该页无法显示。
因此须要在客户端的hosts文件中增加hadoop集群的ip地址与相应的主机名,这样就能解决这个问题了。
(待解决)
三、hadoop eclipse插件制作
问题1。
进入%Hadoop_HOME%\src\contrib\文件夹下
编辑build-contrib.xml
增加
<property name="version" value="1.0.0"/>
<property name="eclipse.home" location="D:/hadoop/eclipse"/>
问题2。针对直接编译代码后生成的jar包缺少依赖的lib文件
须要对配置文件进行改动。包括src/contrib/eclipse-plugin/文件夹下的build.xml和META-INF/MANIFEST.MF。
build.xml:
在后面增加:
<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-core-asl-1.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
MANIFEST.MF:
Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
问题3。针对hadoop中文件权限的问题 Failed to set permissions of path: \tmp\hadoop-zhangmanyi\mapred\staging\zhangmanyi-1980807403.staging to 0700
须要改动src\core\org\apache\hadoop\fs\FileUitl.java
凝视掉三行代码:
private static void checkReturnValue(boolean rv, File p,
FsPermission permission
) throws IOException {
if (!rv) {
// throw new IOException("Failed to set permissions of path: " + p +
// " to " +
// String.format("%04o", permission.toShort()));
}
}
上面问题都是在实践中遇到了的,可是问题2在改正并又一次编译后还是不对,因此选择又一次来,将全部文件改动好后再进行编译。
1、 编译生成eclipse插件
先在hadoop安装文件夹下,运行命令
ant eclipse
然后在hadoop-1.0.0/src/contrib/eclipse-plugin/文件夹下运行命令
ant -Dversion.home=D:\hadoop\eclipse -Dversion=1.0.0
运行成功后会在%Hadoop_HOME%\build\contrib\eclipse-plugin\文件夹下生成hadoop-eclipse-plugin-1.0.0.jar文件。
2、 安装eclipse插件
将生成的hadoop-eclipse-plugin-1.0.0.jar拷贝到eclipse文件夹中的plugin文件夹中。
新建java project项目。hadoop-1.0.0。使用jdk为1.6的版本号
并在Project——Properties——Java Build Path(右边选择Libraries)——Add External JARs
选择导入hadoop-eclipse-plugin-1.0.0.jar
工程建立完毕
3、 測试安装
在菜单条中依次单击windows——show view——other…——MapReduce Tools——Map/Reduce Locations。
设置完毕后能够显示hdfs的文件夹内容,说明eclipse插件成功安装。
windows下搭建hadoopproject(一)的更多相关文章
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- Android学习——windows下搭建Cygwin环境
在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...
- Android学习——windows下搭建NDK_r9环境
1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...
- react-native —— 在Windows下搭建React Native Android开发环境
在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...
- Windows下搭建PHP环境:Apache+PHP+MySQL
本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...
- Windows下搭建Git开发环境
Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...
- windows下搭建学习objective-c 的运行环境【转载】
对于Iphone开发学习者而言,Object -c 是必修的语言.但是由于苹果的自我封闭的产业链发展模式(从芯片.机器.开发语言.终端产品.服务)的限制,要想开发针对苹果iPhone等产品的应用程序, ...
- Windows下搭建论坛
Windows下搭建论坛 真正的O基础架构,一步一步走向成功 转载请注明原作者出处 环境准备篇 安装集成包软件 解压后如下 以管理员身份运行setup的批处理 选择推荐的apache版本 选择推荐的m ...
- Windows下搭建MySQL Master Slave[转]
Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...
随机推荐
- 【bzoj3526】[Poi2014]Card 线段树区间合并
题目描述 有n张卡片在桌上一字排开,每张卡片上有两个数,第i张卡片上,正面的数为a[i],反面的数为b[i].现在,有m个熊孩子来破坏你的卡片了!第i个熊孩子会交换c[i]和d[i]两个位置上的卡片. ...
- 【Luogu】P1251餐巾计划(上下界费用流)
题目链接 学了一下上下界费用流,似乎很nb.但是我说得不好,所以这里给出博客链接. 某dalao的博客 然后这道题的解法就是先用上下界费用流的建图方式连早上和晚上之间的那条边,保证当天一定会有r条或以 ...
- 【Luogu】P3521ROT-Tree Rotations(线段树合并)
题目链接 神奇的线段树合并qwq 不过就思路而言很好想…… 观察到一棵树无论怎么交换两棵左右子树,子树内部的最优逆序对并没影响……决策只影响左右子树之间的逆序对…… 于是线段树合并直接乱搞就好啦 ...
- 关于css的float
什么是浮动? CSS中的一些元素是块级元素,表示它们会自动另起一行. 举个例子,如果你创建了两个段落,每个段落都只有一个单词.这两个单词不会靠在一起,而是会各自占据一行. 另一些元素是行内元素,表示它 ...
- POJ——3061Subsequence(尺取法或二分查找)
Subsequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11224 Accepted: 4660 Desc ...
- 【CF559C】 Gerald and Giant Chess(计数,方案数DP,数论)
题意:给出一个棋盘为h*w,现在要从(1,1)到(h,w),其中有n个黑点不能走,问有多少种可能从左上到右下 (1 ≤ h, w ≤ 105, 1 ≤ n ≤ 2000),答案模10^9+7 思路:从 ...
- [LeetCode] Rotate Image n-by-n矩阵顺时针旋转
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...
- windows8.1如何分盘
磁盘分区首先要弄明白磁盘物理顺序与逻辑顺序的区别,在[磁盘管理]界面,所显示的前后顺序为物理顺序,这是磁盘上实实在在的物理位置,如下图2的电脑磁盘物理顺序为CFDE.在[资源管理器]界面,所显示的顺序 ...
- PHP获取今天开始和结束的时间戳
$t = time();$start = mktime(0,0,0,date("m",$t),date("d",$t),date("Y",$ ...
- FileReader与FileWriter
分别继承于InputStreamReader OutputStreamWriter 所以: FileReader:new FileReader(“d:/back/string.txt”) = ...