文章目录

  • Hadoop简介和集群搭建
    • Hadoop介绍
    • Hadoop的发行版本和三大公司
    • hadoop的架构
    • 安装Hadoop
      • 第一步:上传编译后的apache hadoop包并解压
      • 第二步:修改配置文件(七个)
        • core-site.xml
        • hdfs-site.xml
        • hadoop-env.sh
        • mapred-site.xml
        • yarn-site.xml
        • mapred-env.sh
        • slaves
        • 第一台主机执行如下命令
        • 安装包的分发
      • 第三步:配置环境变量
      • 启动集群

Hadoop简介和集群搭建

Hadoop介绍

1.Hadoop最早起源于Nutch。Nutch的目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能。但是随着网页抓取量的不断增多,遇到了严重的可拓展问题。
2.2003年、2004年谷歌发表了两篇论文为该问题提供了可行的解决方案。
-- 分布式文件系统GFS,可以用于海量网页的存储
-- 分布式计算框架MAPREDUCE,可以用于处理海量王爷的索引计算问题。
3.Nutch的开发人员完成了相应的开源实现HDFS和MapReduce,并从Nutch中剥离出来为独立的HADOOP,到2008年1月,HADOOP成为了Apache的顶级项目。
  • 狭义上说,HADOOP就是单独指HADOOP这个软件

    • HDFS 分布式文件系统
    • MapReduce 分布式计算系统
    • Yarn 分布式集群资源管理
  • 广义上讲,hadoop指的是大数据这个生态群,包括其他很多软件

Hadoop的发行版本和三大公司

  • 历史版本
1.x版本系列:hadoop版本的中的第二代开源版本,主要修复了0.x版本的一些BUG
2.x版本系列:架构产生重大变化了,引入了yarn平台等许多新特性
3.x版本系列:加入多namenode新特性
  • 发行公司
1. 免费开源版本apache  (版本兼容性不太好,但是拥有全世界最多的开源贡献者)
2. hortonWorks免费开源
3 .软件收费ClouderaManager(版本兼容性比较好)

hadoop的架构

  • 1.x的架构
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uHJp1huL-1571408345679)(DA8E3806E4FE465E9839F16A5228EBD8)]
文件系统核心模块:NameNode: 集群中的主节点,管理元数据(文件的大小,文件的位置,文件的权限),主要用于管理集群中的各种数据。
secondaryNameNode:主要用于hadoop当中的元数据信息的辅助管理。
DataNode:集群中的从节点,主要用于存储集群中的各种数据。数据计算核心模块:JobTracker:接受用户的计算请求,并分配任务给从节点。
TaskTracker:负责执行主节点JobTracker分配的任务。
  • 2.x的架构

1) NameNode与ResourceManager单节点架构模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-saq2zm0V-1571408345680)(B43EDB93200A4BC1B0D9B4B359939A8B)]

文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据

数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配
NodeManager:负责执行主节点APPmaster分配的任务

2) NameNode与ResourceManager高可用架构模型(或者某一个是高可用)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eQkLHrMH-1571408345681)(06892FF769B14C83BEC62A026DA36219)]

文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实
现高可用
JournalNode:元数据信息管理进程,一般都是奇数个
DataNode:从节点,用于数据的存储

数据计算核心模块:
ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务

安装Hadoop

  • 集群规划
服务器IP 192.168.100.100 192.168.100.120 192.168.100.130
主机名 node01 node02 node03
NameNode
SecondaryNameNode
dataNode
ResourceManager
NodeManager

第一步:上传编译后的apache hadoop包并解压

  解压命令:cd /export/softwarestar -zxvf hadoop-2.7.5.tar.gz -C ../servers/

第二步:修改配置文件(七个)

core-site.xml

