导航:首页 > 源码编译 > 编译安装hadoop

编译安装hadoop

发布时间:2023-09-08 00:51:22

‘壹’ 怎么自己动手编译hadoop的eclipse插件

1.在linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功。 http://www.cnblogs.com/PurpleDream/p/4009070.html

2.自己打包hadoop在eclipse中的插件。 http://www.cnblogs.com/PurpleDream/p/4014751.html

3.在eclipse中访问hadoop运行WordCount成功。

所以我下边会分三次记录下我的过程,为自己以后查阅方便,要是能帮助到其他人,自然是更好了!

===============================================================长长的分割线====================================================================

正文:

如果你想在eclipse中安装hadoop的插件,一个很重要的问题就是hadoop的版本与eclipse版本的匹配问题,如果不匹配,可能会导致很多问题。

综上,我在完成了在Linux的CentOS系统中安装hadoop并简单运行WordCount之后(具体参看本文前言中的博客链接),将学习的重点放到了hadoop的eclipse插件上。其实网上也有部分文章在介绍如何编写插件,但是由于我的eclispe版本是Juno,而之前在CentOS安装的是hadoop-1.0.1,所以没有找到完全匹配的成功案例。所以最终决定自己也动手变异一个自己的hadoop插件。

在有了这个想法之后,一开始会觉得特别困难,但是在真正去做之后,会发现很多问题其实还是可以解决的,只要你懂得如果使用网络和谷歌,多参考一下别人的文章,汲取精华,最终一定会成功的。

第一步,确定大致流程:

1.首先我需要ant编译,然后就是hadoop-1.0.1.tar.gz这个安装包,还有就是eclipse。

2.针对我自己的环境,电脑是Win7,eclispe是Juno,下载了hadoop-1.0.1.tar.gz,就差ant之前没有安装。

第二步,安装ant:

1.我参考的是这篇文章http://blog.csdn.net/yang382197207/article/details/10185251,我当时下载的是apache-ant-1.9.4,其他的步骤按照这篇文章介绍的配置就会成功。

第三步,在正式建立项目之前,我在介绍下我的环境: OS: windows 7, Eclipse: Juno, JDK: 1.6.0_43, Hadoop: 1.0.1

1.首先在Eclipse中新建一个java项目,名字叫hadoop-1.0.1-eclipse-plugin,其实这个名字你可以随意的。

2.解压hadoop-1.0.1.tar.gz,在解压后的目录中(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),依次将下面的文件放到项目中:

(1).将\hadoop-1.0.1\src\contrib\eclipse-plugin里面的所有文件以及\hadoop-1.0.1\src\contrib\build-contrib.xml拖拽到项目中

(2).将根目录\hadoop-1.0.1里的所有.jar文件拖拽到eclipse项目中bin目录下。

3.打开项目中的build-contrib.xml,做如下的配置:

(1).找到<property name="hadoop.root" location="hadoop-1.0.1解压缩后的目录"/>

(2).找到<property name="eclipse.home" location="自己的eclipse的目录"/>

(3).找到<property name="version" value="hadoop的版本号"/>

可以参考我的配置,如图:

view sourceprint?
1.
<property name="name" value="${ant.project.name}"/>
2.
<property name="root" value="${basedir}"/>
3.
<property name="hadoop.root" location="D:/SettingUp/ITSettingUp/Hadoop/hadoop-1.0/hadoop-1.0.1"/>
4.
<property name="eclipse.home" location="D:/HaveSetted/ITHaveSetted/Eclipse"/>
5.
<property name="version" value="1.0.1"/>
4.打开项目中的build.xml,做如下的配置:

(1).将文件开头的 <import file="../build-contrib.xml"/> 修改为 <import file="build-contrib.xml"/>

(2).在<javac...>里如下图加入includeantruntime="on",效果如下:

view sourceprint?
01.
<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
02.
<echo message="contrib: ${name}"/>
03.
<javac
04.
encoding="${build.encoding}"
05.
srcdir="${src.dir}"
06.
includes="**/*.java"
07.
destdir="${build.classes}"
08.
debug="${javac.debug}"
09.
deprecation="${javac.deprecation}"
10.
includeantruntime="on">
11.
<classpath refid="classpath"/>
12.
</javac>
13.
</target>
(3).在<path id="classpath">中添加:<path refid="hadoop-jars"/>,效果如下:

view sourceprint?
1.
<!-- Override classpath to include Eclipse SDK jars -->
2.
<path id="classpath">
3.
<pathelement location="${build.classes}"/>
4.
<pathelement location="${hadoop.root}/build/classes"/>
5.
<path refid="eclipse-sdk-jars"/>
6.
<path refid="hadoop-jars"/>
7.
</path>
(4).在<target name="jar" depends="compile" unless="skip.contrib">这个标签里,在< file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>这个配置的下面添加如下几个jar包的配置:

view sourceprint?
1.
< file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
2.
< file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
3.
< file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
4.
< file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
5.
< file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
最终效果如图:

view sourceprint?
01.
<!-- Override jar target to specify manifest -->
02.
<target name="jar" depends="compile" unless="skip.contrib">
03.
<mkdir dir="${build.dir}/lib"/>
04.
< file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core-1.0.1.jar" verbose="true"/>
05.
< file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
06.

07.
< file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
08.
< file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
09.
< file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
10.
< file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
11.
< file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
12.

13.
<jar
14.
jarfile="${build.dir}/hadoop-${name}-${version}.jar"
15.
manifest="${root}/META-INF/MANIFEST.MF">
16.
<fileset dir="${build.dir}" includes="classes/ lib/"/>
17.
<fileset dir="${root}" includes="resources/ plugin.xml"/>
18.
</jar>
19.
</target>
(5).在文件末尾</project>标签之前添加配置:

view sourceprint?
1.
<path id="hadoop-jars">
2.
<fileset dir="${hadoop.root}/">
3.
<include name="hadoop-*.jar"/>
4.
</fileset>
5.
</path>
5.打开hadoop-1.0.1的解压缩目录(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),复制两个jar包到对应的目录文件夹,以我的文件目录结构举例如下:

(1).将D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\hadoop-core-1.0.1.jar 复制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\这个文件夹中

(2).将D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib\commons-cli-1.2.jar复制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\ivy\lib\Hadoop\common这个文件夹中

6.再回到eclipse,打开项目中的\META-INF\MANIFEST.MF文件,做如下的添加:

