CentOS-64bit编译Hadoop-2.5.源代码,并进行分布式安装

摘要

CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装

目录

  • 1.系统环境说明
  • 2.安装前的准备工作
  • 2.1 关闭防火墙
  • 2.2 检查ssh安装情况,如果没有则安装ssh
  • 2.3 安装vim
  • 2.4 设置静态ip地址
  • 2.5 修改host名称
  • 2.6 创建hadoop用户
  • 2.7 配置ssh无密钥登录
  • 3.安装必须的软件
  • 3.1 安装JDK
  • ##################################### [100%]
  • ##################################### [100%]
  • 3.2 安装其他必须软件
  • 3.3 安装ant
  • 3.4 安装findbugs
  • 3.5 安装protobuf
  • 4. 编译hadoop源码
  • 4.1 maven中央仓库的配置(改成oschina,增加访问速度)
  • 4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0
  • 5. 配置hadoop
  • 5.1 基础操作
  • 5.2 配置所有slave节点
  • 5.3 修改hadoop-env.sh和yarn-env.sh
  • 5.4 修改core-site.xml
  • 5.5 修改hdfs-site.xml
  • 5.6 修改mapred-site.xml
  • 5.7 配置yarn-site.xml
  • 5.8 格式化namenode
  • 5.9 启动hdfs
  • 5.10 检查启动情况

    1.系统环境说明

    CentOS 7.0 x64 版本

    192.168.1.7 master

    192.168.1.8 slave

    192.168.1.9 slave

    192.168.1.10 slave

    2.安装前的准备工作

    2.1 关闭防火墙

    # systemctl status firewalld.service  --查看防火墙状态
    # systemctl stop firewalld.service    --关闭防火墙
    # systemctl disable firewalld.service --永久关闭防火墙

    2.2 检查ssh安装情况,如果没有则安装ssh

    # systemctl status sshd.service  --查看ssh状态
    # yum install openssh-server openssh-clients

    2.3 安装vim

    # yum -y install vim

    2.4 设置静态ip地址

    # vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

    BOOTPROTO="static"

    ONBOOT="yes"

    IPADDR0="192.168.1.7"

    PREFIX0="255.255.255.0"

    GATEWAY0="192.168.1.1"

    DNS1="61.147.37.1"

    DNS2="101.226.4.6"

    2.5 修改host名称

    # vim /etc/sysconfig/network

    HOSTNAME=master

    # vim /etc/hosts
    192.168.1.7   master
    192.168.1.8   slave1
    192.168.1.9   slave2
    192.168.1.10  slave3
    # hostnamectl set-hostname master    (CentOS7 下原有的修改host方法无效了)

    2.6 创建hadoop用户

    # useradd hadoop --创建用户名为hadoop的用户# passwd hadoop  --为用户hadoop设置密码

    2.7 配置ssh无密钥登录

    ———–下面是在master上面的操作

    # su hadoop --切换到hadoop用户$ cd ~      --打开用户文件夹
    $ ssh-keygen -t rsa -P ‘‘ --生成密码对,/home/hadoop/.ssh/id_rsa和/home/hadoop/.ssh/id_rsa.pub
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys        --把id_rsa.pub追加到授权的key里面去
    $ chmod 600 ~/.ssh/authorized_keys        --修改权限
    $ su  --切换到root用户# vim /etc/ssh/sshd_config   --修改ssh配置文件
     RSAAuthentication yes #启用RSA认证
     PubkeyAuthentication yes #启用公钥私钥配对认证方式
     AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
    # su hadoop --切换到hadoop用户
    $ scp ~/.ssh/id_rsa.pub [email protected]:~/                --把公钥复制所有的Slave机器上

    ———-下面是在slave1上面的操作

     # su hadoop --切换到hadoop用户
     $ mkdir ~/.ssh
     $ chmod 700 ~/.ssh
     $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys                --追加到授权文件"authorized_keys"
     $ chmod 600 ~/.ssh/authorized_keys                          --修改权限
     $ su --切换回root用户 # vim /etc/ssh/sshd_config   --修改ssh配置文件
      RSAAuthentication yes #启用RSA认证
      PubkeyAuthentication yes #启用公钥私钥配对认证方式
      AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

    3.安装必须的软件

    3.1 安装JDK

    # rpm -ivh jdk-7u67-linux-x64.rpm

    Preparing…

    ##################################### [100%]

    1:jdk

    ##################################### [100%]

    Unpacking JAR files…

    rt.jar…

    jsse.jar…

    charsets.jar…

    tools.jar…

    localedata.jar…

    # vim /etc/profile
     export JAVA_HOME=/usr/java/jdk1.7.0_67 
     export PATH=$PATH:$JAVA_HOME/bin
    # source profile --修改生效

    3.2 安装其他必须软件

    # yum install maven svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

    3.3 安装ant

    # tar zxvf apache-ant-1.9.4-bin.tar.gz# vim /etc/profile
     export ANT_HOME=/usr/local/apache-ant-1.9.4
     export PATH=$PATH:$ANT_HOME/bin

    3.4 安装findbugs

    # tar zxvf findbugs-3.0.0.tar.gz# vim /etc/profile
     export FINDBUGS_HOME=/usr/local/findbugs-3.0.0
     export PATH=$PATH:$FINDBUGS_HOME/bin

    3.5 安装protobuf

    # tar zxvf protobuf-2.5.0.tar.gz(必须是2.5.0版本的,不然编译hadoop的时候报错)
    # cd protobuf-2.5.0
    # ./configure --prefix=/usr/local
    # make && make install

    4. 编译hadoop源码

    # tar zxvf hadoop-2.5.0-src.tar.gz
    # cd hadoop-2.5.0-src
    # mvn package -Pdist,native,docs -DskipTests -Dtar

    4.1 maven中央仓库的配置(改成oschina,增加访问速度)

    # vim /usr/share/mavem/conf/settings.xml<mirrors>
        <mirror>
            <id>nexus-osc</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus osc</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
        </mirror></mirrors><profiles>
        <profile>
        <id>jdk17</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.7</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.7</maven.compiler.source>
            <maven.compiler.target>1.7</maven.compiler.target>
            <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
        </properties>    
            <repositories>
               <repository>
                    <id>nexus</id>
                    <name>local private nexus</name>
                    <url>http://maven.oschina.net/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
             </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus</id>
                    <name>local private nexus</name>
                    <url>http://maven.oschina.net/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
             </pluginRepositories>
        </profile></profiles>

    4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0

    # ./bin/hadoop versionHadoop 2.5.0Subversion Unknown -r Unknown
    Compiled by root on 2014-09-12T00:47Z
    Compiled with protoc 2.5.0From source with checksum 423dcd5a752eddd8e45ead6fd5ff9a24
    This command was run using /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0/share/hadoop/common/hadoop-common-2.5.0.jar
    # file lib//native/*lib//native/libhadoop.a:        
    current ar archivelib//native/libhadooppipes.a:   
    current ar archivelib//native/libhadoop.so:       
    symbolic link to `libhadoop.so.1.0.0‘lib//native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x972b31264a1ce87a12cfbcc331c8355e32d0e774, not strippedlib//native/libhadooputils.a:   
    current ar archivelib//native/libhdfs.a:          
    current ar archivelib//native/libhdfs.so:         
    symbolic link to `libhdfs.so.0.0.0‘lib//native/libhdfs.so.0.0.0:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x200ccf97f44d838239db3347ad5ade435b472cfa, not stripped

    5. 配置hadoop

    5.1 基础操作

    # cp -r /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0 /opt/hadoop-2.5.0
    # chown -R hadoop:hadoop /opt/hadoop-2.5.0
    # vi /etc/profile
     export HADOOP_HOME=/opt/hadoop-2.5.0
     export PATH=$PATH:$HADOOP_HOME/bin
    # su hadoop
    $ cd /opt/hadoop-2.5.0
    $ mkdir -p dfs/name
    $ mkdir -p dfs/data
    $ mkdir -p tmp
    $ cd etc/hadoop

    5.2 配置所有slave节点

    $ vim slaves
    slave1
    slave2
    slave3

    5.3 修改hadoop-env.sh和yarn-env.sh

    $ vim hadoop-env.sh / vim yarn-env.sh
    export JAVA_HOME=/usr/java/jdk1.7.0_67

    5.4 修改core-site.xml

    <configuration>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://master:9000</value>

    </property>

    <property>

    <name>io.file.buffer.size</name>

    <value>131702</value>

    </property>

    <property>

    <name>hadoop.tmp.dir</name>

    <value>file:/opt/hadoop-2.5.0/tmp</value>

    </property>

    <property>

    <name>hadoop.proxyuser.hadoop.hosts</name>

    <value></value>

    </property>

    <property>

    <name>hadoop.proxyuser.hadoop.groups</name>

    <value></value>

    </property>

    </configuration>

    5.5 修改hdfs-site.xml

    <configuration>

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>/opt/hadoop-2.5.0/dfs/name</value>

    </property>

    <property>

    <name>dfs.datanode.data.dir</name>

    <value>/opt/hadoop-2.5.0/dfs/data</value>

    </property>

    <property>

    <name>dfs.replication</name>

    <value>3</value>

    </property>

    <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>master:9001</value>

    </property>

    <property>

    <name>dfs.webhdfs.enabled</name>

    <value>true</value>

    </property>

    </configuration>

    5.6 修改mapred-site.xml

    # cp mapred-site.xml.template mapred-site.xml

    <configuration>

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

    </property>

    <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

    </property>

    </configuration>

    5.7 配置yarn-site.xml

    <configuration>

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

    <property>

    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <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.resource.memory-mb</name>

    <value>768</value>

    </property>

    </configuration>

    5.8 格式化namenode

    $ ./bin/hdfs namenode -format

    5.9 启动hdfs

    $ ./sbin/start-dfs.sh
    $ ./sbin/start-yarn.sh

    5.10 检查启动情况

    http://192.168.1.7:8088http://192.168.1.7:50070

    参考

  • http://www.it165.net/admin/html/201403/2453.html
  • http://blog.csdn.net/xocoder/article/details/9155901
  • 时间: 2024-10-06 06:06:14

    CentOS-64bit编译Hadoop-2.5.源代码,并进行分布式安装的相关文章

    64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新的稳定版是2.6.0)地址  http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz b) 下载apache-ant (centos自带的ant版本太低,编译过程中会报错)地址: http://mi

    64位CentOS上编译 Hadoop 2.2.0

    1. 下载Hadoop 2.2.0 源码包,并解压 $ wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz $ tar zxf hadoop-2.2.0-src.tar.gz 2. 安装下面的软件 $ sudo yum install cmake lzo-devel zlib-devel gcc autoconf automake libtool ncurses-dev

    CentOS上编译hadoop 2.7

    官网下载的 hadoop执行运行报警告: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableput: `./in': No such file or directory 主要是lib下的native-hadoop 是32位的,所以这里我们自己在64位的系统上编译hadoop 环境准备: 1

    Hadoop之Linux源代码编译

    Hadoop开篇,按惯例.先编译源代码.导入到Eclipse.这样以后要了解那块,或者那块出问题了.直接找源代码. 编译hadoop2.4.1源代码之前.必须安装Maven和Ant环境,而且Hadoop须要protoc2.5.0的支持,所以还要下载protoc.我下载的是:protobuf-2.5.0.tar.bz2 对protoc进行编译安装前先要装几个依赖包:gcc,gcc-c++,make 假设已经安装的能够忽略 yum install gcc yum install gcc-c++ yu

    mac OS X Yosemite 上编译hadoop 2.6/2.7及TEZ 0.5.2/0.7 注意事项

    1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 应该选择mac ox 64位的版本 http://download.oracle.com/otn-pub/java/jdk/7u79-b1

    CentOS 6.4 64位 源码编译hadoop 2.2.0

    CentOS 6.4 64位 源码编译hadoop 2.2.0 搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip解压文件后,同样在/etc/profie里配置环境变量vim /etc/profieexport

    编译Hadoop

    Apache Hadoop 生态圈软件下载地址:http://archive.apache.org/dist/hadoop/hadoop下载地址 http://archive.apache.org/dist/hadoop/common 安装环境 虚拟机中的 CentOS 64位 需要安装软件: jdk: jdk-7u45-linux-x64.rpm hadoop:hadoop-2.7.2-src.tar.gz maven:apache-maven-3.0.5-bin.tar.gz protobu

    自己动手一步一步安装hadoop(含编译hadoop的native本地包)

    最近项目需要用到hadoop,边学习边应用,第一步无疑是安装hadoop,我安装的是hadoop-2.4.1,下面是详细步骤,做备忘以后查看 一.下载依赖软件 1.java hadoop官网说明只支持java 6和7 ,下载最新的java7 http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz 2.maven 从maven官网下载http://maven.apache.org/download

    通过Bigtop编译Hadoop组件的rpm包

    我安装所使用的系统是CentOS6,也可以是red5.6都可以.Bigtop官方网上有Ubuntu系统安装的具体过程. 1.    安装系统依赖 1.1   系统更新并安装新的包 Building Bigtop requires the following tools: ·        Java JDK 1.6 ·        Apache Ant(可以通过yum安装) ·        Apache Maven ·        wget ·        tar ·        git