zoukankan      html  css  js  c++  java
  • hadoop2.2.0编译、安装和测试

    搭建环境:单机64位CentOS6.5 、jdk1.6.0_45、Hadoop2.2.0

    1、准备编译环境

    从http://www.apache.org/dyn/closer.cgi/hadoop/common/上下载的编译好的tar包是32位的,不能用,

    否则启动Hadoop时会警告不能加载本地库,导致nodemanager启动不了,必须自己编译Hadoop源码。

    在CentOS6.5环境下编译源代码之前,需进行以下准备工作:

    1.1 必要的包

    yum install svn

    yum install autoconfautomake libtool cmake

    yum install ncurses-devel

    yum install openssl-devel

    yum install gcc*

    1.2 安装maven

    下载,并解压

    http://maven.apache.org/download.cgi 版本需在3.0.2以上;

    解压到:/usr/lib/apache-maven-3.2.1

    vi /et/profile

    export MAVEN_HOME=/usr/lib/apache-maven-3.2.1

    export PATH=$PATH:$ANT_HOME/bin

    输入一下命令使配置生效:

    source /etc/profile

    验证:mvn -version

    1.3 安装protobuf

    下载:https://code.google.com/p/protobuf/downloads/list 该地址很难打开,用代理翻墙才行。

    请从这里http://download.csdn.net/detail/wenjin_gu/7095597下载。

    解压后进入/protobuf-2.5.0

    ./configure

    make

    make check

    make install

    2、编译Hadoop源码

    从http://www.apache.org/dyn/closer.cgi/hadoop/common/上下载源码。并确认可以连接互联网(Maven要从代码库下载依赖包)。

    新建用户hadoop,并将源码解压到/home/hadoop/下。

    在上述目录下编译:mvn package -Pdist,native -DskipTests -Dtar,该过程很耗时,请耐心等待。

    可能会报如下错误:

    [ERROR] 找不到org.mortbay.component.AbstractLifeCycle的类文件 

    解决方案:
    vi hadoop-common-project/hadoop-auth/pom.xml


         org.mortbay.jetty
         jetty
         test 

    这段之前加一段:

           org.mortbay.jetty
           jetty-util
           test

    重新编译:mvn package -Pdist,native -DskipTests -Dtar。

    如果你还遇到其他问题,请参考:http://blog.sina.com.cn/s/blog_6baac06c0101gvxr.html

    当看到[INFO] BUILD SUCCESS提示信息时表示编译成功完成了。

    编译后的路径在:hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0。

    3、配置

    3.1 修改hostname和hosts

    hostname master

    vi   /etc/hosts

    192.168.*.*  master

    3.2 部署

    将编译后的hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0文件夹拷贝到/home/hadoop/hadoop2.2

    3.3 修改环境变量

    vi  /etc/profile

    export HADOOP_HOME=/home/hadoop/hadoop2.2
    export PATH=$PATH:$HADOOP_HOME/bin

    3.4 修改配置文件,进入/home/hadoop/hadoop2.2/etc/hadoop目录

    3.4.1 vi hadoop-env.sh

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

    3.4.2 vi mapred-site.xml

    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>

    3.4.3 vi core-site.xml

    <configuration>
    <property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.20.50:8020</value>
    </property>
    </configuration>

    3.4.5 vi yarn-site.xml

    <property>
      <name>yarn.resourcemanager.address</name>
      <value>master:8032</value>
    </property>

    <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>master:8030</value>
    </property>

    <property>
      <name>yarn.resourcemanager.resource-tracker.address</name>
      <value>master:8031</value>
    </property>

    <property>
      <name>yarn.resourcemanager.admin.address</name>
      <value>master:8033</value>
    </property>

    <property>
      <name>yarn.resourcemanager.webapp.address</name>
      <value>master:8088</value>
    </property>

    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    3.4.6 vi hdfs-site.xml

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

    4、 启动

    进入/home/hadoop/hadoop2.2目录

    4.1 格式化HDFS

    bin/hadoop namenode -format

    4.2 启动HDFS

    可分别启动NameNode和DataNode

    sbin/hadoop-daemon.sh start namenode

    sbin/hadoop-daemon.sh start datanode

    也可以同时启动

    sbin/start-dfs.sh

    4.3 启动YARN

    可以分别启动ResourceManager和NodeManager

    sbin/yarn-daemon.sh start resourcemanager

    sbin/yarn-daemon.sh start nodemanager

    也可以同时启动

    sbin/start-yarn.sh

    4.4 验证是否成功

    jps

    7360 NodeManager
    9532 SecondaryNameNode
    10960 Jps
    9253 NameNode
    9373 DataNode
    8265 ResourceManager

    通过web界面查看

    注意一般第一栏不会是全0,如果启动过程中出现问题,可通过查看日志发现问题。

    或打印调试日志:export HADOOP_ROOT_LOGGER = DEBUG,Console

    5、测试

    5.1 测试准备

    1)创建本地示例文件

    首先在"/home/hadoop/hadoop2.2"目录下创建文件夹"file"。mkdir file

    接着创建两个文本文件file1.txt和file2.txt,使file1.txt内容为"Hello World",而file2.txt的内容为"Hello Hadoop"

    2)在HDFS上创建输入文件夹

     在/home/hadoop/hadoop2.2目录下,

    [root@master hadoop2.2]# bin/hadoop fs -mkdir /input

    3)上传本地file中文件到集群的input目录下

    在/home/hadoop/hadoop2.2目录下,

    [root@master hadoop2.2]# bin/hadoop fs -put file/file*.txt /input

    5.2 运行WordCount程序

    以input作为输入目录,output目录作为输出目录。

    [root@master hadoop2.2]# bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input/ /output/

    查看结果:

    [root@master hadoop2.2]# bin/hadoop fs -ls /output
    Found 2 items
    -rw-r--r-- 1 root supergroup 0 /output/_SUCCESS
    -rw-r--r-- 1 root supergroup 25 /output/part-r-00000
    [root@master hadoop2.2]# bin/hadoop fs -cat /output/part-r-00000
    Hadoop 1
    Hello 2
    World 1
    [root@master hadoop2.2]#

    本文结束。

  • 相关阅读:
    mac上finalShell的安装
    c 字符串与字符串操作
    .net5 MailKit
    c 99乘法表
    element 动态表单加自定义校验
    遇到的问题 vscode 问题
    vue-element-admin eslint 规则查询表
    利用html2canvas 导出网页 (只是用于自己的笔记,如果需要看配置,自行查找插件api)
    git 常用命令
    uniapp中自动打包微信小程序后自动上传代码
  • 原文地址:https://www.cnblogs.com/wenjingu/p/3625269.html
Copyright © 2011-2022 走看看