Hadoop3作为分布式系统架构的重要基石,为大规模数据存储与处理提供了强大支持
基本信息
hadoop:一个存储和处理大数据的分布式系统框架
组成: HDFS(数据存储)、MapReduce(计算)、Yarn(资源调度)、Common(辅助工具)
HDFS:Hadoop Distributed File System,一个分布式文件系统;组成有NameNode(存储文件的元数据,类似目录索引),DataNode(存储文件块数据),Secondary NameNode(NameNode元数据备份)
YARN:Yet Another Resource Negotiator,另一种资源协调者,Hadoop 的资源管理器,组成有ResourceManager(管理集群资源)、NodeManager(管理单个节点资源)、ApplicationMaster(管理单个任务)、Container(封装任务需要的资源)
MapReduce:将计算过程分为两个阶段Map 和 Reduce,Map 阶段并行处理输入数据,Reduce 阶段对 Map 结果进行汇总
配置环境
三台虚机:安装vmvare,创建模板虚拟机h1,centos7.5,配置完虚机模板后,克隆三个虚机h2-h4,分别修改对应的ip地址和主机名
配置ip地址:vm设置VMnet8的子网ip和网关、内部虚机修改主机名和hosts文件,静态地址、window配置Adapter VMnet8 默认网关,DNS服务器
安装远程终端工具:Xshell,Xftp传输工具
模板虚机配置:
安装epel-release(需更换为阿里源)
关闭防火墙及开机自启、配置常用用户有root权限
/opt目录下创建文件夹module和software,一个安装软件,一个放软件包
卸载虚拟机自带的JDK
在h2安装JDK和hadoop
用XShell传输工具将安装包,导入到opt目录下面的software文件夹下面
解压安装包到/opt/module目录下
配置环境变量
测试是否安装成功
将在h2安装的JDK和hadoop分发到h3,h4
两个命令:scp(secure copy)安全拷贝、rsync远程同步工具,前者可以在虚机之间复制文件,后者增量复制,效率更高
xsync集群分发脚本:基于上述两个命令编写xsync编写集群分发脚本,声明了全局环境变量的路径的bin目录下
SSH无密登录配置:生成公钥和私钥,将公钥拷贝到要免密登录的目标机器上,每台机器都要生成,并拷贝到其他机器上
配置集群并启动
集群规划:h2放NameNode,h3放ResourceManager,h4放SecondaryNameNode
配置-修改配置文件
核心配置文件core-site.xml:指定NameNode的地址、指定hadoop数据的存储目录
HDFS配置文件hdfs-site.xml:指定NameNode(nn)的地址 web端访问地址、SecondaryNameNode(2nn) web端访问地址
YARN配置文件yarn-site.xml:指定MR走shuffle、指定ResourceManager的地址、环境变量的继承
MapReduce配置文件mapred-site.xml:指定MapReduce程序运行在Yarn上
在集群上分发配置好的Hadoop配置文件:xsync
启动
配置workers并同步
集群是第一次启动:在h2节点格式化NameNode
h2机器上启动HDFS:start-dfs.sh
h3机器上启动YARN:start-yarn.sh
Web端查看HDFS的NameNode、YARN的ResourceManager
测试上传文件和执行wordcount程序
配置历史服务器和日志聚集
配置历史服务器
配置mapred-site.xml:配置历史服务器端地址、历史服务器web端地址
分发配置并启动,web查看
配置日志聚集
配置yarn-site.xml:开启日志聚集功能、设置日志聚集服务器地址、设置日志保留时间为7天
分发配置,关闭NodeManager 、ResourceManager和HistoryServer
启动NodeManager 、ResourceManage和HistoryServer
删除HDFS上已经存在的输出文件
执行WordCount程序
查看日志
参考资料
大海哥,hadoop3.x
hadoop+spark生态系统操作与实战指南