Linux操作系统与应用技术第10章 分布式集群搭建与应用_第1页
Linux操作系统与应用技术第10章 分布式集群搭建与应用_第2页
Linux操作系统与应用技术第10章 分布式集群搭建与应用_第3页
Linux操作系统与应用技术第10章 分布式集群搭建与应用_第4页
Linux操作系统与应用技术第10章 分布式集群搭建与应用_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026/06/24Hadoop分布式集群搭建与应用实战汇报人:一剑目录分布式集群规划设计Java环境与SSH免密认证配置Zookeeper安装与配置Hadoop分布式集群安装与配置分布式存储与计算运行实例项目拓展与章节练习010203040506分布式集群规划设计01规划的必要性在搭建分布式集群前,进行详尽的规划设计是至关重要的,它能确保集群满足特定业务需求和性能目标,避免后续因配置不当导致的资源浪费或性能瓶颈。满足业务需求规划需考量集群的规模、节点配置、网络架构等方面,以适配日志分析、机器学习等多种应用场景,保障大规模数据集的高效处理。实现性能目标通过合理规划,可提高数据处理效率与安全性,充分发挥Linux操作系统实战技能和编程技术,实现数据的高效分布式存储与计算。集群规划的重要性与目标集群规模考量因素集群规模与节点配置规划

集群规模需根据业务数据量、计算任务复杂度及预期性能来确定,本案例以3节点(1主2从)为例搭建Hadoop分布式集群。主节点配置规划

主节点IP为00,主机名Cmaster,部署JDK1.8(JAVA_HOME=/opt/jdk1.8.0)、Zookeeper3.4(myid1)、Hadoop3.0(NameNode节点),并配置openssh-server实现互认。从节点配置规划

从节点1(Cslave1)IP01,从节点2(Cslave2)IP02,均部署JDK1.8、Zookeeper3.4(myid分别为2、3)、Hadoop3.0(DataNode节点)、Mysql5.7及openssh-server互认。网络架构与组件部署规划网络架构设计集群采用局域网架构,各节点通过IP地址(00-102)进行通信,需确保节点间网络通畅,关闭防火墙以保障端口互通,同时配置SSH免密认证实现节点间便捷访问。基础组件部署规划JDK1.8作为Hadoop运行基础,在所有节点统一安装于/opt/jdk1.8.0目录;Zookeeper3.4集群部署,主从节点分别配置myid文件标识节点序号,数据存储目录为/opt/zookeeper/data。Hadoop组件部署规划Hadoop3.0主节点(Cmaster)部署NameNode,从节点(Cslave1、Cslave2)部署DataNode,HDFS数据存储路径规划为/opt/hadoop/dfs/name(主节点)和/opt/hadoop/dfs/data(从节点),YARN资源管理器部署于主节点,负责集群资源调度。Java环境与SSH免密认证配置02

Java环境安装准备卸载系统自带OpenJDK为避免版本冲突,需卸载CentOS7系统自带的OpenJDK。可通过YUM包管理器执行查询、删除操作,确保开发环境纯净。

YUM包管理器作用YUM(YellowdogUpdater,Modified)是CentOS7的软件包管理器,提供软件包的查询、安装、更新和删除功能,简化软件管理流程。JDK下载与解压JDK安装与环境变量配置从Oracle官网或可信源下载JDK1.8的tar.gz压缩包,上传至服务器/opt目录,使用tar命令解压,如“tar-xvfjdk-8u351-linux-x64.tar.gz”。环境变量配置在/etc/profile文件中添加环境变量:exportJAVA_HOME=/opt/jdk18,exportPATH=$JAVA_HOME/bin:$PATH,exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar,执行source/etc/profile使配置生效。安装验证运行“java-version”命令,若显示JDK1.8版本信息,则安装成功。随后通过scp命令将配置文件复制到所有集群节点。

SSH免密认证原理与配置01SSH免密认证原理基于密钥的安全认证方式,通过公钥和私钥配对实现。客户端生成密钥对,将公钥传输至远程服务器,认证时服务器用公钥加密随机数,客户端用私钥解密验证。

02密钥生成与公钥传输使用“ssh-keygen-trsa-P''-f~/.ssh/id_rsa”生成密钥对,通过“ssh-copy-id-i~/.ssh/id_rsa.pubroot@目标IP”将公钥传输至远程服务器,首次需输入密码。

