最近数据库要用到hadoop。大家基本上都用的是linux。本人一直不喜欢linux,虽然windows确实有各种额外的问题,但是我对于linux一直有一种讨厌的感觉。网上查了很多资料,windows配置hadoop的也有,但是要不就是比较古老,要不就是太麻烦(什么eclipse,cygwin等等,看得我头昏脑涨)。我想要的就是纯净的hadoop,不用其他任何东西。为此特意写了这篇博客,仅仅需要hadoop和windows系统就可以了。下面详述(其实这个youtube上面有相关视频,wiki上面也有介绍,但还是比较繁琐。我这里整理一下)
1.安装java。
这里就不必说了。直接安装java jdk就可以了。这里我才用的是1.6版本。安装完成之后设置环境变量JAVA_HOME,并且把系统变量里面的path添加“JAVA_HOME/bin;
这一步的作用是可以在命令行随便调用java。设置完成之后在命令行打入java -version就可以看到版本好了(看不到的应该是环境变量没设置好,注意分号)
2.安装hadoop
直接下载windows版本的hadoop即可(不需要编译,但是一定要搞清楚是32位的还是64位的,否则会出现各种问题),根本不需要装什么cygwin乱七八糟的。我这里用的是2.3.0版本(因为下载之后我们需要修改hadoop的端口等设置,而网上有现成的2.3的修改文件,所以这里为了方面我也采用这个了,其他版本也可以,不过需要你手动改配置文件)。2.3的文件格局如下所示。
然后下载替换的配置文件,解压缩覆盖源文件即可(主要就是设置一些端口什么的,有兴趣的可以看一下)
完成上面两部,hadoop就配置成功了。不需要任何其他额外步骤!!
下面用一个简单地例子看看hadoop怎么运行
我们以计算两个文件中每个字符的个数为例:
1.首先新建两个文件wordcount1.txt和wordcount2.txt,分别写入以下内容:
2 建立hdfs文件夹。
这个我也是刚看,理解不是很深。我的理解就是建立一套hadoop的文件系统,这和windows的完全不一样,千万别搞混!!!
首先进入bin文件夹下面,执行:
然后会有许多命令飞过。你应该看到以下两行:
这就建立好了hdfs的文件系统。然后我们需要启动。进入sbin文件夹:
这就成功启动了。
接下来我们就要看看这个hdfs是怎么工作的。
进入到bin文件夹下面,并执行hadoop fs -ls /(这条命令打印出根目录下的所有文件。别忘记有斜杠,表示根目录)。如果你什么都没做,应该什么都没有
然后你可以新建一个文件夹(是hdfs系统的,再次注意和windows没有任何关系!!)
执行命令式 hadoop fd -mkdir /wordcount_input
之后在执行ls命令就可以看到以下文件夹建立了!
建立了之后我们需要将前面的wordcount1.txt和2.txt加入到hdfs系统了(注意前面两个是在windows系统下面的,我们需要加到hdfs文件夹系统里面才能被识别。命令很简单,用-put
这里需要注意是windows下面的路径我新建了一个hwork文件夹用来存储那两个文件。
这就成功加到了hdfs系统里面。再次查看:
好,有了文件之后我们就可以调用hadoop的自带例子来跑了。
3 在正式开始跑之前必须开启yarn服务
这才是建立了完整地分布式系统。
jar文件是自带的,我复制到了安装文件夹下面
然后命令行会有一大推指令飘过,最后会将计算结果存储到wordcount-output文件夹下面
最后执行以下命令就可以查看结果了!
Bonus:
我们也可以通过浏览器查看。输入网址:http://127.0.0.1:50070/,会得到如下界面:
在这里我们可以更方便的查看文件系统以及各种节点存活信息等
以上就是windows hadoop的配置流程。非常简洁方便。