1、 前面在伪分布模式下已经创建了一台机器,为了统一命名,hostname更名为hadoop01、然后再克隆2台机器:hadoop02、 hadoop03;将第一台机器hadoop01上的伪分布停止,创建一个新目录,重新安装hadoop,解压后,再分发到其他两台机器,具体按下面的步骤操作。

2、 服务器功能规划

hadoop01

hadoop02

hadoop03

192.168.100.129

192.168.100.130

192.168.100.131

NameNode

ResourceManager

DataNode

DataNode

DataNode

NodeManager

NodeManager

NodeManager

HistoryServer

SecondaryNameNode

3、 按照上表设置3台机器的IP地址、和hostname。关于设置IP和本地主机名,可以参考《详细的Hadoop的入门教程-单机模式 Standalone Operation

4、 在hadoop01上创建完全分布模式的目录/opt/modules/app,解压hadoop、设置环境变量

(1)   解压命令:tar –zxvf hadoop-3.2.1.tar.gz –C /opt/modules/app

(2)   执行命令vi /etc/profile设置JAVA_HOME和HADOOP_HOME环境变量,

增加1行内容:

export HADOOP_HOME=/opt/modules/app/hadoop-3.2.

修改1行内容:

export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

执行命令source /etc/profile 让设置生效

$ source /etc/profile 

5、 配置$HADOOP_HOME/etc/hadoop/core-site.xml,设置虚拟目录、文件分布式系统的地址、name和data的目录

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/app/hadoop-3.2./data/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/modules/app/hadoop-3.2./data/tmp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/modules/app/hadoop-3.2./data/tmp/dfs//data</value>
</property>
</configuration>
  • fs.defaultFS 为 NameNode 的地址,hadoop01为NameNode。
  • hadoop.tmp.dir为hadoop的临时目录,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保持该文件目录是存在的,如果不存在先创建。若不指定,格式化后会自动创建到root根目录下。
  • dfs.name.dir是NameNode的数据目录
  • dfs.data.dir是DataNode的数据目录

6、 配置$HADOOP_HOME/etc/hadoop/hdfs-site.xml、设定SecondaryNameNode的地址

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:</value>
</property>
</configuration>

dfs.namenode.secondary.http-address 是指定 secondaryNameNode 的 http 访问地址和端口号。

7、 配置$HADOOP_HOME/etc/hadoop/workers,在文件中各行添加每台机器的hostname或IP;  (hadoop2.x版本的文件名叫slaves),该文件指定了HDFS上都有哪些节点。

hadoop01
hadoop02
hadoop03

8、 配置$HADOOP_HOME/etc/hadoop/yarn-site.xml,设置哈hadoop02为ResourceManager,开启日志。

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value></value>
</property>
</configuration>
  • yarn.resourcemanager.hostname这个指定 resourcemanager 服务器指向。
  • yarn.log-aggregation-enable是配置是否启动日志聚集功能。
  • yarn.log-aggregation.retain-seconds是日志在HDFS上保存多长时间,单位秒。

9、 配置$HADOOP_HOME/etc/hadoop/mapred-site.xml,设置hadoop01为历史服务器。

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:</value>
</property>
</configuration>
  • mapreduce.framework.name设置mapreduce运行在yarn上。
  • mapreduce.jobhistory.address设置mapreduce的历史服务器安装在hadoop01上。
  • mapreduce.jobhistory.webapp.address是历史服务器的Web地址和端口。

10、设置SSH无密码登录,在hadoop集群中各机器之间需要相互通过ssh访问,所以要实现ssh免密码登录:

(1)   在hadoop01、hadoop02、hadoop03上生成公钥和私钥:

执行命令ssh-keygen -t rsa 产生密钥,位于~./.ssh文件夹中(没有则自动创建),输入命令后一直回车。

$ ssh-keygen -t rsa 

(2)   派发公钥ssh-copy-id

$ ssh-copy-id hadoop01
$ ssh-copy-id hadoop02
$ ssh-copy-id hadoop03

   (3)   同样在hadoop02、hadoop03设置到其它机器的上ssh免密登录,在两台机器上生成公钥和私钥,并将公钥分发到三台机器上。

11、分发hadoop文件,首先在hadoop02和hadoop03上创建目录/opt/modules/app。在hadoop01上向其他两台机器Scp分发hadoop,hadoop 根目录下的 share/doc 目录是存放的 hadoop 的文档,文件相当大,建议在分发之前将这个目录删除掉,可以节省硬盘空间并能提高分发的速度。

查看文件大小:

$ du -sh /opt/modules/app/hadoop-3.2./

向两台机器分发文件:

$ scp -r /opt/modules/app/hadoop-3.2./  hadoop02:/opt/modules/app/
$ scp -r /opt/modules/app/hadoop-3.2./ hadoop03:/opt/modules/app/

12、 在 NameNode 机器hadoop01上执行格式化

$ /opt/modules/app/hadoop-3.2./bin/hdfs namenode –format

如果需要重新格式化 NameNode,需要先将原来 NameNode 和 DataNode 下的文件全部删除

13、 启动hadoop集群:

(1)   启动HDFS:在hadoop01上运行:sbin/start-dfs.sh,启动后,jps查看下进程

  • $HADOOP_HOME/sbin/start-dfs.sh 启动
  • $HADOOP_HOME/sbin/stop-dfs.sh 停止
  • 需要在启动和停止两个文件中开头添加:
HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