<configuration><!--  指定集群的文件系统类型:分布式文件系统 --><property><name>fs.default.name</name><value>hdfs://node01:8020</value></property><!--  指定临时文件存储目录 --><property><name>hadoop.tmp.dir</name><value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value></property><!--  缓冲区大小,实际工作中根据服务器性能动态调整 --><property><name>io.file.buffer.size</name><value>4096</value></property><!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 --><property><name>fs.trash.interval</name><value>10080</value></property>
</configuration>

hdfs-site.xml

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>node01:50090</value></property><!-- 指定namenode的访问地址和端口 --><property><name>dfs.namenode.http-address</name><value>node01:50070</value></property><!-- 指定namenode元数据的存放位置 --><property><name>dfs.namenode.name.dir</name><value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value></property><!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  --><property><name>dfs.datanode.data.dir</name><value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value></property><!-- 指定namenode日志文件的存放目录 --><property><name>dfs.namenode.edits.dir</name><value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value></property><property><name>dfs.namenode.checkpoint.dir</name><value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value></property><property><name>dfs.namenode.checkpoint.edits.dir</name><value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value></property><!-- 文件切片的副本个数--><property><name>dfs.replication</name><value>3</value></property><!-- 设置HDFS的文件权限--><property><name>dfs.permissions</name><value>true</value></property><!-- 设置一个文件切片的大小:128M--><property><name>dfs.blocksize</name><value>134217728</value></property>
</configuration>

hadoop-env.sh

首行加入,如果莫名报错,删除所有注释
export JAVA_HOME=/export/servers/jdk1.8.0_141

mapred-site.xml

<configuration><!-- 开启MapReduce小任务模式 --><property><name>mapreduce.job.ubertask.enable</name><value>true</value></property><!-- 设置历史任务的主机和端口 --><property><name>mapreduce.jobhistory.address</name><value>node01:10020</value></property><!-- 设置网页访问历史任务的主机和端口 --><property><name>mapreduce.jobhistory.webapp.address</name><value>node01:19888</value></property>
</configuration>

yarn-site.xml

<configuration><!-- 配置yarn主节点的位置 --><property><name>yarn.resourcemanager.hostname</name><value>node01</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 开启日志聚合功能 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 设置聚合日志在hdfs上的保存时间 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><!-- 设置yarn集群的内存分配方案 --><property>    <name>yarn.nodemanager.resource.memory-mb</name>    <value>20480</value></property><property>  <name>yarn.scheduler.minimum-allocation-mb</name><value>2048</value></property><property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>2.1</value></property></configuration>

mapred-env.sh

首行加入JDK的地址
export JAVA_HOME=/export/servers/jdk1.8.0_141

slaves

node01
node02
node03

第一台主机执行如下命令

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits

安装包的分发

第一台机器执行如下命令

cd /export/servers/
scp -r hadoop-2.7.5 node02:$PWD
scp -r hadoop-2.7.5 node03:$PWD

第三步:配置环境变量

三台机器都要配置环境变量
vim /etc/profileexport HADOOP_HOME=/export/servers/hadoop-2.7.5
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHsource /etc/profile

启动集群

第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

三个页面

http://node01:50070/explorer.html#/ 查看hdfs
http://node01:8088/cluster 查看yarn集群
http://node01:19888/jobhistory 查看历史完成的任务