view sourceprint?
1.
Bundle-ClassPath: classes/,
2.
lib/hadoop-core-1.0.1.jar,
3.
lib/commons-cli-1.2.jar,
4.
lib/commons-configuration-1.6.jar,
5.
lib/commons-httpclient-3.0.1.jar,
6.
lib/commons-lang-2.4.jar,
7.
lib/jackson-core-asl-1.8.8.jar,
8.
lib/jackson-mapper-asl-1.8.8.ja,
7.经过上边的配置,基本已经完成,我们可以编译项目了。右击build.xml文件选择 Run As Ant Build,编译成功,生成的hadoop-1.0.1-eclipse-plugin.jar在hadoop-1.0.1解压目录的\build\contrib\eclipse-plugin文件夹里面。

第四步,当然就是在eclipse中配置我们编译好的插件。

1.把hadoop-1.0.1-eclipse-plugin.jar文件放到eclipse安装目录的plugins中,重启eclipse。重启后,会在Window->Open Perspective->Other里,看到大象图标的Map/Rece出现,或者是window->Preferences中看到Hadoop Map/Rece这个选项。

2.window->Preferences中点击Hadoop Map/Rece这个选项,将Hadoop的那个解压缩目录(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1)的路径配置上,配置效果图如下:

\

3.然后我们在Window->Open Perspective->Other里,点击Map/Rece,切换到这个模式,截图如下:

\

4.切换到Map/Rece模式后,我们看到画面(4)中的截图,点击右下角的两个小图标,测试有没有反应,如果有反应,暂时先别配置,这个我下篇博客会具体讲。如果怎么点都没有反应,则可以做如下操作:

(1).打开项目中的\META-INF\MANIFEST.MF文件,找到之前编译时,添加的Bundle-ClassPath: classes/ 这个位置,之前我们添加了7个jar包的配置,再增加四个,如下:

view sourceprint?
1.
lib/hadoop-common-0.21.0.jar,
2.
lib/hadoop-hdfs-0.21.0.jar,
3.
lib/log4j-1.2.15.jar,
4.
lib/hadoop-mapred-0.21.0.jar
(2).然后我们还需要去网上下载这四个jar包放到下面的文件夹中,以我的目录举例:D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib。

(3).然后在重新编译即可,在替换原来的插件时,在重启eclipse的过程中,你可以这样做:先删除原来的插件,原来重启eclipse,确认Map/Rece没了;然后再关掉eclipse,将新的插件放到plugins里,之后再次启动eclipse。解决这个问题时我在网上参考的文章是:http://blog.csdn.net/kky2010_110/article/details/7774747,大家也可以看看~。

(4).上边所提到的截图如下:

\

经过上边说的这些步骤,eclipse中的hadoop插件我们算是编译完了,这个过程中一定要注意的是,不要怕失败,多尝试,因为hadoop版本与eclipse版本是有关系的,所以导致你的版本和我的不太一致,可能会失败,但是也可能会成功。所以在这里再次提醒,注意文章开始,我对自己的环境的版本的介绍,尤其是eclipse和hadoop的版本。建议大家如果有时间的话,可以先不管版本,按照我的步骤先走一遍,如果实在是不成功的话,则可以找个和我一样的eclipse和hadoop版本,再体验一回。因为,我在这个过程中,就发现,由于是第一次学hadoop,不见到成功的效果,总觉得少点什么,总想见识一下,莫取笑哈~

至于下一步,如果配置Location和运行WordCount,我会在下一篇博客中具体说明,谢谢支持,觉得文章还不错的话,多多点赞,多多留言哈,这将使我充满动力!

‘贰’ 如何在CentOS6.5下编译64位的Hadoop2.x

hadoop2.x在apache官网直接下载的并没有64位直接能用的版本,如果我们想在64位系统使用,那么就需要重新编译hadoop,否则直接使用32位的hadoop运行在64位的系统上,将会出现一些库不兼容的异常。如下图所示,最直接的一个异常:在这之前,先用一个表格来描述下散仙的编译的环境的状况:

序号 描述 备注

1 centos6.5系统64位 linux环境

2 Apache Ant1.9 ant编译

3 Apache Maven3.2.1 maven打包部署

4 gcc,gcc-c++,make 依赖库

5 protobuf-2.5.0 序列化库

6 JDK1.7 JAVA 环境

7 Hadoop2.2.0源码包 官网下载

8 屌丝工程师一名 主角

9 hadoop交流群376932160 技术交流


下面进入正题,散仙的环境是在centos下,所以大部分安装编译依赖库,都可以很方便的使用yum命令来完成。

1,安装gcc,执行如下的几个yum命令即可