(2)   启动YARN:在hadoop01上运行 sbin/start-yarn.sh,启动后,jps查看下进程

  • $HADOOP_HOME/sbin/start-yarn.sh 启动
  • $HADOOP_HOME/sbin/stop-yarn.sh 停止
  • 需要在启动和停止两个文件中开头添加:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

(3)   在hadoop02启动ResourceManager,运行 sbin/yarn-daemon.sh start resourcemanager,jps查看进程

  • $HADOOP_HOME/sbin/yarn-daemon.sh start resourcemanager 启动
  • $HADOOP_HOME/sbin/yarn-daemon.sh stop resourcemanager 停止

(4)   启动日志服务器:在hadoop01上运行  sbin/mr-jobhistory-daemon.sh start historyserver,启动后jps查看一下进程

  • $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver 启动
  • $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver 停止

14、 查看一下HDFS的WEB页面 http://hadoop01:9870

15、 访问查看yarn Web下http://hadoop02:8088/cluster ,集群中有3个节点。

详细的Hadoop的入门教程-完全分布模式Fully-Distributed Operation的更多相关文章

  1. 详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation

    一. 伪分布模式Pseudo-Distributed Operation 这里关于VM虚拟机的安装就不再介绍了,详细请看<VMware虚拟机的三种网络管理模式>一章介绍.这章只介绍hado ...

  2. 详细的Hadoop的入门教程-单机模式 Standalone Operation

    一. 单机模式Standalone Operation 单机模式也叫本地模式,只适用于本地的开发调试,或快速安装体验hadoop,本地模式的安装比较简单,下载完hadoop安装包就可以直接运行. 1. ...

  3. 最详细的github快速入门教程

    一:下载github 二:安装GitHub 下载之后点击 进行安装过程,安装之后桌面上会有两个图标,如下图 三:新建项目 GitHub是图形界面模式,Git Shell是命令行模式,在Windows系 ...

  4. 最新hadoop入门教程汇总篇(附详细图文步骤)

    关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环境安装配置等全部内容.写过程不是很难,最烦的可 ...

  5. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  6. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  7. ant使用指南详细入门教程

    这篇文章主要介绍了ant使用指南详细入门教程,本文详细的讲解了安装.验证安装.使用方法.使用实例.ant命令等内容,需要的朋友可以参考下 一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起 ...

  8. gulp详细入门教程(转载)

    本文转载自: gulp详细入门教程

  9. 超强、超详细Redis数据库入门教程(转载)

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下   [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...

随机推荐

  1. 大数据技术原理与应用【第五讲】NoSQL数据库:5.5 从NoSQL到NewSQL数据库

    应用场景: OldSql数据库:希望一种架构就能支持多种应用场景,但证明不可能.   NewSql数据库:同时具备OldSql和NoSQL各自的优点:水平可扩展性,强一致性,事务一致性,支持查询,支持 ...

  2. VS2013 EF6连接MySQL步骤

    1.安装MySql的VS插件(版本请下载最新版)mysql-for-visualstudio-1.2.3.msihttp://cdn.mysql.com/Downloads/MySQL-for-Vis ...

  3. 实现Mac主机上的Docker容器中的图形界面显示(运行GUI应用)

    我有一个需求: 一方面,我需要在 Docker 容器环境下运行应用(因为有些环境在 Mac 下很难安装配置,并且希望环境干净隔离). 另一方面,容器中的应用又需要进行图形界面的显示. 由于 Docke ...

  4. wordpress中文目录出现“有点尴尬诶!该页无法显示"

    原因不详,可能是.htaccess.网上说删除后再更新固定链接会再生成,但是我没有.我又把原来的.htaccess上传后更改固定链接为“数字型”,测试后可以正常浏览. 然后又再更改为原来的“日期和名称 ...

  5. flask实战-个人博客-电子邮件支持

    电子邮件支持 因为博客要支持评论,所以我们需要在文章有了新评论后发邮件通知管理员.而且,当管理员回复了读者的评论后,也需要发送邮件提醒读者. 为了方便读者使用示例程序,personalBlog中仍然使 ...

  6. Selenium请求库

    阅读目录 一 介绍 二 安装 三 基本使用 四 等待元素被加载 五 选择器 六 元素交互操作 七 其他 八 项目练习 九 破解登录验证 一 介绍 1.selenium是什么? selenium最初是一 ...

  7. zzulioj - 2597: 角谷猜想2

    题目链接: http://acm.zzuli.edu.cn/problem.php?id=2597 题目描述 大家想必都知道角谷猜想,即任何一个自然数,如果是偶数,就除以2,如果是奇数,就乘以3再加1 ...

  8. ESA2GJK1DH1K基础篇: 来吧! 彻底了解一下MQTT

    首先你需要知道MQTT并不是什么高大上的事物,它只是一个软件,对就是一个软件.其实就是个TCP服务器 一,既然是TCP服务器,这个TCP服务器和咱平时做的有什么不一样呢. 首先,平时的时候咱做的TCP ...

  9. Eclipse对spring-boot,spring-boot-mybatis的搭建

    1.准备工作 1.1.如果没有sts(spring tool suite)插件,  则需要下载. 1.1.1.eclipse下载的话,一定要注意版本,因为eclipse会直接下载最新版本,如果ts版本 ...

  10. 怎样把excel整列单元格批量改为文本格式

    选中整列,进入“数据”菜单栏,点击“分列”,[列数据格式]选“文本”,点击“完成”即可.