1. sudo vim /etc/hostname

  在master的机器上,改成     master

  在slave上写  slave01,02,03......

  配置好后重启。

2. sudo vim /etc/hosts    (此处最好改成内网中服务器的真实ip,不要用浮动ip,否则会出现“Problem binding to [master:9000] java.net.BindException: Cannot assign requested address; For more details see:  http://wiki.apache.org/hadoop/BindException”错误)

  192.168.1.121 Master

  192.168.1.122 Slave1

3.ping master     ping slave

4.ssh无密码登录。

  这个操作是要让 Master 节点可以无密码 SSH 登陆到各个 Slave 节点上。

  首先生成 Master 节点的公匙,在 Master 节点的终端中执行(因为改过主机名,所以还需要删掉原有的再重新生成一次):

  1. cd ~/.ssh        # 如果没有该目录,先执行一次ssh localhost
  2. rm ./id_rsa*    # 删除之前生成的公匙(如果有)
  3. ssh-keygen -t rsa     # 一直按回车就可以

  让 Master 节点需能无密码 SSH 本机,在 Master 节点上执行:

  cat ./id_rsa.pub >> ./authorized_keys

  完成后可执行 ssh Master 验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)。接着在 Master 节点将上公匙传输到 Slave1 节点:

  scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/  (由于服务器适用密钥登陆,没有密码,此时需要用xftp工具,把id_rsa.pub传送到各个slave节点)

  接着在 Slave1 节点上,将 ssh 公匙加入授权:

  1. mkdir ~/.ssh                 # 如果不存在该文件夹需先创建,若已存在则忽略
  2. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  3. rm ~/id_rsa.pub                   # 用完就可以删掉了

  如果有其他 Slave 节点,也要执行将 Master 公匙传输到 Slave 节点、在 Slave 节点上加入授权这两步。

  这样,在 Master 节点上就可以无密码 SSH 到各个 Slave 节点了,可在 Master 节点上执行如下命令进行检验

  ssh Slave1

5.配置集群环境

  

    集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slaves、core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 。

  1, 文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。

  本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加一行内容:Slave1。

  2.文件 core-site.xml 改为下面的配置:

    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://Master:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
      </property>
    </configuration>

  3.件 hdfs-site.xml,dfs.replication 一般设为 3,但我们只有一个 Slave 节点,所以 dfs.replication 的值还是设为 1: 

    <configuration>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>Master:50090</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
      </property>
    </configuration>

  4。文件 mapred-site.xml (可能需要先重命名,默认文件名为 mapred-site.xml.template),然后配置修改如下:

    <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.文件 yarn-site.xml

    <configuration>

      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>Master</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    </configuration>

  6.配置好后,将 Master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。因为之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在 Master 节点上执行:

    cd /usr/local

    sudo rm -r ./hadoop/tmp # 删除 Hadoop 临时文件
    sudo rm -r ./hadoop/logs/* # 删除日志文件
    tar -zcf ~/hadoop.master.tar.gz ./hadoop # 先压缩再复制
    cd ~
    scp ./hadoop.master.tar.gz Slave1:/home/hadoop

  在 Slave1 节点上执行:

    sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)

    sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
    sudo chown -R hadoop /usr/local/hadoop

  同样,如果有其他 Slave 节点,也要执行将 hadoop.master.tar.gz 传输到 Slave 节点、在 Slave 节点解压文件的操作。首次启动需要先在 Master 节点执行 NameNode 的格式化:

    hdfs namenode -format       # 首次运行需要执行初始化,之后不需要

  接着可以启动 hadoop 了,启动需要在 Master 节点上进行:

  1. start-dfs.sh
  2. start-yarn.sh
  3. mr-jobhistory-daemon.sh start historyserver

   通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程,在 Slave 节点可以看到 DataNode 和 NodeManager 进程。

  

分布式配置hadoop2.5.0 2.6.x的更多相关文章

  1. Ubuntu14.04 安装配置Hadoop2.6.0

    目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...

  2. Centos7.0配置Hadoop2.7.0伪分布式

    一.ssh免密登录 1.命令ssh-keygen. overwrite输入y一路回车 2.将生成的密钥发送到本机 ssh-copy-id localhost中间会询问是否继续输入“yes” 3.测试免 ...

  3. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  4. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...

  5. Hadoop - 操作练习之单机配置 - Hadoop2.8.0/Ubuntu16.04

    系统版本 anliven@Ubuntu1604:~$ uname -a Linux Ubuntu1604 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb ...

  6. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04(转)

    http://www.powerxing.com/install-hadoop/ http://blog.csdn.net/beginner_lee/article/details/6429146 h ...

  7. 【转】Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文链接:http://dblab.xmu.edu.cn/blog/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单, ...

  8. 分布式配置 Spark 2.0版本 2.1版本 1.6版本

    apache的各个软件各个版本下载:  http://archive.apache.org/dist/ 1.下载spark. sudo tar -zxf ~/下载/spark-2.0.2-bin-wi ...

  9. ubuntu14.04搭建Hadoop2.9.0伪分布式环境

    本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...

随机推荐

  1. C++ DLL

    DLL(Dynamic Link Library)(1)DLL 的编制与具体的编程语言及编译器无关只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调用.譬如Windows提供的 ...

  2. Python-数据类型 主键auto_increment

    MySQL数据操作: DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实 ...

  3. Java的动手动脑(七)

    日期:2018.11.18 博客期:025 星期日 Part 1:使用 Files.walkFileTree()来找出指定文件夹下大小大于1KB的文件 package temp; import jav ...

  4. AD9361寄存器配置顺序,循环模式,自收自发

    :] cmd_data; :] index; begin case(index) 'h000,8'h00};//set spi -- 'h3df,8'h01};//set init -- 'h037, ...

  5. MySQL数据库之安装

    一.基础部分 1.数据库是什么 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组 ...

  6. 【python】内存调试

    全文拷贝自:http://blog.csdn.net/BaishanCloud/article/details/76422782 问题定位过程解读 gdb-python:搞清楚python程序在做什么 ...

  7. Laravel 项目中使用 Bootstrap 框架

    Laravel 如何引入 Bootstrap 如官方文档所言,Laravel 并不强制你使用 CSS 框架,但是开箱提供了对 Bootstrap 的支持,在 resources/js/bootstra ...

  8. poj3070 单位矩阵(转移矩阵构造)+矩阵快速幂

    太妙了..通过矩阵乘法来加速递推 #include<iostream> #include<cstring> #include<cstdio> using names ...

  9. Android编程学习过程中遇到的错误以及解决办法

    Android Studio遇到的问题 Android Studio一直提示右下角那个错误,Failed to open zip file.我是根据这位大佬的博客https://www.cnblogs ...

  10. python3 HTMLTestRunner.py

    """ A TestRunner for use with the Python unit testing framework. It generates a HTML ...