基于单机的Hadoop伪分布式运行模拟实现(2)

然后,需要将DSA公钥加入到公钥授权文件authorized_keys中,使用如下命令:

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  

如图所示,没有任何信息输出:

到此,就可以进行Hadoop的运行工作了。

2、Hadoop处理的数据文件准备

我使用的是hadoop-0.16.4版本,直接拷贝到G:\根目录下面,同时,我的cygwin直接安装在G:\Cygwin里面。

在目录G:\hadoop-0.16.4中创建一个input目录,里面准备几个TXT文件,我准备了7个,文件中内容就是使用空格分隔的多个英文单词,因为是运行WordCount这个例子,后面可以看到我存入了多少内容。

3、运行过程

下面,切换到G:\hadoop-0.16.4目录下面

$ cd ../../cygdrive/g/hadoop-0.16.4  

其中通过cygdrive(位于Cygwin根目录中)可以直接映射到Windows下的各个逻辑磁盘分区中。

在执行任务中,使用HDFS,即Hadoop的分布式文件系统,因此这时要做的就是格式化这个文件系统,使用下面命令可以完成:

$ bin/hadoop namenode -format  

格式化过程如图所示:

基于单机的Hadoop伪分布式运行模拟实现

此时,应该启动Namenode、Datanode、SecondaryNamenode、JobTracer,使用这个命令启动:

$ bin/start-all.sh  

启动过程如图所示:

基于单机的Hadoop伪分布式运行模拟实现

如果你没有配置前面ssh的无密码认证,或者配置了但是输入了密码短语,那么到这里就会每启动一个进程就提示输入密码,试想,如果有N多进程的话,那岂不是要命了。

然后,需要把上面我们在本地的input目录中准备的文件复制到HDFS中的input目录中,以便在分布式文件系统管理这些待处理的数据文件,使用下面命令:

$ bin/hadoop dfs -put ./input input  

执行上述命令如果没有信息输出就复制成功。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxpfx.html