Hadoop简介和集群搭建相关推荐

  1. 大数据系列(一)之hadoop介绍及集群搭建

    大数据系列(一)之hadoop介绍及集群搭建 文章最早发布来源,来源本人原创初版,同一个作者: https://mp.weixin.qq.com/s/fKuKRrpmHrKtxlCPY9rEYg 系列 ...

  2. HADOOP 伪分布式集群搭建

    一 linux 环境的搭建 由于笔者这里使用的是vmware 虚拟机 采用centos7 linux 操作系统进行搭建,所以一下示例均以centos7进行示例 1.  搭建vmware 虚拟机 (1) ...

  3. 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程

    hadoop完全分布式集群搭建 一.搭建准备 1.安装VMware虚拟机 2.Xshell 7 远程客户端及Xftp 7安装 3.搭建模板虚拟机hadoop100 配置虚拟机网络 为虚拟机普通用户配置 ...

  4. Windows家庭版下基于Docker的hadoop、Spark集群搭建

    Windows家庭版下基于Docker的hadoop.Spark集群搭建 目录 Windows家庭版下基于Docker的hadoop.Spark集群搭建 1.实验目的 2.实验平台 3.实验内容和要求 ...

  5. 大数据学习笔记第1课 Hadoop基础理论与集群搭建

    大数据学习笔记第1课 Hadoop基础理论与集群搭建 一.环境准备 二.下载JDK 三.安装JDK 四.下载hadoop 五.安装hadoop集群 六.打通3台服务器的免密登录 七.hadoop集群配 ...

  6. Hadoop完全分布式集群搭建详细图文教程

    本文所使用的环境及版本: CentOS Linux release 7.9.2009 (Core) jdk1.8.0_291 hadoop-3.2.2 一.安装模板机 1.安装CentOS 7.9并配 ...

  7. 基于ubuntu的hadoop完全分布式集群搭建

    借鉴网址1 借鉴网址2 hadoop官方配置教程 搭建虚拟机,克隆(或者先配置JAVA和Hadoop环境再克隆,之后要改主机名和映射以及SSH免密) 可以利用xsync集群分发脚本一台机器配置其他机器 ...

  8. Hadoop完全分布式集群搭建

    hadoop本地模式搭建 首先准备一台Linux环境的服务器关闭防火墙 # 查看防火墙状态 systemctl status firewalld # 停止防火墙 systemctl stop fire ...

  9. [大数据技术与应用省赛学习记录二]——模块一(HADOOP完全分布式集群搭建)

    **在操作前,先梳理一下HADOOP完全分布式需要做些什么,不然像无头的苍蝇一样,永远不知道做什么.因为我本人比赛是一台服务器Centos 7,与三台客户端Ubuntu 18.04,所以以物理机的角度 ...

最新文章

  1. 《程序是怎样跑起来的》第一章读后感
  2. ppt批量缩略图_PPT如何在文件夹下显示缩略图的方法
  3. Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
  4. 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
  5. c++ 舞伴配对问题_挑战新物体描述问题,视觉词表解决方案超越人类表现
  6. jni开发-java调用c函数,c调用java函数实现
  7. java 图片特效_强大的Java图像滤镜特效类库Java Image Filters
  8. RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
  9. 为什么要学习Windows程序设计?
  10. FileZilla客户端使用遇到的问题
  11. 智能合约语言Solidity教程系列2 - 地址类型介绍
  12. 2015年 教师全员远程培训挂机 教师远程全员培训挂机 教师继续教育挂机 挂机软件 全国通用版...
  13. java获取序列号_纯Java获取CPU序列号
  14. matlab如何选局部最大值,如何在MATLAB中的图像中找到局部最大值?
  15. Dapper使用技巧和基础CRUD
  16. 安排,2020新kafka视频教程零基础到精通
  17. 加权均值滤波matlab,模糊加权均值滤波器
  18. html盒子移动动画代码,js实现盒子移动动画效果
  19. 三步跳过wegame登录
  20. 解析飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案

热门文章

  1. mysql基本语句实验二 修改表的结构-- 1、修改数据库-- 修改实验一中创建的学生管理数据库studentmanager的字符集为gbk。
  2. Litho介绍和原理分析
  3. 这些S3的工具,可用于下载/上传,本地存储,备份,同步等功能
  4. VMware虚拟机安装及如何正确联网
  5. Hum Brain Mapp | 联合连接矩阵独立成分分析:结构和功能连接的自动链接
  6. 原根与NTT 五千字详解
  7. 我做为一名测试工程师,职业发展方向是什么?
  8. 推荐!帮你快速回复的神秘软件
  9. 凯迪生态携手海通安恒,成功启动SAP实施项目
  10. 警校计算机专业考研,两会精神_一个警校毕业生的跨专业考研路_沪江英语