hadoop0.20.2单机伪分布式安装(win7 cygwin)

初学hadoop,折腾了几天总算把hadoop0.20.2在windows上安装成功了。因为网上很多安装成功的资料都是用的hadoop0.20.2,所以我们初学就先用这个版本。

本文安装环境概述:
windows7
jdk1.6.0_43
cygwin
openssh
hadoop0.20.2

hadoop0.20.2版本比较老,所以最好用jdk6,不要用jdk7,以免出现一些奇怪的问题。

1.安装cygwin和openssh,配置ssh免密码登陆
可以参考另一篇文章[url]http://xpenxpen.iteye.com/blog/2061856[/url]
不要小看这步,这步没做好,后面都是徒劳。本人就在这栽跟头了,浪费了很多时间。

2. 下载hadoop0.20.2
hadoop所有的历史版本可以在这里找到
[url]http://archive.apache.org/dist/hadoop/core[/url]
下载完了,解压。比如我们解压到d盘。D:\opensource\hadoop\hadoop-0.20.2

3.创建符号链接(仅限Win7)

mklink /d c:\tmp c:\cygwin64\tmp
mklink /d d:\tmp c:\cygwin64\tmp

这步是比较关键的一步,因为hadoop的代码编写没有考虑到windows系统,所以tmp目录的定位是比较乱的,这里将c:\tmp,d:\tmp全部链接到cygwin下的tmp目录,后面就不会报诸如tmp目录找不到的错了。d:\tmp是由于我将hadoop-0.20.2解压到D盘了,c:\tmp则是因为cygwin装在C盘。如果你装在别的盘上了,则改成相应的盘符。

4. 修改/home/<user>/.bashrc
所指的home是C:\cygwin64\home

export JAVA_HOME=/cygdrive/c/jdk1.6.0_43
export PATH=/cygdrive/d/opensource/hadoop/hadoop-0.20.2/bin:$JAVA_HOME/bin:$PATH


重新进入cygwin确认

$ which java
/cygdrive/c/jdk1.6.0_43/bin/java

$ which hadoop
/cygdrive/d/opensource/hadoop/hadoop-0.20.2/bin/hadoop


5.修改hadoop-0.20.2/conf/hadoop-env.sh

export JAVA_HOME=/cygdrive/c/jdk1.6.0_43
export HADOOP_LOG_DIR=/tmp/logs


6.修改hadoop-0.20.2/conf目录下的3个配置文件
core-site.xml

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>


hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>1</value>
</property>


mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>


7.格式化名称节点

hadoop namenode -format

会创建C:\cygwin64\tmp\hadoop-<user>\dfs\name目录

8.启动集群

start-all.sh


9.检查是否正常

9.1 访问网页查看状态
访问http://localhost:50030查看 JobTracker 的运行状态
访问http://localhost:50060查看 TaskTracker 的运行状态
访问http://localhost:50070查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等

9.2 查看进程,应该有5个java进程

$ ps -ef | grep java
pchen4 8404 1 ? 12:55:30 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 7596 1 ? 12:55:19 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 3596 1 pty1 12:55:37 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 6836 1 ? 12:55:49 /cygdrive/c/jdk1.6.0_43/bin/java
pchen4 8144 1 pty1 12:55:06 /cygdrive/c/jdk1.6.0_43/bin/java


9.3 检查C:\cygwin64\tmp目录下文件是否都生成了
[img]http://dl2.iteye.com/upload/attachment/0103/0883/14acd413-7787-3c23-bc6a-103e970c3d61.jpg[/img]

10.停止集群

stop-all.sh


11.wordcount测试
hadoop目录下有一个hadoop-0.20.2-examples.jar,自带wordcount,顺利安装完hadoop后可以测试一下。

首先找一个文本文件,比如http://introcs.cs.princeton.edu/java/data/dickens.txt
然后将这个文件放到hdfs上

hadoop fs -put dickens.txt input/dickens.txt


然后运行wordcount

hadoop jar hadoop-0.20.2-examples.jar wordcount input output


如果一切顺利,可以看到单词的统计出来了。

hadoop fs -cat output/part-r-00000 > aa.txt

查看一下aa.txt,内容正确的话就表明hadoop安装无误了。

12.参考资料
[url]http://yangshangchuan.iteye.com/blog/1839814[/url]
资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在Android移动应用开发中,定位功能扮演着极为关键的角色,尤其是在提供导航、本地搜索等服务时,它能够帮助应用获取用户的位置信息。以“baiduGPS.rar”为例,这是一个基于百度地图API实现定位功能的示例项目,旨在展示如何在Android应用中集成百度地图的GPS定位服务。以下是对该技术的详细阐述。 百度地图API简介 百度地图API是由百度提供的一系列开放接口,开发者可以利用这些接口将百度地图的功能集成到自己的应用中,涵盖地图展示、定位、路径规划等多个方面。借助它,开发者能够开发出满足不同业务需求的定制化地图应用。 Android定位方式 Android系统支持多种定位方式,包括GPS(全球定位系统)和网络定位(通过Wi-Fi及移动网络)。开发者可以根据应用的具体需求选择合适的定位方法。在本示例中,主要采用GPS实现高精度定位。 权限声明 在Android应用中使用定位功能前,必须在Manifest.xml文件中声明相关权限。例如,添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />,以获取用户的精确位置信息。 百度地图SDK初始化 集成百度地图API时,需要在应用启动时初始化地图SDK。通常在Application类或Activity的onCreate()方法中调用BMapManager.init(),并设置回调监听器以处理初始化结果。 MapView的创建 在布局文件中添加MapView组件,它是地图显示的基础。通过设置其属性(如mapType、zoomLevel等),可以控制地图的显示效果。 定位服务的管理 使用百度地图API的LocationClient类来管理定位服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值