1.确定集群的结构

IP(主机名) 角色
192.168.1.220(hadoop0) NameNode、JobTracker
192.168.1.221(hadoop1) SecondaryNameNode
192.168.1.222(hadoop2) DataNode、TaskTracker
192.168.1.223(hadoop3) DataNode、TaskTracker

由于SecondaryNameNode是执行合并任务的,内存占用特别大,所以单独一台大内存的节点。

以上4个ip可以是单独的物理机,也可以是虚拟机。生产环境中,一般是物理机。

假设各节点安装的linux版本完全一致。

假设各ip已经设置完成了主机名、防火墙关闭、ssh免密码登录等事项。并且在192.168.1.220上已经成功安装了hadoop的伪分布模式。如果还没有搞定的同学,可以参考前面的文章。

2.绑定各ip与主机名的映射关系

修改hadoop0的/etc/hosts文件,增加以下内容

192.168.1.220   hadoop0
192.168.1.221 hadoop1
192.168.1.222 hadoop2
192.168.1.223 hadoop3

目的是在hadoop0上通过主机名可以找到各个机器。

然后在hadoop0的终端中执行命令

scp  /etc/hosts hadoop1:/etc
scp /etc/hosts hadoop2:/etc
scp /etc/hosts hadoop3:/etc

该命令是把hadoop0的hosts文件复制到其他节点的对应文件中

3.确保各个节点之间ssh可以免密码登录

在hadoop0的终端中执行以下命令

ssh-copy-id  -i  ~/.ssh/id_rsa.pub  hadoop1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3

这样做是把公钥信息拷贝到其他节点中。同理,其他节点也执行类似操作,如hadoop1中执行以下命令

ssh-copy-id  -i  ~/.ssh/id_rsa.pub  hadoop0
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3

在hadoop2、hadoop3中也执行类似操作。

4.在其他节点搭建环境

首先把hadoop0中的${HADOOP_HOME}/tmp和${HADOOP_HOME}/logs删掉,命令如下。

rm  -rf  /usr/local/hadoop/tmp
rm -rf /usr/local/hadoop/logs

然后在hadoop0执行以下命令

scp  -r  /usr/local/hadoop  hadoop1:/usr/local
scp -r /usr/local/jdk hadoop1:/usr/local
scp -r /etc/profile hadoop1:/etc/

执行完毕后,把命令中的hadoop1替换为hadoop2执行,替换为hadoop3执行。

以上操作是把hadoop0中的jdk文件夹和hadoop文件夹及环境变量复制到其他节点,避免安装了。

5.修改集群配置文件

在hadoop0的${HADOOP_HOME}/conf目录中,找到masters文件,删除内容,添加hadoop1;

找到slaves文件,删除内容,添加hadoop2和hadoop3,每个节点一行,不能写在一行中。

注意:只修改hadoop0的配置文件,其他节点的任何hadoop配置文件都不能修改。

6.启动集群环境

在hadoop0节点,执行以下命令

hadoop  namenode  -format
start-all.sh

第一条命令是格式化文件系统,第二条命令是启动hadoop集群。

7.验证是否成功

在hadoop0执行命令jps,可以看到两个java进程,分别是NameNode、JobTracker;

在hadoop1执行命令jps,可以看到一个java进程,是SecondaryNameNode;

在hadoop2执行命令jps,可以看到两个java进程,分别是DataNode、TaskTracker;

在hadoop3执行命令jps,可以看到两个java进程,分别是DataNode、TaskTracker;

恭喜你,搞定了!!

 

Hadoop的分布模式安装的更多相关文章

  1. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...

  2. Hadoop学习笔记(3)hadoop伪分布模式安装

    为了学习这部分的功能,我们这里的linux都是使用root用户登录的.所以每个命令的前面都有一个#符号. 伪分布模式安装步骤: 关闭防火墙 修改ip地址 修改hostname 设置ssh自动登录 安装 ...

  3. hadoop伪分布模式安装

    软件环境 操作系统 :  OracleLinux-R6-U6 主机名: hadoop java: jdk1.7.0_75 hadoop: hadoop-2.4.1 环境搭建 1.软件安装 由于所需的软 ...

  4. hadoop伪分布模式的配置和一些常用命令

    大数据的发展历史 3V:volume.velocity.variety(结构化和非结构化数据).value(价值密度低) 大数据带来的技术挑战 存储容量不断增加 获取有价值的信息的难度:搜索.广告.推 ...

  5. 【原】Hadoop伪分布模式的安装

    Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...

  6. Spark新手入门——2.Hadoop集群(伪分布模式)安装

    主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...

  7. Hadoop单点伪分布模式安装

    Hadoop单点伪分布模式安装 概述 单点 single-node,单节点,即一台计算机. 伪分布式模式 pseudo-distributed mode 所谓集群,表面上看是多台计算机联合完成任务:但 ...

  8. 伪分布模式安装hadoop

    准备工具: 虚拟机:VMware Linux系统:CentOS hadoop-1.1.2.tar.gz jdk-7u75-linux-x64.gz CentOS的网络配置 1.设置主机中VMware ...

  9. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

随机推荐

  1. JavaScript —— 如何判断一个非数字输入

    在页面里,如何用JS去判断一个用户输入是不是一个数字. 你是不是首先想到了正则表达式? JS里有个现成的函数,isNaN(x) isNaN(x) 函数可用于判断其参数是否是 NaN(Not a Num ...

  2. HDU 4664 Triangulation(SG函数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4664 题意:给出一个n个点的凸包(不存在三点共线).每次可以选择两个点连线,但是任意两条线只能在顶点处 ...

  3. plsql programming 19 触发器

    挂起语句, 是指数据库 Hang 到那不能动了, 触发的. 1. DML 触发器 这种类型的触发器对于开发人员都很常见, 其他类型的触发器主要是给DBA使用的. 配置触发器,我们需要回答以下问题: 触 ...

  4. 今天maven install时碰到的两个问题(堆溢出和编译错误)

    问题1.maven install时出现,日志如下: 系统资源不足.有关详细信息,请参阅以下堆栈追踪. java.lang.OutOfMemoryError: Java heap space at c ...

  5. UVa 156 Ananagrams

    题意:给出一些单词,在这些单词里面找出不能通过字母重排得到的单词(判断的时候不用管大小写),然后按照字典序输出. 学习的紫书的map= = 将每一个单词标准化 先都转化为小写,再排序(即满足了题目中说 ...

  6. (转)Python 字典排序

    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...

  7. Edit Control的Enter响应函数

    Edit Control的Enter响应函数   在dialog中添加edit control ,选择“Multi_Line mode”   MFC Class Wizard中添加Virtual Fu ...

  8. Android下Fragment的动画切换效果

    效果图如下: 源码链接   :    请戳这里

  9. Http和Https三次握手那些事

    今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS是安全的. 一:HTTP与TCP/IP区别? --->TPC/IP协议是传输层协议,主要解决数据如何在网络中传输 ...

  10. 【转】uboot移植(一)BootLoader基本概念

    原文网址:http://blog.chinaunix.net/uid-25445243-id-3869348.html 一.BootLoader简介1.1.嵌入式Linux软件结构与分布 在一般情况下 ...