Hadoop简介和集群搭建
文章目录
- 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简介和集群搭建相关推荐
- 大数据系列(一)之hadoop介绍及集群搭建
大数据系列(一)之hadoop介绍及集群搭建 文章最早发布来源,来源本人原创初版,同一个作者: https://mp.weixin.qq.com/s/fKuKRrpmHrKtxlCPY9rEYg 系列 ...
- HADOOP 伪分布式集群搭建
一 linux 环境的搭建 由于笔者这里使用的是vmware 虚拟机 采用centos7 linux 操作系统进行搭建,所以一下示例均以centos7进行示例 1. 搭建vmware 虚拟机 (1) ...
- 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程
hadoop完全分布式集群搭建 一.搭建准备 1.安装VMware虚拟机 2.Xshell 7 远程客户端及Xftp 7安装 3.搭建模板虚拟机hadoop100 配置虚拟机网络 为虚拟机普通用户配置 ...
- Windows家庭版下基于Docker的hadoop、Spark集群搭建
Windows家庭版下基于Docker的hadoop.Spark集群搭建 目录 Windows家庭版下基于Docker的hadoop.Spark集群搭建 1.实验目的 2.实验平台 3.实验内容和要求 ...
- 大数据学习笔记第1课 Hadoop基础理论与集群搭建
大数据学习笔记第1课 Hadoop基础理论与集群搭建 一.环境准备 二.下载JDK 三.安装JDK 四.下载hadoop 五.安装hadoop集群 六.打通3台服务器的免密登录 七.hadoop集群配 ...
- Hadoop完全分布式集群搭建详细图文教程
本文所使用的环境及版本: CentOS Linux release 7.9.2009 (Core) jdk1.8.0_291 hadoop-3.2.2 一.安装模板机 1.安装CentOS 7.9并配 ...
- 基于ubuntu的hadoop完全分布式集群搭建
借鉴网址1 借鉴网址2 hadoop官方配置教程 搭建虚拟机,克隆(或者先配置JAVA和Hadoop环境再克隆,之后要改主机名和映射以及SSH免密) 可以利用xsync集群分发脚本一台机器配置其他机器 ...
- Hadoop完全分布式集群搭建
hadoop本地模式搭建 首先准备一台Linux环境的服务器关闭防火墙 # 查看防火墙状态 systemctl status firewalld # 停止防火墙 systemctl stop fire ...
- [大数据技术与应用省赛学习记录二]——模块一(HADOOP完全分布式集群搭建)
**在操作前,先梳理一下HADOOP完全分布式需要做些什么,不然像无头的苍蝇一样,永远不知道做什么.因为我本人比赛是一台服务器Centos 7,与三台客户端Ubuntu 18.04,所以以物理机的角度 ...
最新文章
- 《程序是怎样跑起来的》第一章读后感
- ppt批量缩略图_PPT如何在文件夹下显示缩略图的方法
- Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
- 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
- c++ 舞伴配对问题_挑战新物体描述问题,视觉词表解决方案超越人类表现
- jni开发-java调用c函数,c调用java函数实现
- java 图片特效_强大的Java图像滤镜特效类库Java Image Filters
- RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
- 为什么要学习Windows程序设计?
- FileZilla客户端使用遇到的问题
- 智能合约语言Solidity教程系列2 - 地址类型介绍
- 2015年 教师全员远程培训挂机 教师远程全员培训挂机 教师继续教育挂机 挂机软件 全国通用版...
- java获取序列号_纯Java获取CPU序列号
- matlab如何选局部最大值,如何在MATLAB中的图像中找到局部最大值?
- Dapper使用技巧和基础CRUD
- 安排,2020新kafka视频教程零基础到精通
- 加权均值滤波matlab,模糊加权均值滤波器
- html盒子移动动画代码,js实现盒子移动动画效果
- 三步跳过wegame登录
- 解析飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案
热门文章
- mysql基本语句实验二 修改表的结构-- 1、修改数据库-- 修改实验一中创建的学生管理数据库studentmanager的字符集为gbk。
- Litho介绍和原理分析
- 这些S3的工具,可用于下载/上传,本地存储,备份,同步等功能
- VMware虚拟机安装及如何正确联网
- Hum Brain Mapp | 联合连接矩阵独立成分分析:结构和功能连接的自动链接
- 原根与NTT 五千字详解
- 我做为一名测试工程师,职业发展方向是什么?
- 推荐!帮你快速回复的神秘软件
- 凯迪生态携手海通安恒,成功启动SAP实施项目
- 警校计算机专业考研,两会精神_一个警校毕业生的跨专业考研路_沪江英语