摘要
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 hadoop@192.168.1.8:~/                --把公钥复制所有的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

Hadoop- – 2.2.0 4 64  位源码编译及分布式安装.pdf

CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装的更多相关文章

  1. Centos 6.5 hadoop 2.2.0 全分布式安装

    hadoop 2.2.0 cluster setup 环境: 操作系统:Centos 6.5 jdk:jdk1.7.0_51 hadoop版本:2.2.0 hostname    ip master ...

  2. hadoop2.2.0+hive-0.10.0完全分布式安装方法

    hadoop+hive-0.10.0完全分布式安装方法 1.jdk版本:jdk-7u60-linux-x64.tar.gz http://www.oracle.com/technetwork/cn/j ...

  3. 64位CentOS上编译 Hadoop 2.2.0

    下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后.总是出现这样的警告: WARN util.NativeCodeLoader: Unable to load n ...

  4. mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项

    1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 htt ...

  5. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

  6. hadoop 2.2.0集群安装详细步骤(简单配置,无HA)

    安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...

  7. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  8. hadoop-2.6.0为分布式安装

    hadoop-2.6.0为分布式安装 伪分布模式集群规划(单节点)------------------------------------------------------------------- ...

  9. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  10. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

随机推荐

  1. 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)

    题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为 ...

  2. Kibana4学习<二>

    生产环境部署 Kibana4 是是一个完整的 web 应用.使用时,你需要做的只是打开浏览器,然后输入你运行 Kibana 的机器地址然后加上端口号.比如说:localhost:5601 或者 htt ...

  3. 拓展Jquery对象,实现Post提交并跳转

    $.extend({ StandardPost:function(url,args){ var body = $(document.body), form = $("<form met ...

  4. 22、DDMS(转载)

    本文是转载,出处为http://www.xuebuyuan.com/1291595.html 如需删除本文,请私信我,谢谢 DDMS DDMS是一款Google* 提供的应用,可作为独立的工具运行,也 ...

  5. mysql的简单主从复制(ubuntu)

    环境:两台ubuntu 12.04.5 虚拟机    mysql-server-5.5 master (192.168.240.130) slave (192.168.240.129) (1)查看二进 ...

  6. 使用python远程登录

    最近要使用python做一个在web上管理交换机的程序,需要远程登录,就查了点资料,由于还没有搞到交换机,就先用自己的机器测试一下. 首先python的标准库中包含telnet,用起来也很方便,查看一 ...

  7. 【BZOJ】【1023】【SHOI2008】cactus仙人掌图

    DP+单调队列/仙人掌 题解:http://hzwer.com/4645.html->http://z55250825.blog.163.com/blog/static/150230809201 ...

  8. shadowmap 及优化

    对于子阴影的走样, 条纹 开zbias resterizeState zbias = 1000...大概这样 另一个方法是画背面 backface是指一个人肚子那面,后背那面 而不是肚子的里面那层 所 ...

  9. [工作记录] Android OpenGL ES 2.0: square texture not supported on some device

    npot texture: non-power-of-two texture.rectangle texture: non-square (height != wdith) 在测试Samsumg Ga ...

  10. tcp 多线程与多进程调用close

    http://blog.csdn.net/russell_tao/article/details/13092727 大家知道,所谓线程其实就是“轻量级”的进程.创建进程只能是一个进程(父进程)创建另一 ...