这里是hadoop最小的配置,也就是修改最少量的东西让hadoop跑起来。

系统是 Centos6.7 64位, hadoop是2.6.0,虚拟机是VMWare WorkStation

假设虚拟机启动了4台机子:192.168.0.80 、192.168.0.155、192.168.0.157、192.168.0.146。这四台都做slave, 同时80还兼任master。我把root用户最为hadoop的使用者,没有新建别的用户

(设置虚拟机时还有个坑:每个虚拟机的网络连接必须选择桥接模式,并且一定要勾选复制物理网络连接状态,当然用虚拟可能还有其他问题,比如设置静态IP什么的,见)

1.在hadoop1机子上配置/etc/hosts。下面是我的配置。 注意要严格按照 IP 主机名 别名 的格式配置,切记切记。否则后面会发生很蛋疼的结果。 hadoop1做master, hadoop1/2/3/4做slaves

2.使hadoop1能够通过ssh登录所有的机子(包括他自己),在hadoop1上运行命令

  ssh-keygen -t dsa -f ~/.ssh/id_dsa    //这里使用的DSA加密,当然也可以用RSA

  分别运行四条命令

ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop1     //要输入root用户在hadoop1机子上的密码

  ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop2     //要输入root用户在hadoop2机子上的密码

  ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop3     //要输入root用户在hadoop3机子上的密码

  ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop4     //要输入root用户在hadoop4机子上的密码

3.修改hadoop配置文件中的yarn-env.sh 和hadoop-env.sh,在两个sh文件中把 JAVA_HOME配置上

3.修改core-site.xml,改为

  

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
</configuration>

4.修改hdfs-site.xml,改为

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:9001</value>
</property>
<!--可以不配置下面的两个 dfs.namenode.name.dir 和 dfs.datanode.data.dir,不过如果配置了,那么得在master上建立这两个文件夹-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/modules/hadoopData/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/modules/hadoopData/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

4.把配置文件中的mapred-site.xml.template名称改为mapred-site.xml,同时把里面内容改为

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

5.修改yarn-site.xml,改为

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
 <!--一定一定要有下面这个配置,他是告诉每个slave resourcemanager的位置-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
</configuration>

6.修改slaves文件,每行一个,分别添加hadoop1,hadoop2,hadoop3,hadoop4

7.通过scp命令把/etc/hosts和hadoop以及jdk都复制到每个slave上

  scp /etc/hosts root@hadoop2:/etc/             //相同的文件会自动覆盖

我把hadoop和jdk都放在同一个文件夹下 ,如 /opt/modules 下面,那么只要命令

  scp -r /opt/modules root@hadoop2:/op/ 就可以了

8.格式化hdfs并启动hadoop

  命令 hadoop namenode -format

  在master上面,hadoop安装目录下的sbin目录,运行 start-dfs.sh 和 start-yarn.sh 就可以了

9.运行例子

  进入hadoop目录下的bin目录, 运行  ./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /input /ouput 'dfs[a-z.]+' 看看

附 :1. namenode WEB UI 的默认端口是 50070;resourcemanager WEB UI的默认端口是8088。 可以通过这两个端口用浏览器查看hadoop的状态(namenode 和 resourcemanager 都是在master上的)

  2.可以把hadoop下的bin和sbin都加入系统的PATH

hadoop2.6.0完全分布式部署的更多相关文章

  1. 基于Hadoop2.2.0版本号分布式云盘的设计与实现

    基于Hadoop2.2.0版本号分布式云盘的设计与实现 一.前言 在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS.即是hadoop的分布式系统,看了非常久的源代码看的 ...

  2. 琐碎-hadoop2.2.0伪分布式和完全分布式安装(centos6.4)

    环境是centos6.4-32,hadoop2.2.0 伪分布式文档:http://pan.baidu.com/s/1kTrAcWB 完全分布式文档:http://pan.baidu.com/s/1s ...

  3. hadoop-2.6.0为分布式安装

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

  4. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  5. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  6. hyperledger fabric 1.0.5 分布式部署 (八)

    gdb debug peer 程序 在开始我们从 github 上download 下来的源码包,实际上已经包含了可执行的 peer 程序,但是该程序是使用 release 方式编译的,并不支持gdb ...

  7. hyperledger fabric 1.0.5 分布式部署 (七)

    fabric 使用 fabric-ca 服务 准备部分 首先需要用户从github上download fabric-ca 的工程代码 cd $GOPATH/src/github.com/hyperle ...

  8. hyperledger fabric 1.0.5 分布式部署 (六)

    如何在相同的peer 节点上创建多个 channel 作者在hyperledger fabric 1.0.5 分布式部署 (五)已经向读者们介绍了一个简单的fabric 的部署流程,那么根据上一篇博客 ...

  9. hyperledger fabric 1.0.5 分布式部署 (五)

    梳理fabric e2e_cli 测试程序的具体步骤 作者在 hyperledger fabric 1.0.5 分布式部署 (一)中给读者们介绍了如何从零开始部署一个测试的 demo 环境,如果细心的 ...

随机推荐

  1. 3.22课·········CSS样式表

    CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/    此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...

  2. 简介windows的环境变量

    环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等.这点有点类似于DOS时期的默认路径,当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路 ...

  3. LintCode:链表操作(合并与反转)

    描述: (1)翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null ********************** ...

  4. 《程序员代码面试指南》第一章 栈和队列 最大值减去最小值小于或等于num的数量

    题目 给定整数数组arr和整数num,共返回多少的数组满足如下情况 max(arr[i...j]) - min(arr[i...j]) <= num max(arr[i...j])表示数组arr ...

  5. inline-block元素的4px空白间距解决方案

    http://www.jb51.net/css/68785.html  inline-block元素的4px空白间距解决方案 

  6. Java JDK环境配置及说明

    一.Java程序运行机制 Java语言编写的程序需要经过编译生成与平台无关的字节码(.class文件). 这种字节码必须使用Java解释器(JVM)来解释执行. JVM是可运行Java字节码文件的虚拟 ...

  7. Base64Util工具类

    package com.qianmi.weidian.common.util; import java.io.*; /** * This class provides encode/decode fo ...

  8. static_cast, dynamic_cast, const_cast 三种类型转化的区别

    强制转化四种类型可能很多人都常常忽略就象我一样,但是有时还是比较有用的.不了解的建议看看,一些机制我也不是十分了解,只是将一些用法写出来让大家看看.                           ...

  9. javaScript-进阶篇(三)

    1.Window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 2.JavaScript 计时器 在JavaScript中,我们可以在设定的时间间隔 ...

  10. 大白话AOP

    工作一年多后, 第二次看了韩顺平老师讲的AOP (11年的Spring 教学视频) AOP还是比较艰涩的东西. 从刚开始 碰Java项目去找书看开始, 到学了拦截器知道AOP就是处理事务, 日志, 安 ...