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 ...
随机推荐
- IE7中a标签包含img,点击img,链接失效的bug
在做列表时,我们经常会这样写: <ul class="works-list"> <li> <a href=""> <d ...
- hihoCoder #1117 战争年代
题目大意 对一棵树的节点染色.初始时每个点都染成颜色 $0$,然后进行 $m$ 轮操作.第 $i$ 轮操作:从 $[0,d_i]$ 中随机选出一个整数 $d$,将距离点 $x_i$ 不超过 $d$ 的 ...
- HDU——1163Eddy's digital Roots(九余数定理+同余定理)
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- 本博客由CSDN迁移而来,以前的博文可能显示不正常
如题,原博客地址 http://blog.csdn.net/vicjiao 或点击右侧友链
- java面试题之如何实现处理线程的返回值?
有三种实现方式: 主线程等待法: 使用Thread类的join方法阻塞当前线程以等待子线程处理完毕: 通过Callable接口实现,通过FutureTask 或者线程池:
- 【BZOJ1901】Dynamic Rankings(树套树,树状数组,主席树)
题意:给定一个N个数的序列,要求维护一个数据结构支持以下两种操作: 1:将第X个数改成Y 2:查询第X到第Y个数里第K小的数是多少 n,m<=10000,a[i]<=10^9 思路:单点修 ...
- linux信号------探步
前言 Linux以进程为单位来执行程序.我们可以 将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客.每个进程拥有一个独立的房间(属于进程的内存空间),而每个房间都是不允 许该 ...
- PHPCMS内链设置,PHPCMS关联链接设置
需求: 在网站中的关键词,自动加上链接. 在PHPCMS中叫做“关联链接”,在DEDECMS中叫做TAG标签. 第1步:后台 -> 扩展 -> 关联链接 -> 添加关联链接: 第2步 ...
- Yii查看(输出)当前页面执行的sql语句
在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下 ...
- LeetCode OJ--ZigZag Conversion
https://oj.leetcode.com/problems/zigzag-conversion/ 将字符串Z形字排列后,再重新一行一行输出. 可以找到每一行字符位置的规律,然后填充进去. 敲代码 ...