Java代码

  • ./configure

  • make

  • makecheck

  • makeinstall

  • [java]view plain

  • <spanstyle="font-family:Arial;font-size:12px;">./configure

  • make

  • makecheck

  • makeinstall</span>


  • 然后,执行如下命令,进行测试安装成功与否

  • [[email protected]]#protoc

  • Missinginputfile.

  • [[email protected]]#

  • [java]view plain

  • <spanstyle="font-family:Arial;font-size:12px;">[[email protected]]#protoc

  • Missinginputfile.

  • [[email protected]]#</span>



  • 6,从hadoop官网下载hadoop2.2.0的版本的源码的src的包,并查看目录

  • [root@ganglia~]#cdhadoop-2.2.0-src

  • [[email protected]]#ll

  • 总用量108

  • -rw-r--r--.167974users996810月72013BUILDING.txt

  • drwxr-xr-x.267974users409610月72013dev-support

  • drwxr-xr-x.467974users40966月917:05hadoop-assemblies

  • drwxr-xr-x.367974users40966月917:27hadoop-client

  • drwxr-xr-x.967974users40966月917:14hadoop-common-project

  • drwxr-xr-x.367974users40966月917:26hadoop-dist

  • drwxr-xr-x.767974users40966月917:20hadoop-hdfs-project

  • drwxr-xr-x.1167974users40966月917:25hadoop-maprece-project

  • drwxr-xr-x.467974users40966月917:06hadoop-maven-plugins

  • drwxr-xr-x.367974users40966月917:27hadoop-minicluster

  • drwxr-xr-x.467974users40966月917:03hadoop-project

  • drwxr-xr-x.367974users40966月917:05hadoop-project-dist

  • drwxr-xr-x.1267974users40966月917:26hadoop-tools

  • drwxr-xr-x.467974users40966月917:24hadoop-yarn-project

  • -rw-r--r--.167974users1516410月72013LICENSE.txt

  • -rw-r--r--.167974users10110月72013NOTICE.txt

  • -rw-r--r--.167974users1656910月72013pom.xml

  • -rw-r--r--.167974users136610月72013README.txt

  • [[email protected]]#

  • [java]view plain

  • <spanstyle="font-family:Arial;font-size:12px;">[root@ganglia~]#cdhadoop-2.2.0-src

  • [[email protected]]#ll

  • 总用量108

  • -rw-r--r--.167974users996810月72013BUILDING.txt

  • drwxr-xr-x.267974users409610月72013dev-support

  • drwxr-xr-x.467974users40966月917:05hadoop-assemblies

  • drwxr-xr-x.367974users40966月917:27hadoop-client

  • drwxr-xr-x.967974users40966月917:14hadoop-common-project

  • drwxr-xr-x.367974users40966月917:26hadoop-dist

  • drwxr-xr-x.767974users40966月917:20hadoop-hdfs-project

  • drwxr-xr-x.1167974users40966月917:25hadoop-maprece-project

  • drwxr-xr-x.467974users40966月917:06hadoop-maven-plugins

  • drwxr-xr-x.367974users40966月917:27hadoop-minicluster

  • drwxr-xr-x.467974users40966月917:03hadoop-project

  • drwxr-xr-x.367974users40966月917:05hadoop-project-dist

  • drwxr-xr-x.1267974users40966月917:26hadoop-tools

  • drwxr-xr-x.467974users40966月917:24hadoop-yarn-project

  • -rw-r--r--.167974users1516410月72013LICENSE.txt

  • -rw-r--r--.167974users10110月72013NOTICE.txt

  • -rw-r--r--.167974users1656910月72013pom.xml

  • -rw-r--r--.167974users136610月72013README.txt

  • [[email protected]]#</span>



  • 7,修改/root/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml文件,增加,补丁内容,这部分是hadoop2.2.0的bug,如果是其他的2.x的版本,可以视情况而定,内容如下:

  • <dependency>

  • <groupId>org.mockito</groupId>

  • <artifactId>mockito-all</artifactId>

  • <scope>test</scope>

  • </dependency>

  • <!--新增的内容开始-->

  • <dependency>

  • <groupId>org.mortbay.jetty</groupId>

  • <artifactId>jetty-util</artifactId>

  • <scope>test</scope>

  • </dependency>

  • <!--新增的内容结束-->

  • <dependency>

  • <groupId>org.mortbay.jetty</groupId>

  • <artifactId>jetty</artifactId>

  • <scope>test</scope>

  • </dependency>

  • [xml]view plain

  • <spanstyle="font-family:Arial;font-size:12px;"><dependency>

  • <groupId>org.mockito</groupId>

  • <artifactId>mockito-all</artifactId>

  • <scope>test</scope>

  • </dependency>

  • <!--新增的内容开始-->

  • <dependency>

  • <groupId>org.mortbay.jetty</groupId>

  • <artifactId>jetty-util</artifactId>

  • <scope>test</scope>

  • </dependency>

  • <!--新增的内容结束-->

  • <dependency>

  • <groupId>org.mortbay.jetty</groupId>

  • <artifactId>jetty</artifactId>

  • <scope>test</scope>

  • </dependency></span>



  • 8,修改完毕后,回到hadoop-2.2.0-src的跟目录下执行编译打包命令:

  • mvnclean

  • mvnpackage-Pdist,native-DskipTests-Dtar

  • [java]view plain

  • <spanstyle="font-family:Arial;font-size:12px;">mvnclean

  • mvnpackage-Pdist,native-DskipTests-Dtar

  • </span>


  • 然后等待半个小时左右的编译时间,网速快的话,时间可能会更短,编译完成后,输出的打包信息如下:

  • [INFO]

  • [INFO]---maven-resources-plugin:2.2:resources(default-resources)@hadoop-minicluster---

  • [INFO].

  • [INFO]

  • [INFO]---maven-compiler-plugin:2.5.1:compile(default-compile)@hadoop-minicluster---

  • [INFO]Nosourcestocompile

  • [INFO]

  • [INFO]---maven-resources-plugin:2.2:testResources(default-testResources)@hadoop-minicluster---

  • [INFO].

  • [INFO]

  • [INFO]---maven-compiler-plugin:2.5.1:testCompile(default-

  • ‘叁’ Hadoop安装

    创建hadoop用户

    1、sudo useradd -m hadoop

    2、sudo passwd hadoop

    3、sudo adser hadoop sudo

    4、虚拟机:最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的hadoop 用户进行登陆。

    5、重新登录检查当前用户是谁:whoami 出现hadoop 成功

    6、更新aptsudo apt-get update更新apt3.安装SSH,

    7、配置免密登陆sudo apt-get install sshsudo apt-get install pdsh 安装ssh

    8、安装Java环境sudo apt install openjdk-8-jdk 安装java

    9、vim ~/.bashrc 进入之后按I 然后输入export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 

    10、按esc 然后按:wq! 回车 完成 此步骤改变环境变量source ~/.bashrc输入java -version检验

    11、安装Hadoopwget https://mirrors.tuna.tsinghua.e.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz 安装命令

    12、sudo tar -zxf ~/hadoop-2.9.2.tar.gz -C /usr/local 解压命令

    13、cd /usr/local/ #进入用户安装目录

    14、sudo mv ./hadoop-2.9.2/ ./hadoopsudo chown -R hadoop ./hadoop # 修改文件权限(hadoop-2.9.2默认拥有者是root,这里我们让hadoop也成为拥有者)

    15、cd /usr/local/hadoop./bin/hadoop version # 查看hadoop版本信息,成功显示则安装成功

    16、cd /usr/local/hadoop进入目录

    17、mkdir ./input创建目录

    18、ls查看当前目录

    19、cp ./etc/hadoop/*.xml ./input

    20、./bin/hadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

    21、cat ./output/*查看

    22、rm -r ./output删除output文件

    23、 cd /usr

    24、 cd local

    25、ls

    26、 cd hadoop

    27、 ls

    28、cd  /usr/local/hadoop/etc/hadoop/

    29、Ls

    30、vi hdfs-site.xml

    31、cd /usr/local/hadoop

    ‘肆’ 如何编译Apache Hadoop2.4.0源代码

    安装JDK

    hadoop是java写的,编译hadoop必须安装jdk。

    从oracle官网下载jdk,下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz下载。

    执行以下命令解压缩jdk

    tar -zxvfjdk-7u45-linux-x64.tar.gz

    会生成一个文件夹jdk1.7.0_45,然后设置环境变量中。

    执行命令 vi/etc/profile,增加以下内容到配置文件中,结果显示如下

    export JAVA_HOME=/usr/java/jdk1.7.0_45

    export JAVA_OPTS="-Xms1024m-Xmx1024m"

    exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

    export PATH=$JAVA_HOME/bin:$PATH

    保存退出文件后,执行以下命令

    source /etc/profile

    java –version 看到显示的版本信息即正确。

    安装maven

    hadoop源码是使用maven组织管理的,必须下载maven。从maven官网下载,下载地址是http://maven.apache.org/download.cgi,选择 apache-maven-3.1.0-bin.tar.gz 下载,不要选择3.1下载。

    执行以下命令解压缩jdk

    tar -zxvf apache-maven-3.1.0-bin.tar.gz

    会生成一个文件夹apache-maven-3.1.0,然后设置环境变量中。

    执行命令vi /etc/profile,编辑结果如下所示

    MAVEN_HOME=/usr/maven/apache-maven-3.1.0

    export MAVEN_HOME

    export PATH=${PATH}:${MAVEN_HOME}/bin

    保存退出文件后,执行以下命令

    source /etc/profile

    mvn -version

    如果看到下面的显示信息,证明配置正确了。

    ‘伍’ 如何在linux下安装hadoop

    如何在linux下安装hadoop

    建议使用自动化部署吧。 这个还是不太难做到哦。 能否看一下my网名呢?帮助搞定一下

    一、前期准备:
    下载hadoop: :hadoop.apache./core/releases.
    :hadoop.apache./mon/releases.
    :apache./dyn/closer.cgi/hadoop/core/
    :labs.xiaonei./apache-mirror/hadoop/core/hadoop-0.20.1/hadoop-0.20.1.tar.gz
    :labs.xiaonei./apache-mirror/hadoop/
    二、硬体环境
    共有3台机器,均使用的CentOS,Java使用的是jdk1.6.0。
    三、安装JAVA6
    sudo apt-get install sun-java6-jdk
    /etc/environment
    开启之后加入:#中间是以英文的冒号隔开,记得windows中是以英文的分号做为宏没分隔的
    CLASSPATH=.:/usr/local/java/lib
    JAVA_HOME=/usr/local/java
    三、配置host表
    [root@hadoop ~]# vi /etc/hosts
    127.0.0.1 localhost
    192.168.13.100 namenode
    192.168.13.108 datanode1
    192.168.13.110 datanode2
    [root@test ~]# vi /etc/hosts
    127.0.0.1 localhost
    192.168.13.100 namenode
    192.168.13.108 datanode1
    [root@test2 ~]# vi /etc/host
    127.0.0.1 localhost
    192.168.13.100 namenode
    192.168.13.110 datanode2
    新增使用者和使用者组
    addgroup hadoop
    adser hadoop
    usermod -a -G hadoop hadoop
    passwd hadoop
    配置ssh:
    服务端:
    su hadoop
    ssh-keygen -t rsa
    cp id_rsa.pub authorized_keys
    客户端
    chmod 700 /home/hadoop
    chmod 755 /home/hadoop/.ssh
    su hadoop
    cd /home
    mkdir .ssh
    服务端:
    chmod 644 /home/hadoop/.ssh/authorized_keys
    scp authorized_keys datanode1:/home/hadoop/.ssh/
    scp authorized_keys datanode2:/home/hadoop/.ssh/
    ssh datanode1
    ssh datanode2
    如果ssh配置好了就会蔽和纳出现以下提示棚纤资讯
    The authenticity of host [dbrg-2] can't be established.
    Key fingerpr is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
    Are you sure you want to continue connecting (yes/no)?
    OpenSSH告诉你它不知道这台主机但是你不用担心这个问题你是第次登入这台主机键入“yes”这将把
    这台主机“识别标记”加到“~/.ssh/know_hosts”档案中第 2次访问这台主机时候就不会再显示这条提示信
    不过别忘了测试本机sshdbrg-1

    mkdir /home/hadoop/HadoopInstall
    tar -zxvf hadoop-0.20.1.tar.gz -C /home/hadoop/HadoopInstall/
    cd /home/hadoop/HadoopInstall/
    ln -s hadoop-0.20.1 hadoop
    export JAVA_HOME=/usr/local/java
    export CLASSPATH=.:/usr/local/java/lib
    export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop
    export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf
    export PATH=$HADOOP_HOME/bin:$PATH
    cd $HADOOP_HOME/conf/
    mkdir /home/hadoop/hadoop-conf
    cp hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml masters slaves /home/hadoop/hadoop-conf
    vi $HADOOP_HOME/hadoop-conf/hadoop-env.sh
    # The java implementation to use. Required. --修改成你自己jdk安装的目录
    export JAVA_HOME=/usr/local/java

    export HADOOP_CLASSPATH=.:/usr/local/java/lib
    # The maximum amount of heap to use, in MB. Default is 1000.--根据你的记忆体大小调整
    export HADOOP_HEAPSIZE=200
    vi /home/hadoop/.bashrc
    export JAVA_HOME=/usr/local/java
    export CLASSPATH=.:/usr/local/java/lib
    export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop
    export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf
    export PATH=$HADOOP_HOME/bin:$PATH
    配置
    namenode
    #vi $HADOOP_CONF_DIR/slaves
    192.168.13.108
    192.168.13.110
    #vi $HADOOP_CONF_DIR/core-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type=text/xsl href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs:192.168.13.100:9000</value>
    </property>
    </configuration>
    #vi $HADOOP_CONF_DIR/hdfs-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type=text/xsl href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>3</value>
    <description>Default block replication.
    The actual number of replications can be specified when the file is created.
    The default is used if replication is not specified in create time.
    </description>
    </property>
    </configuration>
    #vi $HADOOP_CONF_DIR/mapred-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type=text/xsl href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>192.168.13.100:11000</value>
    </property>
    </configuration>
    ~
    在slave上的配置档案如下(hdfs-site.xml不需要配置):
    [root@test12 conf]# cat core-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type=text/xsl href="configuration.xsl"?>
    <!-- Put site-specific property overrides in this file. -->
    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs:namenode:9000</value>
    </property>
    </configuration>
    [root@test12 conf]# cat mapred-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type=text/xsl href="configuration.xsl"?>
    <!-- Put site-specific property overrides in this file. -->
    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>namenode:11000</value>
    </property>
    </configuration>
    启动
    export PATH=$HADOOP_HOME/bin:$PATH
    hadoop namenode -format
    start-all.sh
    停止s-all.sh
    在hdfs上建立danchentest资料夹,上传档案到此目录下
    $HADOOP_HOME/bin/hadoop fs -mkdir danchentest
    $HADOOP_HOME/bin/hadoop fs -put $HADOOP_HOME/README.txt danchentest
    cd $HADOOP_HOME
    hadoop jar hadoop-0.20.1-examples.jar wordcount /user/hadoop/danchentest/README.txt output1
    09/12/21 18:31:44 INFO input.FileInputFormat: Total input paths to process : 1
    09/12/21 18:31:45 INFO mapred.JobClient: Running job: job_200912211824_0002
    09/12/21 18:31:46 INFO mapred.JobClient: map 0% rece 0%
    09/12/21 18:31:53 INFO mapred.JobClient: map 100% rece 0%
    09/12/21 18:32:05 INFO mapred.JobClient: map 100% rece 100%
    09/12/21 18:32:07 INFO mapred.JobClient: Job plete: job_200912211824_0002
    09/12/21 18:32:07 INFO mapred.JobClient: Counters: 17
    09/12/21 18:32:07 INFO mapred.JobClient: Job Counters
    09/12/21 18:32:07 INFO mapred.JobClient: Launched rece tasks=1
    检视输出结果档案,这个档案在hdfs上
    [root@test11 hadoop]# hadoop fs -ls output1
    Found 2 items
    drwxr-xr-x - root supergroup 0 2009-09-30 16:01 /user/root/output1/_logs
    -rw-r--r-- 3 root supergroup 1306 2009-09-30 16:01 /user/root/output1/part-r-00000
    [root@test11 hadoop]# hadoop fs -cat output1/part-r-00000
    (BIS), 1
    (ECCN) 1
    检视hdfs执行状态,可以通过web接口来访问:192.168.13.100:50070/dfshealth.jsp;检视map-rece资讯,
    可以通过web接口来访问:192.168.13.100:50030/jobtracker.jsp;下面是直接命令列看到的结果。
    出现08/01/25 16:31:40 INFO ipc.Client: Retrying connect to server: foo.bar./1.1.1.1:53567. Already tried 1 time(s).
    的原因是没有格式化:hadoop namenode -format

    如何在windows下安装hadoop

    建议你在windows上安装linux的虚拟机器,然后在linux上安装hadoop

    1、安装Cygwin
    下载cygwin的setup.exe,双击执行:

    选择从Inter安装:
    设定安装目录:

    设定安装包目录:

    设定“Inter Connection”的方式,选择“Direct Connection”:

    选择一个下载站点:
    “下一步”之后,可能会弹出下图的“Setup Alert”对话方块,直接“确定”即可
    在“Select Packages”对话方块中,必须保证“Net Category”下的“OpenSSL”被安装:

    如果还打算在eclipse 上编译Hadoop,则还必须安装“Base Category”下的“sed”:

    “Devel Category”下的subversion 建议安装:

    下载并安装:

    当下载完后,会自动进入到“setup”的对话方块:

    在上图所示的对话方块中,选中“Create icon on Desk”,以方便直接从桌面上启动
    Cygwin,然后点选“完成”按钮。至此,Cgywin 已经安装完成。
    2、配置环境变数
    需要配置的环境变数包括PATH 和JAVA_HOME:将JDK 的bin 目录、Cygwin 的bin 目录
    以及Cygwin 的usrin( *** in)目录都新增到PATH 环境变数中;JAVA_HOME 指向JRE 安装目录。
    3、windows系统上执行hadoop丛集,伪分散式模式安装步骤:
    ①启动cygwin,解压hadoop安装包。通过cygdrive(位于Cygwin根目录中)可以直接对映到windows下的各个逻辑磁盘分割槽。例如hadoop安装包放在分割槽D:下,则解压的命令为$ tar -zxvf /cygdrive/d/hadoop-0.20.2.tar.gz,解压后可使用ls命令检视,如下图:
    预设的解压目录为使用者根目录,即D:cygwinhomelsq(使用者帐户)。
    ②编辑conf/hadoop-env.sh档案,将JAVA_HOME变数设定为java的安装目录。例如java安装在目录C:Program Filesjavajdk1.6.0_13,如果路径没空格,直接配置即可。存在空格,需将Program Files缩写成Progra_1,如下图:
    ③依次编辑conf目录下的core-site.xml、mapred-site.xml和hdfs-site.xml档案,如下图:
    ④安装配置SSH
    点选桌面上的Cygwin图示,启动Cygwin,执行ssh-host-config命令,然后按下图上的选择输入:

    当提示Do you want to use a different name?输入yes,这步是配置安装的sshd服务,以哪个使用者登入,预设是cyg_server这个使用者,这里就不事先新建cyg_server这个使用者,用当前本机的超管本地使用者:chenx,后续根据提示,2次输入这个账户的密码

    出现Host configuration finished. Have fun! 一般安装顺利完成。如下图:

    输入命令$ start sshd,启动SSH,如下图:

    注:sshd服务安装完之后,不会预设启动,如果启动报登入失败,不能启动,可在服务属性-Log On视窗手工修改,在前述的过程之中,cygwin不会校验密码是否正确,应该只是校验了2次的输入是否一致,然后再手工启动。不知道为什么,sshd服务如果选择local system的登入方式,后续会有问题,所以sshd服务最好设定成当前的登入使用者。

    ⑤配置ssh登入
    执行ssh-keygen命令生成金钥档案
    输入如下命令:
    cd ~/.ssh
    ls -l
    cat id_rsa.pub >> authorized_keys
    完成上述操作后,执行exit命令先退出Cygwin视窗,如果不执行这一步操作,下面的操作可能会遇到错误。接下来,重新执行Cygwin,执行ssh localhost命令,在第一次执行ssh localhost时,会有“are you sure you want to continue connection<yes/no>?”提示,输入yes,然后回车即可。当出现下图提示,即顺利完成该步:

    ⑥hadoop执行
    格式化namenode
    开启cygwin视窗,输入如下命令:
    cd hadoop-0.20.2
    mkdir logs
    bin/hadoop namenode –format

    启动Hadoop
    在Cygwin 中,进入hadoop 的bin 目录,
    执行./start-all.sh 启动hadoop;
    可以执行./hadoop fs -ls /命令,检视hadoop 的根目录;
    可以执行jps 检视相关程序;
    如下图:(如果显示和下图类似,一般hadoop安装/启动成功)

    如何在hadoop 环境下安装hive

    不行。 安装 vm 下载:去官网下 VMware-player-5.0.1-894247.zip 安装和配置ubanto 下载:去官网下 ubuntu-12.10-desk-i386.iso 开启vm,载入ubanto iso档案,进行安装更新 进入ubanto,如果是第一个进入,则需要设定root的密码

    如何在ubantu环境下安装hadoop

    上apache的hadoop页下编译好的包,解压,配一些档案就行了 很容易 网上教程很多

    如何在 Linux 下安装 PyCharm

    PyCharm 是由 Jetbrains 公司开发的一个跨平台编辑器。如果你之前是在 Windows 环境下进行开发,那么你会立刻认出 Jetbrains 公司,它就是那个开发了 Resharper 的公司。 这篇文章将讨论如何在 Linux 系统上获取、安装和执行 PyCharm 。

    如何在linux下安装opencv

    新建一个perl,名为bar.pl
    内容如下:
    #!/usr/bin/perl
    while (<>){
    chomp;
    s/([^-]+) - .*/1/g;
    system "apt-get install ".$_;
    }
    然后apt-cache search opencv | perl bar.pl

    ‘陆’ 安装hadoop的步骤有哪些

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFSHA、YARN等。最新的hadoop-2.4.1又增加了YARNHA

    注意:apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,
    所以如果在64位的操作上安装hadoop-2.4.1就需要重新在64操作系统上重新编译
    (建议第一次安装用32位的系统,我将编译好的64位的也上传到群共享里了,如果有兴趣的可以自己编译一下)

    前期准备就不详细说了,课堂上都介绍了
    1.修改Linux主机名
    2.修改IP
    3.修改主机名和IP的映射关系
    ######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等)
    /etc/hosts里面要配置的是内网IP地址和主机名的映射关系
    4.关闭防火墙
    5.ssh免登陆
    6.安装JDK,配置环境变量等

    集群规划:
    主机名 IP 安装的软件 运行的进程
    HA181 192.168.1.181 jdk、hadoop NameNode、DFSZKFailoverController(zkfc)
    HA182 192.168.1.182 jdk、hadoop NameNode、DFSZKFailoverController(zkfc)
    HA183 192.168.1.183 jdk、hadoop ResourceManager
    HA184 192.168.1.184 jdk、hadoop ResourceManager
    HA185 192.168.1.185 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
    HA186 192.168.1.186 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
    HA187 192.168.1.187 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain

    说明:
    1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。ActiveNameNode对外提供服务,而StandbyNameNode则不对外提供服务,仅同步activenamenode的状态,以便能够在它失败时快速进行切换。
    hadoop2.0官方提供了两种HDFSHA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode
    这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当ActiveNameNode挂掉了,会自动切换StandbyNameNode为standby状态
    2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调
    安装步骤:
    1.安装配置zooekeeper集群(在HA185上)
    1.1解压
    tar-zxvfzookeeper-3.4.5.tar.gz-C/app/
    1.2修改配置
    cd/app/zookeeper-3.4.5/conf/
    cpzoo_sample.cfgzoo.cfg
    vimzoo.cfg
    修改:dataDir=/app/zookeeper-3.4.5/tmp
    在最后添加:
    server.1=HA185:2888:3888
    server.2=HA186:2888:3888
    server.3=HA187:2888:3888
    保存退出
    然后创建一个tmp文件夹
    mkdir/app/zookeeper-3.4.5/tmp
    再创建一个空文件
    touch/app/zookeeper-3.4.5/tmp/myid
    最后向该文件写入ID
    echo1>/app/zookeeper-3.4.5/tmp/myid
    1.3将配置好的zookeeper拷贝到其他节点(首先分别在HA186、HA187根目录下创建一个weekend目录:mkdir/weekend)
    scp-r/app/zookeeper-3.4.5/HA186:/app/
    scp-r/app/zookeeper-3.4.5/HA187:/app/

    注意:修改HA186、HA187对应/weekend/zookeeper-3.4.5/tmp/myid内容
    HA186:
    echo2>/app/zookeeper-3.4.5/tmp/myid
    HA187:
    echo3>/app/zookeeper-3.4.5/tmp/myid

    2.安装配置hadoop集群(在HA181上操作)
    2.1解压
    tar-zxvfhadoop-2.4.1.tar.gz-C/weekend/
    2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目录下)
    #将hadoop添加到环境变量中
    vim/etc/profile
    exportJAVA_HOME=/app/jdk1.7.0_79
    exportHADOOP_HOME=/app/hadoop-2.4.1
    exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

    #hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
    cd/home/hadoop/app/hadoop-2.4.1/etc/hadoop

    2.2.1修改hadoop-env.sh
    exportJAVA_HOME=/app/jdk1.7.0_79

    2.2.2修改core-site.xml
    <configuration>
    <!--指定hdfs的nameservice为ns1-->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://ns1/</value>
    </property>
    <!--指定hadoop临时目录-->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/app/hadoop-2.4.1/tmp</value>
    </property>

    <!--指定zookeeper地址-->
    <property>
    <name>ha.zookeeper.quorum</name>
    <value>HA185:2181,HA186:2181,HA187:2181</value>
    </property>
    </configuration>

    2.2.3修改hdfs-site.xml
    <configuration>
    <!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致-->
    <property>
    <name>dfs.nameservices</name>
    <value>ns1</value>
    </property>
    <!--ns1下面有两个NameNode,分别是nn1,nn2-->
    <property>
    <name>dfs.ha.namenodes.ns1</name>
    <value>nn1,nn2</value>
    </property>
    <!--nn1的RPC通信地址-->
    <property>
    <name>dfs.namenode.rpc-address.ns1.nn1</name>
    <value>HA181:9000</value>
    </property>
    <!--nn1的http通信地址-->
    <property>
    <name>dfs.namenode.http-address.ns1.nn1</name>
    <value>HA181:50070</value>
    </property>
    <!--nn2的RPC通信地址-->
    <property>
    <name>dfs.namenode.rpc-address.ns1.nn2</name>
    <value>HA182:9000</value>
    </property>
    <!--nn2的http通信地址-->
    <property>
    <name>dfs.namenode.http-address.ns1.nn2</name>
    <value>HA182:50070</value>
    </property>
    <!--指定NameNode的元数据在JournalNode上的存放位置-->
    <property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://HA185:8485;HA186:8485;HA187:8485/ns1</value>
    </property>
    <!--指定JournalNode在本地磁盘存放数据的位置-->
    <property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/app/hadoop-2.4.1/journaldata</value>
    </property>
    <!--开启NameNode失败自动切换-->
    <property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
    </property>
    <!--配置失败自动切换实现方式-->
    <property>
    <name>dfs.client.failover.proxy.provider.ns1</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.</value>
    </property>
    <!--配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->
    <property>
    <name>dfs.ha.fencing.methods</name>
    <value>
    sshfence
    shell(/bin/true)
    </value>
    </property>
    <!--使用sshfence隔离机制时需要ssh免登陆-->
    <property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/home/hadoop/.ssh/id_rsa</value>
    </property>
    <!--配置sshfence隔离机制超时时间-->
    <property>
    <name>dfs.ha.fencing.ssh.connect-timeout</name>
    <value>30000</value>
    </property>
    </configuration>

    2.2.4修改mapred-site.xml
    <configuration>
    <!--指定mr框架为yarn方式-->
    <property>
    <name>maprece.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>

    2.2.5修改yarn-site.xml
    <configuration>
    <!--开启RM高可用-->
    <property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
    </property>
    <!--指定RM的clusterid-->
    <property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>yrc</value>
    </property>
    <!--指定RM的名字-->
    <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
    </property>
    <!--分别指定RM的地址-->
    <property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>HA183</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>HA184</value>
    </property>
    <!--指定zk集群地址-->
    <property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>HA185:2181,HA186:2181,HA187:2181</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>maprece_shuffle</value>
    </property>
    </configuration>


    2.2.6修改slaves(slaves是指定子节点的位置,因为要在HA181上启动HDFS、在HA183启动yarn,
    所以HA181上的slaves文件指定的是datanode的位置,HA183上的slaves文件指定的是nodemanager的位置)
    HA185
    HA186
    HA187

    2.2.7配置免密码登陆
    #首先要配置HA181到HA182、HA183、HA184、HA185、HA186、HA187的免密码登陆
    #在HA181上生产一对钥匙
    ssh-keygen-trsa
    #将公钥拷贝到其他节点,包括自己
    ssh--idHA181
    ssh--idHA182
    ssh--idHA183
    ssh--idHA184
    ssh--idHA185
    ssh--idHA186
    ssh--idHA187
    #配置HA183到HA184、HA185、HA186、HA187的免密码登陆
    #在HA183上生产一对钥匙
    ssh-keygen-trsa
    #将公钥拷贝到其他节点
    ssh--idHA184
    ssh--idHA185
    ssh--idHA186
    ssh--idHA187
    #注意:两个namenode之间要配置ssh免密码登陆,别忘了配置HA182到HA181的免登陆
    在HA182上生产一对钥匙
    ssh-keygen-trsa
    ssh--id-iHA181

    2.4将配置好的hadoop拷贝到其他节点
    scp-r/app/hadoop-2.5.1/HA182:/app/
    scp-r/app/hadoop-2.5.1/HA183:/app/
    scp-r/app/hadoop-2.5.1/HA184:/app/
    scp-r/app/hadoop-2.5.1/HA185:/app/
    scp-r/app/hadoop-2.5.1/HA186:/app/
    scp-r/app/hadoop-2.5.1/HA187:/app/
    ###注意:严格按照下面的步骤
    2.5启动zookeeper集群(分别在HA185、HA186、tcast07上启动zk)
    cd/app/zookeeper-3.4.5/bin/
    ./zkServer.shstart
    #查看状态:一个leader,两个follower
    ./zkServer.shstatus

    2.6启动journalnode(分别在在HA185、HA186、HA187上执行)
    cd/app/hadoop-2.5.1
    hadoop-daemon.shstartjournalnode
    #运行jps命令检验,HA185、HA186、HA187上多了JournalNode进程
    2.7格式化ZKFC(在HA181上执行即可) hdfszkfc-formatZK
    2.8格式化HDFS
    #在HA181上执行命令:
    hdfsnamenode-format
    #格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/app/hadoop-2.4.1/tmp,然后将/weekend/hadoop-2.4.1/tmp拷贝到HA182的/weekend/hadoop-2.4.1/下。
    scp-rtmp/HA182:/app/hadoop-2.5.1/
    ##也可以这样,建议hdfsnamenode-bootstrapStandby



    2.9启动HDFS(在HA181上执行)
    sbin/start-dfs.sh

    2.10启动YARN(#####注意#####:是在HA183上执行start-yarn.sh,把namenode和resourcemanager分开是因为性能问题,因为他们都要占用大量资源,所以把他们分开了,他们分开了就要分别在不同的机器上启动)
    sbin/start-yarn.sh


    到此,hadoop-2.4.1配置完毕,可以统计浏览器访问:
    http://192.168.1.181:50070
    NameNode'HA181:9000'(active)
    http://192.168.1.182:50070
    NameNode'HA182:9000'(standby)

    验证HDFSHA
    首先向hdfs上传一个文件
    hadoopfs-put/etc/profile/profile
    hadoopfs-ls/
    然后再kill掉active的NameNode
    kill-9<pidofNN>
    通过浏览器访问:http://192.168.1.182:50070
    NameNode'HA182:9000'(active)
    这个时候HA182上的NameNode变成了active
    在执行命令:
    hadoopfs-ls/
    -rw-r--r--3rootsupergroup19262014-02-0615:36/profile
    刚才上传的文件依然存在!!!
    手动启动那个挂掉的NameNode
    sbin/hadoop-daemon.shstartnamenode
    通过浏览器访问:http://192.168.1.181:50070
    NameNode'HA181:9000'(standby)

    验证YARN:
    运行一下hadoop提供的demo中的WordCount程序:
    hadoopjarshare/hadoop/maprece/hadoop-maprece-examples-2.4.1.jarwordcount/profile/out

    OK,大功告成!!!
    CID-74d21742-3e4b-4df6-a99c-d52f703b49c0



    测试集群工作状态的一些指令:
    bin/hdfsdfsadmin-report 查看hdfs的各节点状态信息


    bin/hdfshaadmin-getServiceStatenn1 获取一个namenode节点的HA状态

    sbin/hadoop-daemon.shstartnamenode单独启动一个namenode进程


    ./hadoop-daemon.shstartzkfc单独启动一个zkfc进程

    ‘柒’ 如何编译Apache Hadoop2.2.0源代码

    下载hadoop-2.2.0-src.tar.gz 下载。

    执行以下命令解压缩jdk
    tar -zxvf hadoop-2.2.0-src.tar.gz

    会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令
    gedit pom.xml
    在第55行下增加以下内容
    <dependency>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <scope>test</scope>
    </dependency>

    保存退出即可。

    上述bug详见https://issues.apache.org/jira/browse/HADOOP-10110,在hadoop3中修复了,离我们太遥远了。

    好了,现在进入到目录/usr/local/hadoop-2.2.0-src中,执行命令
    mvn package -DskipTests -Pdist,native,docs
    如果没有执行第4步,把上面命令中的docs去掉即可,就不必生成文档了。
    该命令会从外网下载依赖的jar,编译hadoop源码,需要花费很长时间,你可以吃饭了。
    在等待n久之后,可以看到如下的结果:
    [INFO] Apache Hadoop Main ................................ SUCCESS [6.936s]
    [INFO] Apache Hadoop Project POM ......................... SUCCESS [4.928s]
    [INFO] Apache Hadoop Annotations ......................... SUCCESS [9.399s]
    [INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.871s]
    [INFO] Apache Hadoop Project Dist POM .................... SUCCESS [7.981s]
    [INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [8.965s]
    [INFO] Apache Hadoop Auth ................................ SUCCESS [39.748s]
    [INFO] Apache Hadoop Auth Examples ....................... SUCCESS [11.081s]
    [INFO] Apache Hadoop Common .............................. SUCCESS [10:41.466s]
    [INFO] Apache Hadoop NFS ................................. SUCCESS [26.346s]
    [INFO] Apache Hadoop Common Project ...................... SUCCESS [0.061s]
    [INFO] Apache Hadoop HDFS ................................ SUCCESS [12:49.368s]
    [INFO] Apache Hadoop HttpFS .............................. SUCCESS [41.896s]
    [INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [41.043s]
    [INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [9.650s]
    [INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.051s]
    [INFO] hadoop-yarn ....................................... SUCCESS [1:22.693s]
    [INFO] hadoop-yarn-api ................................... SUCCESS [1:20.262s]
    [INFO] hadoop-yarn-common ................................ SUCCESS [1:30.530s]
    [INFO] hadoop-yarn-server ................................ SUCCESS [0.177s]
    [INFO] hadoop-yarn-server-common ......................... SUCCESS [15.781s]
    [INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [40.800s]
    [INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [6.099s]
    [INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [37.639s]
    [INFO] hadoop-yarn-server-tests .......................... SUCCESS [4.516s]
    [INFO] hadoop-yarn-client ................................ SUCCESS [25.594s]
    [INFO] hadoop-yarn-applications .......................... SUCCESS [0.286s]
    [INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [10.143s]
    [INFO] hadoop-maprece-client ........................... SUCCESS [0.119s]
    [INFO] hadoop-maprece-client-core ...................... SUCCESS [55.812s]
    [INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [8.749s]
    [INFO] hadoop-yarn-site .................................. SUCCESS [0.524s]
    [INFO] hadoop-yarn-project ............................... SUCCESS [16.641s]
    [INFO] hadoop-maprece-client-common .................... SUCCESS [40.796s]
    [INFO] hadoop-maprece-client-shuffle ................... SUCCESS [7.628s]
    [INFO] hadoop-maprece-client-app ....................... SUCCESS [24.066s]
    [INFO] hadoop-maprece-client-hs ........................ SUCCESS [13.243s]
    [INFO] hadoop-maprece-client-jobclient ................. SUCCESS [16.670s]
    [INFO] hadoop-maprece-client-hs-plugins ................ SUCCESS [3.787s]
    [INFO] Apache Hadoop MapRece Examples .................. SUCCESS [17.012s]
    [INFO] hadoop-maprece .................................. SUCCESS [6.459s]
    [INFO] Apache Hadoop MapRece Streaming ................. SUCCESS [12.149s]
    [INFO] Apache Hadoop Distributed Copy .................... SUCCESS [15.968s]
    [INFO] Apache Hadoop Archives ............................ SUCCESS [5.851s]
    [INFO] Apache Hadoop Rumen ............................... SUCCESS [18.364s]
    [INFO] Apache Hadoop Gridmix ............................. SUCCESS [14.943s]
    [INFO] Apache Hadoop Data Join ........................... SUCCESS [9.648s]
    [INFO] Apache Hadoop Extras .............................. SUCCESS [5.763s]
    [INFO] Apache Hadoop Pipes ............................... SUCCESS [16.289s]
    [INFO] Apache Hadoop Tools Dist .......................... SUCCESS [3.261s]
    [INFO] Apache Hadoop Tools ............................... SUCCESS [0.043s]
    [INFO] Apache Hadoop Distribution ........................ SUCCESS [56.188s]
    [INFO] Apache Hadoop Client .............................. SUCCESS [10.910s]
    [INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [0.321s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 40:00.444s
    [INFO] Finished at: Thu Dec 26 12:42:24 CST 2013
    [INFO] Final Memory: 109M/362M
    [INFO] ------------------------------------------------------------------------

    阅读全文

    与编译安装hadoop相关的资料

    热点内容
    time库中的clock函数python 浏览:987
    cad视觉移动命令怎么打开 浏览:819
    安卓java调用python 浏览:395
    java标准时间 浏览:137
    华为服务器湖北渠道商云主机 浏览:30
    韩式面部护理解压视频 浏览:301
    pdf换成jpg图片 浏览:897
    dh加密算法 浏览:107
    安卓手机如何隐藏微信信息提示 浏览:632
    nodejs解压缩 浏览:262
    直流双转子压缩机 浏览:952
    pythonxmlstring 浏览:822
    用私钥加密之后可以用公钥解密 浏览:788
    ug如何启动服务器 浏览:444
    csgo防抖动命令 浏览:960
    如何弄到手机app页面的源码 浏览:441
    androidwindows7破解版 浏览:363
    解压视频动画怎么拍 浏览:748
    连涨启动源码 浏览:163
    小奔运动app网络异常怎么回事 浏览:449