03服务器hosts与hostname配置修改/etc/hosts文件添加IP与主机名映射(如01Cslave1),修改/etc/hostname文件设置主机名,重启后生效,并同步至所有节点。SSH免密认证验证与时间同步免密认证验证执行“ssh目标IP”命令,无需输入密码即可登录远程服务器,表明SSH免密认证配置成功。可通过scp命令测试文件传输是否免密。服务器时间同步重要性确保集群节点时间一致是分布式系统稳定运行的基础,避免因时间偏差导致服务异常或数据不一致。时间服务器配置方法安装ntp服务:yuminstallntp-y,执行“ntpdate”同步网络时间,启动ntpd服务:systemctlstartntpd,也可配置本地ntp服务器实现节点间时间同步。Zookeeper安装与配置03

Zookeeper安装前准备服务器主机名配置确保三台服务器主机名分别配置为“Cmaster”“Cslave1”“Cslave2”,并完成/etc/hosts与/etc/hostname文件修改,实现IP与主机名映射。

SSH免密登录配置已通过ssh-keygen生成密钥对,并使用ssh-copy-id命令将公钥传输至所有节点,实现主节点与从节点间免密登录。

防火墙关闭执行“systemctlstopfirewalld”命令临时关闭所有服务器防火墙,确保集群节点间端口互通,避免服务通信受阻。下载Zookeeper安装包从Apache官方镜像站点下载Zookeeper3.4.6版本二进制安装包,命令示例:wget/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz。解压安装包在各节点/opt目录下执行“tar-zxvfzookeeper-3.4.6.tar.gz”解压安装包,并创建软链接“ln-szookeeper-3.4.6zookeeper”方便访问。创建数据目录在Zookeeper安装目录下创建data目录,用于存放集群数据,命令:mkdir/opt/zookeeper/data。Zookeeper下载与安装

Zookeeper配置文件修改配置文件重命名进入Zookeeper安装目录的conf子目录,复制并修改配置文件:cpzoo_sample.cfgzoo.cfg。

数据目录配置在zoo.cfg中设置数据存储路径:dataDir=/opt/zookeeper/data。

集群节点配置添加集群节点信息,格式为“server.x=主机名:2888:3888”,其中x为节点序号,示例:server.1=Cmaster:2888:3888;server.2=Cslave1:2888:3888;server.3=Cslave2:2888:3888。

Zookeeper环境变量与节点分发01配置环境变量在/etc/profile文件中添加Zookeeper环境变量:exportZK_HOME=/opt/zookeeper;exportPATH=.:$ZK_HOME/bin:$PATH,执行“source/etc/profile”使配置生效。

02分发安装目录使用scp命令将主节点Zookeeper安装目录复制到所有从节点,命令示例:scp-r/opt/zookeeperroot@Cslave1:/opt/。

03修改myid文件在各节点data目录下创建myid文件,文件内容为对应节点序号,如Cmaster节点为“1”,Cslave1为“2”,Cslave2为“3”。单节点启动在各节点执行启动命令:cd/opt/zookeeper/bin;zkServer.shstart。脚本批量启动通过脚本在主节点一键启动所有节点服务,脚本示例:forhostinCmasterCslave1Cslave2;dossh$host"source/etc/profile;/opt/zookeeper/bin/zkServer.shstart";done。状态查看执行“zkServer.shstatus”命令查看节点角色,集群正常启动后会显示“Leader”或“Follower”模式。Zookeeper服务启动与状态查看

Zookeeper常见问题与解决安装包下载错误若启动失败,检查是否下载正确版本的Zookeeper安装包,建议从官方镜像站点获取。

数据目录或myid问题确保dataDir配置的目录已创建,且myid文件内容与zoo.cfg中server.x的序号一致。

日志文件排查启动失败时,查看dataDir目录下的“zookeeper.out”日志文件,根据日志信息定位具体错误原因。Hadoop分布式集群安装与配置04Hadoop核心组件与模式介绍HDFS分布式文件系统HDFS是Hadoop的分布式文件系统,设计用于普通硬件,具备高度容错性,能提供高吞吐量数据访问,是Hadoop存储数据的核心组件。MapReduce编程模型MapReduce是用于大规模数据集并行运算的编程模型,可自动完成计算任务并行化处理,划分数据与任务,是Hadoop计算数据的核心组件。Hadoop集群搭建模式Hadoop集群搭建支持本地模式(单一Java进程)、伪分布模式(单节点多Java进程)、完全分布模式(多台主机部署)三种模式。

