1. 安装环境
    操作系统:CentOS 6.5 i586(32位)
    java环境:JDK 1.7.0.51
    hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz
  2. 安装准备
    设置集群的hosts,切换到root用户下,用vi编辑器修改/etc/hosts配置文件:
    vi /etc/hosts
    
    10.1.5.125 master
    10.1.5.126 slave1
    10.1.5.127 slave2 127.0.0.1 localhost

    配置集群各个节点之间的ssh无密码互信,也就是从master开始,ssh到master、slave1和slave2上都不需要密码,反向ssh到master则不必设置。互信设置需要在hadoop2用户下执行命令如下:

    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    scp ~/.ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/
    scp ~/.ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/

    这样就将生成的授权秘钥拷贝到了slave1和slave2的/home/hadoop2/.ssh目录下,还需要执行非常重要的一步才能实现无密码互信,修改权限:

    chmod  ~/.ssh/authorized_keys

    该步骤必须在master、slave1和slave2上分别执行。

  3. hadoop安装
    将hadoop-2.2.0.tar.gz拷贝到hadoop2用户的工作目录/home/hadoop2,执行解压命令,并修改文件夹名称为hadoop2:
    tar -zxvf hadoop-2.2..tar.gz
    mv hadoop-2.2. hadoop2

    先配置hadoop2的环境变量,修改~/.bash_profile(JAVA_HOME、PATH和CLASSPATH已经在root用户下设置在/etc/profile文件中):

    vi .bash_profile
    
    export HADOOP_HOME=$HOME/hadoop2
    export HADOOP_MAPRED_HOME=${HADOOP_HOME}
    export HADOOP_COMMON_HOME=${HADOOP_HOME}
    export HADOOP_HDFS_HOME=${HADOOP_HOME}
    export YARN_HOME=${HADOOP_HOME}
    export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
    export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
    export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
    export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
    export HADOOP_PID_DIR=/var/hadoop/pids 执行source命令,立即生效:
    source .bash_profile

    进入hadoop2的配置文件夹~/hadoop2/etc/hadoop/目录下,修改配置各个文件,
    core-site.xml:

    vi core-site.xml
    
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    </property> <property>
    <name>io.file.buffer.size</name>
    <value></value>
    </property> <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop2/tmp</value>
    <description>Abase for other temporary directories.</description>
    </property> </configuration>

    hdfs-site.xml:

    vi hdfs-site.xml
    
    <configuration>
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:</value>
    </property> <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop2/dfs/name</value>
    </property> <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///home/hadoop2/dfs/data,/hdfs/data</value>
    </property> <property>
    <name>dfs.replication</name>
    <value></value>
    </property> <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property> </configuration>

    hadoop-env.sh(本机的安装路径为/opt/jdk1.7):

    vi hadoop-env.sh
    
    export JAVA_HOME=${JAVA_HOME}

    yarn-site.xml:

    vi yarn-site.xml
    
    <configuration>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property> <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property> <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:</value>
    </property> <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:</value>
    </property> <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:</value>
    </property> <property> <name>yarn.resourcemanager.admin.address</name>
    <value>master:</value>
    </property> <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:</value>
    </property>
    </configuration>

    mapred-site.xml:

    vi mapred-site.xml
    
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property> <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:</value>
    </property> <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:</value>
    </property> </configuration>

    slaves:

    vi slaves
    
    master
    slave1
    slave2

    此设置中,将master也作为一个datanode节点来使用,只有在集群机器数量不足的情况下才会如此设置。
    这样就设置完成了,然后将/home/hadoop2/hadoop2目录,整个拷贝到slave1和slave2的hadoop2的工作目录下,就算完成了安装:

    scp -r /home/hadoop2/hadoop2  slave1:/home/hadoop2
    scp -r /home/hadoop2/hadoop2 slave2:/home/hadoop2
  4. 启动集群
    执行hadoop2的sbin目录下的启动脚本:

    sbin/start-dfs.sh
    (此命令启动了namenode、secondaryNamenode以及datanode) sbin/start-yarn.sh
    (此命令启动了ResourceManager和NodeManager,相当于hadoop1中的jobtracker和TaskTracker)

    然后用jps命令来查看运行的java进程,如果下列进程都存在,则说明集群正常启动:

    NameNode
    SecondaryNameNode
    ResourceManager
    NodeManager
    DataNode

    至此,hadoop 2.2.0集群安装完毕。

  5. 注意事项
    需要注意的一点是:hadoop集群的进程pid文件默认保存在linux的/tmp目录下,而/tmp目录为保存临时文件的目录,会定期清除,所以我们最好手动修改hadoop集群的pid文件的存放目录。配置步骤如下:
    在/var目录下创建目录/var/hadoop/pids,作为hadoop的pid文件存放目录,并且需要修改目录的所有者和所属组群,因为hadoop2用户需要向该目录下写入pid文件:

    cd /var
    sudo mkdir hadoop
    cd hadoop
    sudo mkdir pids sudo chown -R hadoop2:hadoop2 /var/hadoop/pids

    然后修改hadoop2的配置文件如下:

    vi hadoop-env.sh
    
    export HADOOP_PID_DIR=/var/hadoop/pids
    
    vi yarn-env.sh
    
    export YARN_PID_DIR=/var/hadoop/pids

    然后重新启动集群就可以了。

  6. 转载请注明出处:http://www.cnblogs.com/bxljoy/p/3880250.html

