`

windows配置hadoop-1.1.0的伪分布式环境

阅读更多

由于Hadoop的部分操作需要用到Linux的shell命令,所以在Windows下安装,需要安装一个Linux的运行时环境。然后,需要配置无密钥通信协议。配置完后,需要配置Hadoop的xml文件。

 

安装Cygwin

http://cygwin.com/install.html

 

Cygwin中配置sshd

http://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#CBHIAFGI

 

伪分布式配置

配置文档路径: hadoop-1.1.0/docs/single_node_setup.html

 

bin/hadoop namenode -format

bin/start-all.sh
bin/stop-all.sh

http://localhost:50030
http://localhost:50070

 

遇到的问题及解决:

在真正运行的时刻会遇到几个问题:

 

1、设置的路径并非使用cygwin linux的路径。

 hadoop.tmp.dir在/tmp目录下面,理论上应该在C:\cygwin\tmp,但实际的路径确实C:\tmp

 

路径不同意,我们就设置自己的目录就可以了

     <property>
         <name>hadoop.tmp.dir</name>
         <value>/cygwin/home/Winseliu/cloud</value>
     </property>

 

2、启动datanode和jobtracker,以及tasktacker时会有路径权限的问题

 

2012-11-25 13:53:05,031 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:Winseliu cause:java.io.IOException: Failed to set permissions of path: C:\cygwin\home\Winseliu\hadoop-1.1.0\logs\history to 0755
2012-11-25 13:53:05,032 FATAL org.apache.hadoop.mapred.JobTracker: java.io.IOException: Failed to set permissions of path: C:\cygwin\home\Winseliu\hadoop-1.1.0\logs\history to 0755
        at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
        at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:670)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
        at org.apache.hadoop.mapred.JobHistory.init(JobHistory.java:510)

 

2012-11-25 13:53:04,389 INFO org.apache.hadoop.mapred.TaskTracker: Good mapred local directories are: /cygwin/home/Winseliu/cloud/mapred/local
2012-11-25 13:53:04,396 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: \cygwin\home\Winseliu\cloud\mapred\local\taskTracker to 0755
        at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
        at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:670)

 

权限问题,直接修改FileUtils的checkReturnValue()方法,替换hadoop-core-1.1.0.jar中的FileUtils.class文件

  private static void checkReturnValue(boolean rv, File p, 
                                       FsPermission permission
                                       ) throws IOException {
    if (!rv) {
    	// FIXME
			try {
				throw new IOException("Failed to set permissions of path: " + p
						+ " to " + String.format("%04o", permission.toShort()));
			} catch (Exception e) {
				e.printStackTrace();
			}
    }
  }

 

3、使用jps查不全真正执行的java进程,不知道那个进程启动或未启动

 

Winseliu@WINSE ~/hadoop-1.1.0
$ jps
6364 NameNode
7168 JobTracker
2692 Jps

Winseliu@WINSE ~/hadoop-1.1.0
$ ps aux | grep java
     7880       1    5544       7028  ?       1001 13:20:40 /cygdrive/c/Java/jdk1.7.0_02/bin/java
     5968       1    7500       4592  ?       1001 13:20:36 /cygdrive/c/Java/jdk1.7.0_02/bin/java
     5784       1     484       6364  pty0    1001 13:20:31 /cygdrive/c/Java/jdk1.7.0_02/bin/java
     6732       1     484       7168  pty0    1001 13:20:38 /cygdrive/c/Java/jdk1.7.0_02/bin/java
     7976       1    5716       5628  ?       1001 13:20:34 /cygdrive/c/Java/jdk1.7.0_02/bin/java
     4492       0       0       4492  pty0    1001   Jan  1 /cygdrive/c/Java/jdk1.7.0_02/bin/java

 

直接再执行一次start-all.sh,如果会提示让你先stop就说明该进程已经启动了。

 

Winseliu@WINSE ~
$ cd hadoop-1.1.0/

Winseliu@WINSE ~/hadoop-1.1.0
$ bin/start-all.sh
starting namenode, logging to /home/Winseliu/hadoop-1.1.0/libexec/../logs/hadoop-Winseliu-namenode-WINSE.out
localhost: starting datanode, logging to /home/Winseliu/hadoop-1.1.0/libexec/../logs/hadoop-Winseliu-datanode-WINSE.out
localhost: starting secondarynamenode, logging to /home/Winseliu/hadoop-1.1.0/libexec/../logs/hadoop-Winseliu-secondarynamenode-WINSE.out
starting jobtracker, logging to /home/Winseliu/hadoop-1.1.0/libexec/../logs/hadoop-Winseliu-jobtracker-WINSE.out
localhost: starting tasktracker, logging to /home/Winseliu/hadoop-1.1.0/libexec/../logs/hadoop-Winseliu-tasktracker-WINSE.out

Winseliu@WINSE ~/hadoop-1.1.0
$ bin/start-all.sh
namenode running as process 2648. Stop it first.
localhost: datanode running as process 3512. Stop it first.
localhost: secondarynamenode running as process 2468. Stop it first.
jobtracker running as process 2388. Stop it first.
localhost: tasktracker running as process 860. Stop it first.

Winseliu@WINSE ~/hadoop-1.1.0
$

 

 

 

分享到:
评论

相关推荐

    Mrunit-1.1.0-hadoop2

    - 配置环境:首先,需要将Mrunit的jar包(如mrunit-1.1.0-hadoop2.jar)添加到项目构建路径中。 - 编写测试类:Mrunit提供了模拟MapReduce作业的类,如`org.apache.hadoop.mapreduce.lib.map.MockMapper`和`org....

    flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar.tar.gz

    总结起来,"flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar.tar.gz"是Flink 1.14.0为适应Hadoop 3.x环境而特别构建的兼容性解决方案。它通过Uber jar和阴影处理技术,实现了Flink与Hadoop 3.x的互操作性,让...

    apache-mrunit-1.1.0-hadoop2-bin.tar

    MRUnit 1.1.0是针对Hadoop 2.x版本的一个特定构建,确保了与这个版本的Hadoop的兼容性。 在Hadoop生态系统中,MapReduce是一种分布式计算模型,常用于大数据处理。然而,由于其分布式特性,直接在生产环境中调试和...

    apache-hive-1.1.0-cdh5.7.1-bin.tar.gz

    5. 配置Hadoop环境,确保HDFS可用且Hadoop服务正常运行。 6. 启动Hive Server,以便客户端可以连接并执行查询。 在CDH 5.7.1这个特定版本中,所有的Hadoop相关组件(如YARN,HDFS,MapReduce等)都是预先集成和优化...

    hive-1.1.0-cdh5.14.2.tar.gz和mysql-connector-java-5.1.38.jar连接包

    标题中的“hive-1.1.0-cdh5.14.2.tar.gz”是一个针对Apache Hive的压缩包,这是Hadoop生态系统中的一个数据仓库工具,用于查询和管理大规模存储在Hadoop分布式文件系统(HDFS)上的结构化数据。CDH是Cloudera ...

    hive-1.1.0-cdh5.9.3

    Hive-1.1.0-cdh5.9.3是Cloudera Distribution Including Apache Hadoop(CDH)5.9.3版本中的配套Hive组件,这个版本的Hive在CDH的生态环境中扮演着至关重要的角色。 CDH是由Cloudera公司提供的一个全面、经过测试且...

    hive-jdbc-1.1.0驱动相关jar包

    此外,如果使用的是分布式环境,还需要确保Hadoop的相关配置(如HDFS的路径和权限)也正确无误。 总的来说,Hive JDBC驱动是连接Hive的重要工具,通过它可以方便地在Java应用程序中进行大数据处理。正确加载和使用...

    hive-1.1.0-cdh5.7.0.tar.gz.rar

    Hive是Apache软件基金会开发的一个数据仓库工具,它允许用户使用SQL-like查询语言(HQL)来处理存储在Hadoop分布式文件系统(HDFS)上的大数据集。Hive-1.1.0-cdh5.7.0是Cloudera Data Hub (CDH)平台中的一个版本,...

    hive-1.1.0-cdh5.5.0.tar.gz

    Hive是Apache软件基金会开发的一个数据仓库工具,它允许用户使用SQL-like语法(HQL,Hive Query Language)对大规模存储在Hadoop分布式文件系统(HDFS)中的数据进行查询、分析和管理。Hive-1.1.0-cdh5.5.0是...

    hive-1.1.0-cdh5.10.0.tar.gz

    `hive-1.1.0-cdh5.10.0.tar.gz`是一个包含Hive 1.1.0版本与CDH5.10.0集成的压缩包,用于在Cloudera Distribution Including Apache Hadoop (CDH) 5.10.0环境下运行。 Hive的核心组件包括以下几个方面: 1. **Hive ...

    hadoop-2.6.0-cdh5.16.2.tar.gz for linux 支持snappy

    在Linux环境下,Snappy的使用通常需要安装对应的库文件,并在Hadoop配置中进行设置。首先,确保系统已经安装了Snappy的开发库,通过命令`sudo apt-get install libsnappy-dev`(对于Ubuntu/Debian)或`yum install ...

    配置后的hive-1.1.0-cdh5.7.0.tar.gz

    使用这个配置好的Hive-1.1.0-cdh5.7.0安装包,用户可以直接解压到服务器上,然后根据提供的文档或指南进行简单的配置,如设置Hive的元数据存储位置、Hadoop配置等,就可以启动Hive服务并开始进行数据分析了。...

    PyPI 官网下载 | michelanglo_api-1.1.0.tar.gz

    《PyPI官网下载:michelanglo_api-1.1.0.tar.gz——探索Python库在分布式环境中的应用》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python开发者提供了海量的第三方库,方便大家在开发...

    openssl-1.1.0e.tar.gz

    - **分布式**:这个标签表明讨论的主题涉及到分布式系统,可能是在分布式环境中使用 OpenSSL 或 Zookeeper 的场景,如在多台服务器上部署和管理 SSL/TLS 证书,或者利用 Zookeeper 实现 OpenSSL 配置的集中管理。...

    apache-hive-1.1.0-bin.tar.gz

    在安装和配置 Hive 1.1.0 时,你需要设置环境变量,如 `HADOOP_HOME`、`HIVE_HOME`,并将 Hive 的 bin 目录添加到 PATH 中。接着,你需要创建一个 metastore 数据库,并配置 Hive 连接这个数据库。一旦设置完成,你...

    PyPI 官网下载 | invenio-formatter-1.1.0.tar.gz

    在这种环境中,Zookeeper是一个分布式协调服务,由Apache Hadoop项目开发。它提供了诸如命名服务、配置管理、集群同步、组服务等功能,帮助分布式应用程序管理它们的状态和配置。虽然`invenio-formatter`本身可能并...

    mrunit-1.1.0.jar

    在使用"mrunit-1.1.0-hadoop2.jar"时,开发人员应确保他们的开发环境已经配置好Hadoop 2.x的相关依赖,然后将MRUnit库添加到项目中,编写测试类并继承MRUnit提供的基类,如`TestMapper`和`TestReducer`,利用提供的...

    nsq-1.1.0.tar.gz

    【nsq-1.1.0.tar.gz】是一款基于Golang编写的开源分布式消息队列系统,主要用于构建实时的大规模数据处理系统。该压缩包包含了nsq的1.1.0版本源代码及相关文件,旨在帮助开发者在本地环境中搭建、运行和测试nsq服务...

    PyPI 官网下载 | yadupe-1.1.0.tar.gz

    2. 初始化:在项目中导入yadupe库,并根据需求配置分布式环境,如设置Zookeeper连接。 3. 加载数据:将待处理的数据集导入yadupe,可以是文件、数据库连接或其他数据源。 4. 去重:调用yadupe提供的函数或方法,对...

Global site tag (gtag.js) - Google Analytics