Hadoop下载与安装下载Hadoop安装包从ApacheHadoop官网下载Hadoop3.0二进制文件,如wget/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz。

解压安装Hadoop将压缩包上传到主节点,执行tar-xzfhadoop-3.3.0.tar.gz解压,通过ln-shadoop-3.3.0hadoop创建软链接。

创建相关目录与配置环境变量在/opt/hadoop下创建tmp、var、dfs等目录,编辑/etc/profile文件添加HADOOP_HOME等环境变量,执行source/etc/profile使配置生效。hadoop-env.sh配置设置Java环境变量和Hadoop日志目录,如exportJAVA_HOME=/opt/jdk18、exportHADOOP_LOG_DIR=/opt/hadoop/logs等,指定各组件运行用户。core-site.xml配置设置默认文件系统和NameNode的URI,如fs.defaultFS值为hdfs://00:9000,配置hadoop.tmp.dir等属性及HDFSwebUI用户身份。Hadoop关键配置文件修改(一)

Hadoop关键配置文件修改(二)

hdfs-site.xml配置设置副本数量(如dfs.replication=3)、数据存储路径(.dir和dfs.datanode.data.dir)及secondaryhttp地址等。

mapred-site.xml与yarn-site.xml配置mapred-site.xml设置MapReduce框架名称为yarn及作业历史地址;yarn-site.xml指定ResourceManager主机名、配置NodeManager附属服务及内存分配方案等。

workers文件配置在etc/hadoop目录下创建workers文件,列出所有DataNode和NodeManager主机名,如Cslave1、Cslave2。Hadoop目录分发与HDFS格式化

Hadoop目录分发使用scp命令将Hadoop目录复制到所有节点,如scp-r/opt/hadooproot@Cslave1:$PWD、scp-r/opt/hadooproot@Cslave2:$PWD。HDFS格式化第一次启动集群前需格式化HDFS,执行hdfsnamenode-format命令,注意以后启动集群无需再次格式化。启动Hadoop守护进程执行start-dfs.sh启动HDFS相关进程,执行start-yarn.sh启动YARN相关进程,完成Hadoop集群启动。进程状态检查使用jps命令检查进程状态,确认NameNode、DataNode、ResourceManager、NodeManager等关键进程已正常启动。Hadoop集群启动与进程状态检查Hadoop集群状态验证

NameNodeWeb界面通过访问00:9870查看NameNode状态,了解HDFS集群的整体信息。ResourceManagerWeb界面访问00:8088进入集群资源管理Web界面,查看集群资源使用及作业运行情况。分布式存储与计算运行实例05MapReduce求pi实例运行

运行命令执行命令:[root@Cmaster~]#hadoopjar$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jarpi11,其中“pi”为计算任务,“1”表示map任务数,“1”表示每个map任务的采样次数。

计算过程程序通过Map阶段生成随机点,统计落在单位圆内的点数量,Reduce阶段汇总计算,利用蒙特卡洛方法估算圆周率π值,过程如图10-10所示。

计算结果最终输出结果显示π的估算值,具体结果如图10-11所示,验证了Hadoop分布式计算的可行性。

WordCount程序运行实例创建测试文件在本地创建目录及文件:[root@Cmaster~]#mkdir/home/apache/data/test,[root@Cmaster~]#vimwctest.txt,文件内容为“hellolinuxcentos7hellocentos7systemhelloworldlinuxhellolinuxshell”。

上传至HDFS使用命令:[root@Cmaster~]#hdfsdfs-putwctest.txt/hdfstest,将本地文件上传到HDFS的/hdfstest目录下。

运行WordCount程序执行命令:[root@Cmaster~]#hadoopjar/root/soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jarwordcount/hdfstest/wctest.txt/hdfstest/output,统计文件中各单词出现次数,输出结果保存至/hdfstest/output目录。模拟主服务器宕机通过关闭主节点(Cmaster,IP:00)的Hadoop服务或直接断开网络连接,模拟主服务器宕机场景。备用地址测试集群状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论