hadoop 2.2.0集群安装详细步骤(简单配置,无HA)的更多相关文章

  1. redis3.0.0 集群安装详细步骤

    Redis集群部署文档(centos6系统) Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对 ...

  2. hadoop 2.2.0集群安装

    相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...

  3. KafKa集群安装详细步骤

    最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...

  4. Redis集群安装详细步骤

    环境: Centos7    redis3.0 三台虚拟机主机名分别为 master   node1  node2 如果单机的时候设置过密码最好把密码去掉,避免位置的错误. 拍个快照方便恢复. 1.创 ...

  5. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  6. hadoop 2.2.0 集群部署 坑

    注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...

  7. CentOS下Hadoop-2.2.0集群安装配置

    对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...

  8. hadoop2.2.0集群安装和配置

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等. 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C+ ...

  9. Linux单机环境下HDFS伪分布式集群安装操作步骤v1.0

    公司平台的分布式文件系统基于Hadoop HDFS技术构建,为开发人员学习及后续项目中Hadoop HDFS相关操作提供技术参考特编写此文档.本文档描述了Linux单机环境下Hadoop HDFS伪分 ...

随机推荐

  1. Linux 修改mac 地址方法记录

    Linux 修改MAC 记录: sudo ifconfig eth0 hw ether 70B3D5106F90

  2. jar/war/ear文件的区别

     jar/war/ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: Jar文件(扩展名为. Jar)包含Java类的普通库.资源 ...

  3. 空间管理 您的位置: 51Testing软件测试网 » lilisx2006的个人空间 » 日志 在一个没有测试经理的小公司如何做好测试

    如何在一个没有测试经理的小公司做好测试? 首先,没有测试经理意味着测试人员没有最直接的管理者,往往这种时候的管理者是开发经理或技术总监,但他们何其忙耶?同时,在无人监管的情况下,测试是一个很容易偷懒的 ...

  4. e642. 处理拖放事件

    The drop target in this example only accepts dropped String objects. A drop target must implement Dr ...

  5. php -- PHP在linux上执行外部命令,system(),exec(),shell_exec()

    目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,有三种方法: 1. 调用专门函 ...

  6. ueditor1.4.3配置过程(包含单独上传文件以及图片的使用),ueditor1.4.3上传配置(转 http://www.bkjia.com/webzh/1001016.html)

    这里使用的是ueditor1.4.3的jsp版本的UTF-8版本. 首先下载相应的ueditor,将ueditor文件夹直接拷贝到项目中,文件结构如下所示: 然后将项目要用的jar包导入到lib目录下 ...

  7. ANSI 转 UTF-8

    ANSI和UTF-8格式都不太了解,各自好像都有好几种,下载了一个库,文件基本都是ANSI格式,linux显示乱码,原来都是在虚拟机一个个的“另存为“完成的,这次文件有点多,因此需要用命令完成. 以下 ...

  8. iperf/netperf网络性能测试工具、Wireshark网络包分析工具

    iperf   http://www.linuxidc.com/Linux/2014-05/101160.htm netperf  http://www.linuxidc.com/Linux/2013 ...

  9. Linux使用expect实现自动登录的脚本

    前提条件服务器已经安装过tcl和expect, 若未安装:可以先执行 yum  install tcl  expect  进行安装 第一步.编写以下自动登录脚本login.sh ########### ...

  10. java文件读写工具类

    依赖jar:commons-io.jar 1.写文件 // by FileUtilsList<String> lines = FileUtils.readLines(file, " ...