当前位置: 首页 > news >正文

做网络作家哪个网站好网站开发语言怎么选

做网络作家哪个网站好,网站开发语言怎么选,长沙网站设计公司排名,网站建设教程网页前言 本文将详细介绍Hadoop分布式计算框架的来源#xff0c;架构和应用场景#xff0c;并附上最详细的集群搭建教程#xff0c;能更好的帮助各位老师和同学们迅速了解和部署Hadoop框架来进行生产力和学习方面的应用。 一、Hadoop介绍 Hadoop是一个开源的分布式计算框架… 前言 本文将详细介绍Hadoop分布式计算框架的来源架构和应用场景并附上最详细的集群搭建教程能更好的帮助各位老师和同学们迅速了解和部署Hadoop框架来进行生产力和学习方面的应用。 一、Hadoop介绍 Hadoop是一个开源的分布式计算框架由Apache软件基金会维护专为处理和存储大规模数据集大数据而设计。它最初由Doug Cutting和Mike Cafarella开发灵感来源于Google的两篇论文《Google File System》和《MapReduce: Simplified Data Processing on Large Clusters》。Hadoop的核心优势在于其高度可扩展性、容错性和成本效益使得它成为大数据处理领域的基石。 下面详细解析Hadoop的各个方面 1. Hadoop分布式文件系统HDFS        HDFS是Hadoop的核心组件之一它是一个高度容错性的分布式文件系统旨在运行在低成本的硬件设备上。HDFS的设计理念是“一次写入多次读取”特别适合大规模数据集的存储。 架构HDFS采用主/从Master/Slave架构其中NameNode作为主节点管理文件系统的元数据文件名、文件位置等而DataNodes作为从节点负责实际存储数据块。每个文件会被分割成固定大小的块默认64MB并复制到多个DataNode上通常复制因子为3以确保数据的高可用性和容错性。数据复制策略第一个副本放置在客户端所在节点或随机节点第二个副本放置在不同机架的节点上第三个副本则位于与第二个副本相同机架的另一个节点上以此来优化数据访问速度和容错能力。 2. MapReduce核心分布式计算模型         MapReduce是Hadoop中最核心的分布式计算模型它是一种编程范式允许开发者在分布式系统上处理和生成大数据集。MapReduce的概念最早由Google提出并在Apache Hadoop项目中得到实现和广泛应用。以下是关于MapReduce的详细解释 基本概念         MapReduce的核心思想是将复杂的计算任务分解为两个主要阶段Map映射和Reduce归约。这两个阶段分别对应两个用户自定义的函数map() 和 reduce()。 Map阶段此阶段负责接收输入数据集并对数据进行初步处理。它将输入数据切分成多个小块Splits每个Split由一个Map任务处理。Map任务对每条记录执行用户定义的map()函数产生一系列的中间键值对Intermediate Key-Value Pairs。 Shuffle Sort阶段在Map和Reduce阶段之间有一个重要的步骤称为Shuffle洗牌和Sort排序。在这个阶段Map任务产生的中间键值对会被按照键进行排序、分区并且可能需要在网络上传输到相应的Reduce任务节点。 Reduce阶段Reduce任务负责接收来自各个Map任务的特定键的所有值对它们进行聚集操作例如求和、平均、最大值等。用户定义的reduce()函数会对相同键的所有值进行迭代处理生成最终的输出键值对。 关键特性 并行处理Map和Reduce任务可以在Hadoop集群中的多个节点上并行执行大大加快了数据处理的速度。容错性Hadoop MapReduce框架自动处理任务失败的情况通过重新执行失败的任务来保证计算的完整性。扩展性可以通过向集群添加更多的节点来线性地扩展计算能力处理更大的数据集。资源管理在Hadoop 2.x及之后的版本中YARNYet Another Resource Negotiator负责集群资源的管理和调度使得MapReduce作业能够更高效地与其他计算框架共享资源。 使用场景        MapReduce适用于处理大规模离线数据如日志分析、网页索引构建、数据统计分析等场景。它尤其适合那些可以被分解为大量独立操作的任务但对实时性要求不高的情况。 缺点与限制      尽管MapReduce非常强大但它也有一定的局限性 延迟较高由于数据处理流程涉及多次磁盘I/O和网络传输MapReduce不适合低延迟或实时处理需求。编程模型限制所有的计算都必须能够表达为Map和Reduce操作这在处理某些复杂计算逻辑时可能会显得笨拙。资源消耗在处理大量小文件时MapReduce可能会因为启动大量任务而导致较高的资源开销。 3. YARNYet Another Resource Negotiator        YARNYet Another Resource Negotiator是Apache Hadoop项目中的一个关键组件它作为从Hadoop 2.x版本开始引入的资源管理系统彻底改变了Hadoop的工作方式特别是对于如何管理集群资源以及运行各种类型的应用程序。YARN的设计目标是为了提高Hadoop的灵活性和通用性使其不仅仅局限于批处理作业还能支持流处理、交互式查询、机器学习等多种计算框架。 核心架构        YARN架构分为几个关键组件这些组件协同工作提供了动态、可伸缩的资源管理能力 ResourceManager (RM): 负责整个集群的资源管理和分配。它是集群的中心管理者接收来自各个应用的资源请求并基于容量调度器Capacity Scheduler或公平调度器Fair Scheduler策略决定如何分配资源给各个应用程序。 NodeManager (NM): 部署在每个节点上负责容器管理与监控以及向ResourceManager报告本节点的资源使用情况和健康状况。容器是YARN中资源抽象的基本单位包括CPU、内存等。 ApplicationMaster (AM): 每个应用程序在运行时会启动一个ApplicationMaster实例负责向ResourceManager协商资源并与NodeManager通信来启动和监控该应用的具体任务比如MapReduce任务、Spark executor等。ApplicationMaster是特定于应用程序的了解如何运行和管理该类型的应用。 Client: 提交应用程序到ResourceManager的客户端。它还负责监控应用程序的状态并在应用程序完成后获取其输出。 工作流程 应用提交客户端向ResourceManager提交应用的资源请求。资源分配ResourceManager为应用分配一个ApplicationMaster并在某个NodeManager上启动它。任务调度ApplicationMaster进一步向ResourceManager请求具体任务所需的资源ResourceManager根据当前集群资源状况分配容器。任务执行ApplicationMaster与对应的NodeManager通信指示其在分配的容器中启动任务。监控与状态更新ApplicationMaster监控所有任务的执行进度并向ResourceManager报告应用状态。同时NodeManager也定期向ResourceManager发送心跳报告容器状态。应用完成当所有任务执行完毕ApplicationMaster通知ResourceManager然后关闭自己并释放资源。 优势 灵活性YARN允许多种计算框架共存于同一集群中不再局限于MapReduce。高效资源利用通过细粒度的资源分配和动态调整提高了集群资源的利用率。可扩展性设计上支持大规模集群容易横向扩展以处理更多数据和运行更多应用程序。故障恢复提供快速故障检测和恢复机制确保应用程序的高可用性。 YARN的引入使得Hadoop生态系统更加健壮为大数据处理提供了更强大的支撑平台。  4. Hadoop生态系统        Hadoop生态系统是一个围绕Apache Hadoop核心组件主要包括HDFS、MapReduce和YARN构建起来的庞大而多样化的工具和框架集合旨在解决大数据处理、存储、分析、管理和访问的各种需求。以下是一些关键组件和工具的概述 核心组件 HDFS (Hadoop Distributed File System): 一个高度容错性的分布式文件系统设计用于运行在商用硬件上。它将大文件分割成块并存储在不同的节点上同时保持多个副本以确保数据的可靠性和高可用性。 MapReduce: 一个分布式计算框架允许在大量计算节点上并行处理大规模数据集。它将数据处理任务分为两个阶段Map映射和Reduce归约非常适合批处理任务。 YARN (Yet Another Resource Negotiator): Hadoop 2.x版本引入的资源管理器它分离了资源管理与任务调度/监控使Hadoop能够支持多种计算框架而不仅仅是MapReduce。 重要工具和框架 Hive: 提供了一种类似SQL的查询语言HQL允许用户对存储在Hadoop中的数据进行查询和分析适合大数据仓库应用。 Pig: 是一种数据流语言设计用于处理大规模数据集通过其Pig Latin脚本语言用户可以编写复杂的数据转换和分析任务。 HBase: 是一个分布式、列式存储的NoSQL数据库建立在HDFS之上适合随机读写访问和实时查询。 ZooKeeper: 一个分布式的、开放源码的协调服务提供配置管理、命名服务、分布式同步和组服务等功能常作为其他组件的依赖。 Spark: 虽然不是Hadoop直接的组成部分但常与Hadoop生态系统集成使用提供了一个更快、更通用的数据处理框架支持批处理、交互式查询、流处理和机器学习等多种计算模型。 Flume: 一个高可用、高可靠的系统用于收集、聚合和移动大量日志数据到HDFS或其他存储系统中。 Sqoop: 用于在Hadoop和关系型数据库之间高效传输数据支持批量导入导出操作。 Oozie: 一个工作流调度系统用于管理Hadoop作业的执行顺序支持定时执行、依赖管理和错误处理。 Kafka: 虽然是一个独立的项目但在Hadoop生态系统中常用于构建实时数据管道作为高吞吐量的分布式消息系统。 Ambari: 一个用于管理和监控Hadoop集群的工具提供了Web UI用于配置、管理和监控Hadoop生态系统中的各种服务。 5. 应用场景         Hadoop作为一个强大的大数据处理平台其应用场景广泛且多样涵盖了众多行业和领域。以下是一些典型的Hadoop应用场景 1. 在线旅游和电子商务 全球众多在线旅游网站如Expedia利用Hadoop处理和分析用户行为数据优化搜索排名个性化推荐旅行套餐以及进行市场趋势分析。电商平台如eBay使用Hadoop处理海量交易数据进行用户行为分析、库存管理、价格优化以及销售预测。 2. 移动数据分析 Hadoop用于处理和分析来自智能手机的大量数据包括用户行为、应用使用情况、位置服务等帮助电信运营商优化网络性能、设计定制化服务和广告投放策略。 3. 金融服务 金融机构运用Hadoop处理交易数据进行风险评估、欺诈检测、信用评分以及市场趋势分析。银行和保险公司使用Hadoop进行大规模数据的ETL抽取、转换、加载处理构建数据仓库和数据湖。 4. 社交媒体和内容平台 社交媒体公司利用Hadoop分析用户生成的内容、情感分析、趋势预测以及进行推荐系统的优化。视频和内容分享平台使用Hadoop处理视频转码、内容分类和用户行为分析以提升用户体验。 5. 能源与公共事业 能源公司如Chevron利用Hadoop进行地质数据的分析辅助油气勘探和开采决策。公用事业公司如Opower使用Hadoop分析用户电表数据提供节能建议和预测性维护服务。 6. 医疗健康 医疗机构和研究机构利用Hadoop处理和分析电子病历、基因组数据支持疾病研究、药物开发和个性化医疗。 7. 广告技术和市场营销 广告公司利用Hadoop分析用户浏览习惯、点击流数据进行精准营销和广告效果评估。 8. 政府和公共部门 政府机构使用Hadoop整合和分析跨部门数据进行人口统计分析、城市规划、公共安全监测等。 9. 物联网(IoT)和传感器数据 Hadoop处理来自智能设备和传感器的大量数据用于预测性维护、能耗管理、环境监测等。 10. 科研和学术 在科学研究中Hadoop帮助处理天文观测、气候模拟、粒子碰撞实验等产生的庞大数据集加速科学发现。        这些应用场景展示了Hadoop在处理大数据挑战方面的灵活性和强大能力无论是数据存储、处理还是分析Hadoop都能提供强大的支持。随着技术的进步和行业需求的增长Hadoop的应用范围预计还会继续扩大。 6. 优缺点 优点 高扩展性容易横向扩展支持处理PB级数据。容错性强通过数据复制和故障恢复机制保证数据安全。成本效益可在低成本硬件上运行减少投入成本。易于编程MapReduce模型简化了分布式编程。 缺点 低延迟问题Hadoop更擅长批处理对于实时或低延迟要求的处理不够理想。小文件问题处理大量小文件时效率较低。复杂性维护和管理一个Hadoop集群可能需要专门的技术团队。       Hadoop通过其强大的数据存储和处理能力成为了大数据时代的重要基础设施不断推动着数据驱动的决策制定和业务创新。 社区版和商业版        Hadoop 发行版本分为开源 社区版 和 商业版 。 社区版是指由 Apache 软件基金会维护的版本是官方维护的版本体系。 社区版 Apache Hadoophttps://hadoop.apache.org/ 商业版         商业版Hadoop是指由第三方商业公司在社区版Hadoop基础上进行了一些修 改、整合以及各个服务组件兼容性测试而发行的版本比较著名的有 cloudera 的 CDH 、mapR、hortonWorks 等 Open Source Open Standards | Clouderahttps://www.cloudera.com/open-source.html 分支发展        Hadoop 的版本很特殊是由多条分支并行的发展着。大的来看分为 3 个大 的系列版本1.x、2.x、3.x。        Hadoop1.0 由一个分布式文件系统 HDFS 和一个离线计算框架 MapReduce 组 成。架构落后已经淘汰。        Hadoop 2.0 则包含一个分布式文件系统 HDFS一个资源管理系统 YARN 和一 个离线计算框架 MapReduce。相比于 Hadoop1.0Hadoop 2.0 功能更加强大且 具有更好的扩展性、性能并支持多种计算框架。        Hadoop 3.0 相比之前的 Hadoop 2.0 有一系列的功能增强。目前已经趋于稳 定可能生态圈的某些组件还没有升级、整合完善。 本次教学使用的是 Apache Hadoop 3.3.0 Hadoop 集群搭建        搭建教程中使用到的所有文件和工具都可以在我的资源中下载到。 1、集群简介 HADOOP 集群具体来说包含两个集群HDFS 集群和 YARN 集群两者逻辑上分 离但物理上常在一起。       HDFS 集群负责海量数据的存储集群中的角色主要有 NameNode DataNode SecondaryNameNode      YARN 集群负责海量数据运算时的资源调度集群中的角色主要有 ResourceManager NodeManager mapreduce 是一个分布式运算编程框架是应用程序开 发包由用户按照编程规范进行程序开发后打包运行在 HDFS 集群上并且受 到 YARN 集群的资源调度管理。 Hadoop 部署方式分三种 Standalone mode独立模式 Pseudo-Distributed mode伪分布式模式 Cluster mode群集模式 其中前两种都是在单机部署。         独立模式又称为单机模式仅 1 个机器运行 1 个 java 进程主要用于调试。 伪分布模式也是在 1 个机器上运行 HDFS 的 NameNode 和 DataNode、YARN 的 ResourceManger 和 NodeManager但分别启动单独的 java 进程主要用于调试。 集群模式主要用于生产环境部署。会使用 N 台主机组成一个 Hadoop 集群。 这种部署模式下主节点和从节点会分开部署在不同的机器上。 2、搭建角色分配 以3 节点为例进行搭建角色分配如下 node1   NameNode          DataNode               ResourceManager node2    DataNode         NodeManager         SecondaryNameNode node3    DataNode         NodeManager 3、网络环境配置 检查你的VMware网络配置NAT的网段是多少我的是172.16.10.0/24 node1、node2、node3均为CentOS7服务器将他们划入NAT虚拟网络中并且给他们配置固定IP。DNS按照最初NAT模式分配的来设置我的是172.16.10.2 node 1  inet 172.16.10.129  netmask 255.255.255.0  broadcast 172.16.10.255   node 2  inet 172.16.10.130  netmask 255.255.255.0  broadcast 172.16.10.255 node 3  inet 172.16.10.131  netmask 255.255.255.0  broadcast 172.16.10.255 图形化设置 应用后重启网卡即可。关闭一下再打开 物理机能通就表示配置完成。 node2和node3同理。 命令行配置 可参考下面的博文这里不过多讲解。 CentOS 7 的网络配置及部分基础操作命令_centos7网络配置-CSDN博客https://blog.csdn.net/lvhezhong123/article/details/111597641 2、修改各个虚拟机主机名        Linux中修改配置文件会频繁使用到vim这个工具如果不会使用的可以点击下面的链接跳转到vim工具的认识和基础使用。Linux中vim编辑器的使用方法及命令详解_使用vim工具编写程序并显示行号,保存为文件txt-CSDN博客文章浏览阅读1.4w次点赞14次收藏63次。文章目录Vim编辑器的使用Vi简述vim的三种模式概述转换方式文本编辑1. 命令行模式功能键2.底行模式功能键上机任务vi编辑器Vim编辑器的使用Vi简述Linux 提供了一系列功能强大的编辑器如 vi 和 Emacs 。 vi 是 linux 系统的第一个全屏幕交互式编辑器。vim是vi的强化版本完全兼容vi操作。vim的一般使用方法# vim filepath //如..._使用vim工具编写程序并显示行号,保存为文件txthttps://blog.csdn.net/Sevel7/article/details/105189768 vi /etc/hostname node1 这样就修改完了注销或重启后主机名就会改变为node1。 reboot #重启 node 2 node 3 执行相同操作。 3、修改主机名和 IP 的映射关系         修改node1、node2、node3的hosts文件添加以下几项映射关系。 vi /etc/hosts172.16.10.129 node1 172.16.10.130 node2 172.16.10.131 node3 node1 node2 node3 修改完后重启网络即可生效。 /etc/init.d/network restart 测试 node1 node2 node3 测试映射关系没问题进行下一步。 4、关闭防火墙 #查看防火墙状态 systemctl status firewalld.service #关闭防火墙 systemctl stop firewalld.service #关闭防火墙开机启动 systemctl disable firewalld.service node1、node2、node3都要关闭防火墙。 node1 node2 node3 5、配置 ssh 免登陆       ( 配置 node1--node1,node2,node3)node1免密登录node1、node2、node3没错自己要给自己也免密node1 生成 ssh 免登陆密钥 ssh-keygen -t rsa 一直回车 执行完这个命令后会生成两个文件 id_rsa私钥、id_rsa.pub公钥 将公钥拷贝到要免密登陆的目标机器上 ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3拷贝过程中首先会出现要求你输入yes确认然后输入拷贝目标主机的ssh密码输入完成后回车即可 测试       这里进入node2后又退出的原因是因为我们只做了node1免密node2和node3而node2、3并没有免密node1和相互免密       为了后面少出bug我这里直接给node1、2、3全部配置上免密登录ssh。方法同上操作一定要给自己也配置免密 从这里我将使用xshell7工具连接node1、2、3来操作。 6、同步集群时间 yum install ntpdate ntpdate cn.pool.ntp.org        集群无法部署成功很大一部分是集群的系统时间不同因为同步集群时间不只这两行代码能完成所以这里给出一个跳转链接需要同步集群时间操作的可以去看看。CentOS-7的集群时间同步(ntp方式)_centos cluster ntp-CSDN博客https://blog.csdn.net/zhangbeizhen18/article/details/107602525 查看系统时间 CentOS 7 查看系统时间、更新系统时间 、修改系统时间_cento系统时间-CSDN博客https://blog.csdn.net/m0_37779570/article/details/81979263 date       因为多台服务器你没必要i同时三台输入命令查看系统时间所以一般对上分钟就没多大问题。 node1 node2 node3 集群时间同步测试通过进行下一步。 4、JDK 环境安装 卸载虚拟机自带的 JDK 注意如果你的虚拟机是最小化安装不需要执行这一步。 [roothadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps rpm -qa 查询所安装的所有 rpm 软件包   grep -i 忽略大小写 xargs -n1 表示每次只传递一个参数 rpm -e –nodeps 强制卸载软件 node1、2、3全部都要删除自带java 上传 jdk jdk-8u241-linux-x64.tar.gz   #资源在我主页资源中自行查找 连接xftp或者cd进入root目录下直接拖拽文件进入xshell的命令行也可以实现上传。上传jdk注意上传的路径这里建议跟我上传的路径一致方便后续操作。上传到/root目录下。 创建目录 Linux常用命令 Linux mkdir命令教程如何创建目录(附实例详解和注意事项)_创建目录,mkdir.未定义标识符要怎么办?-CSDN博客https://blog.csdn.net/u012964600/article/details/136169415node1、2、3都要创建。 Mkdir -p /export/server 解压 jdk 解压刚刚上传的jdk到刚创建的目录。node1、2、3 tar -zxvf jdk-8u241-linux-x64.tar.gz -C /export/server 将 java 添加到环境变量中 先在node1配置配置完成后使用scp命令同步到node2和node3即可。 vim /etc/profile.d/my_env.sh#在文件最后添加 export JAVA_HOME/export/server/jdk1.8.0_241 export PATH$PATH:$JAVA_HOME/bin export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #刷新配置会跟随profile.d文件同步刷新 source /etc/profile 测试java环境变量 java -version 没问题。继续手动配置node2和node3. Java环境配置完成。 5、Hadoop 重新编译        Hadoop 官方一般都给出了对应版本安装包一般情况下是不需要自己进行编译的但是由于官方编译好的 hadoop 的安装包没有提供带 C 程序访问的接口 所以在使用本地库本地库可以用来做压缩以及支持 C 程序等等 的时候就会 出问题因此生产环境中一般会重新编译。         此外作为开源软件针对源码进行修改某些属性之后也需要重编译。 可以使用课程提供编译好的安装包。 6、Hadoop 安装包目录结构        解压 hadoop-3.3.0-Centos7-64-with-snappy.tar.gz目录结构如下 bin Hadoop 最基本的管理脚本和使用脚本的目录 这些脚本是 sbin 目录 下管理脚本的基           础实现用户可以直接使用这些脚本管理和使用 Hadoop。 etc Hadoop 配置文件所在的目录 包括 core-site,xml、hdfs-site.xml、 mapred-site.xml               等从 Hadoop1.0 继承而来的配置文件和 yarn-site.xml 等        Hadoop2.0 新增的配置文件。 include 对外提供的编程库头文件具体动态库和静态库在 lib 目录中 这些头文件均是                  用 C定义的通常用于 C程序访问 HDFS 或者编写 MapReduce 程序。 lib 该目录包含了 Hadoop 对外提供的编程动态库和静态库与 include 目录中的头文件结           合使用。 libexec 各个服务对用的 shell 配置文件所在的目录可用于配置日志输 出、启动参数比                  如 JVM 参数等基本信息。 sbin Hadoop 管理脚本所在的目录 主要包含 HDFS 和 YARN 中各类服务的 启动/关闭脚             本 。 share Hadoop 各个模块编译后的 jar 包所在的目录官方自带示例 。 7、解压Hadoop3.3.0 将Hadoop上传到/exprot/server路径下在此路径解压。 tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz 删除安装包。 给Hadoop-3.3.0目录赋予权限 chmod -R 777 hadoop-3.3.0/8、Hadoop 配置文件修改        Hadoop 安装主要就是配置文件的修改一般在主节点进行修改完毕后 scp 下发给其他各个从节点机器 1、hadoop-env.sh 所在目录/export/server/hadoop-3.3.0/etc/hadoop        文件中设置的是 Hadoop 运行时需要的环境变量。JAVA_HOME 是必须设置的 即使我们当前的系统中设置了 JAVA_HOME它也是不认识的因为 Hadoop 即使 是在本机上执行它也是把当前的执行环境当成远程服务器。 export JAVA_HOME/export/server/jdk1.8.0_241 #文件最后添加 export HDFS_NAMENODE_USERroot export HDFS_DATANODE_USERroot export HDFS_SECONDARYNAMENODE_USERroot export YARN_RESOURCEMANAGER_USERroot export YARN_NODEMANAGER_USERroot 编辑hadoop-env.sh文件修改并添加上述参数。 vim hadoop-env.sh 修改完成保存退出。 :wq #保存退出 2、core-site.xml 所在目录/export/server/hadoop-3.3.0/etc/hadoop       hadoop 的核心配置文件有默认的配置项 core-default.xml。 core-default.xml 与 core-site.xml 的 功 能 是 一 样 的 如 果 在 core-site.xml 里没有配置的属性则会自动会获取 core-default.xml 里的相 同属性的值。 编辑core-site.xml文件将以下代码放入configuration /configuration中具体看例图 vim core-site.xml property namefs.defaultFS/name valuehdfs://node1:8020/value /property property namehadoop.tmp.dir/name value/export/data/hadoop-3.3.0/value /property !-- 设置 HDFS web UI 用户身份 -- property namehadoop.http.staticuser.user/name valueroot/value /property !-- 整合 hive -- property namehadoop.proxyuser.root.hosts/name value*/value /property property namehadoop.proxyuser.root.groups/name value*/value /property 这里的8020默认为数据接口后续大数据接入需要用到。修改完成保存退出。 :wq #保存退出 3、hdfs-site.xml 所在目录/export/server/hadoop-3.3.0/etc/hadoop       HDFS 的核心配置文件有默认的配置项 hdfs-default.xml。hdfs-default.xml 与 hdfs-site.xml 的功能是一样的 如果在 hdfs-site.xml 里没有配置的属性则会自动会获取 hdfs-default.xml 里的相 同属性的值。 编辑 hdfs-site.xml文件将以下代码放入configuration /configuration中具体看例图 vim hdfs-site.xml !-- 指定 secondarynamenode 运行位置 -- property namedfs.namenode.secondary.http-address/name valuenode2:50090/value /property :wq #保存退出 4、mapred-site.xml 所在目录/export/server/hadoop-3.3.0/etc/hadoop        MapReduce 的核心配置文件有默认的配置项 mapred-default.xml。 mapred-default.xml与mapred-site.xml的功能是一样的 如果在mapred-site.xml里没有配置的属性则会自动会获取 mapred-default.xml里的相同属性的值。 编辑 mapred-site.xml文件将以下代码放入configuration /configuration中具体看例图 vim mapred-site.xml property namemapreduce.framework.name/name valueyarn/value /property property nameyarn.app.mapreduce.am.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property property namemapreduce.map.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property property namemapreduce.reduce.env/name valueHADOOP_MAPRED_HOME${HADOOP_HOME}/value /property 5、yarn-site.xml 所在目录/export/server/hadoop-3.3.0/etc/hadoop        YARN 的核心配置文件有默认的配置项 yarn-default.xml。 yarn-default.xml与yarn-site.xml的功能是一样的 如 果 在 yarn-site.xml 里没有配置的属性则会自动会获取yarn-default.xml里相同属性的值。 编辑 yarn-site.xml文件将以下代码放入configuration /configuration中具体看例图 vim yarn-site.xml !-- 指定 YARN 的主角色ResourceManager的地址 -- property nameyarn.resourcemanager.hostname/name valuenode1/value /property !-- NodeManager 上运行的附属服务。需配置成 mapreduce_shuffle才可运行 MapReduce 程序默认值 -- property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property !-- 是否将对容器实施物理内存限制 -- property nameyarn.nodemanager.pmem-check-enabled/name valuefalse/value /property !-- 是否将对容器实施虚拟内存限制。 -- property nameyarn.nodemanager.vmem-check-enabled/name valuefalse/value /property !-- 开启日志聚集 -- property nameyarn.log-aggregation-enable/name valuetrue/value /property !-- 设置 yarn 历史服务器地址 -- property nameyarn.log.server.url/name valuehttp://node1:19888/jobhistory/logs/value /property !-- 保存的时间 7 天 -- property nameyarn.log-aggregation.retain-seconds/name value604800/value /property :wq #保存退出 6、workers 所在目录/export/server/hadoop-3.3.0/etc/hadoop workers 文件里面记录的是集群主机名。主要作用是配合一键启动脚本如 start-dfs.sh、stop-yarn.sh 用来进行集群启动。这时候workers文件里面的主机标记的就是从节点角色所在的机器。 编辑 workers文件将以下代码放入具体看例图 vim workers node1 node2 node3 :wq #保存退出 9 scp 同步安装包 cd /export/server scp -r hadoop-3.3.0 rootnode2:$PWD scp -r hadoop-3.3.0 rootnode3:$PWD        在 node1 上进行了配置文件的修改使用 scp 命令将修改好之后的安装包同 步给集群中的其他节点。 10 Hadoop 环境变量 3 台机器都需要配置环境变量文件。 vim /etc/profile.d/my_env.sh export HADOOP_HOME/export/server/hadoop-3.3.0 export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile 这里记得同步手动修改node2和node3的环境变量配置 Hadoop环境变量配置完成。 Hadoop 集群启动 初始-格式化          要启动 Hadoop 集群需要启动 HDFS 和 YARN 两个集群。 注意 首次启动 HDFS 时必须对其进行格式化操作 。本质上是一些清理和 准备工作因为此时的 HDFS 在物理上还是不存在的。必须进行初始的格式化操作node1、node2、node3全部都要格式化 hadoop namenode -format node1 成功。 node2 成功。 node3 成功。 怎么查看成功往上翻看见这个就可以算作是初始化成功了。 现在开始启动 单节点逐个启动 主节点node1、从节点node2、node3 在主节点上使用以下命令启动 HDFS NameNodenode1      $HADOOP_HOME/bin/ hdfs --daemon start namenode 在每个从节点上使用以下命令启动 HDFS DataNodenode 1 、2、3      $HADOOP_HOME/bin/hdfs --daemon start datanode 在 node2 上使用以下命令启动 HDFS SecondaryNameNode      $HADOOP_HOME/bin/hdfs --daemon start secondarynamenode 在主节点上使用以下命令启动 YARN ResourceManagernode1      $HADOOP_HOME/bin/ yarn --daemon start resourcemanager 在每个从节点上使用以下命令启动 YARN nodemanagernode 1 、2、3      $HADOOP_HOME/bin/yarn --daemon start nodemanager 如果想要停止某个节点上某个角色只需要把命令中的 start 改为 stop 即可。 脚本一键启动-建议选择单节点逐个启动两种方式任选一种即可        如果配置了 etc/hadoop/workers 和 ssh 免密登录则可以使用程序脚本启 动所有 Hadoop 两个集群的相关进程在主节点所设定的机器上执行。 hdfs$HADOOP_PREFIX/sbin/start-dfs.sh yarn: $HADOOP_PREFIX/sbin/start-yarn.sh 停止集群stop-dfs.sh、stop-yarn.sh 集群 web-ui 一旦 Hadoop 集群启动并运行可以通过 web-ui 进行集群查看如下所述 NameNode http://172.16.10.129:port/ 默认 9870 可以看到有三个节点在线。 ResourceManager http://172.16.10.129:port/ 默认 8088 这边也可以看到三个活动节点。 Hadoop 体验 HDFS 使用 从 Linux 本地上传一个文本文件到 hdfs 的/test/input 目录下 hadoop fs -mkdir -p /test/input #创建一个目录 hadoop fs -put /root/somewords.txt /test/input #上传文件到这个目录 你可能会碰到的报错        遇到这个错误提示“put: /test/input: No such file or directory:        hdfs://node1:8020/test/input”时意味着你在尝试使用Hadoop的hadoop fs -put命令上传文件到HDFS时指定的目标目录不存在。Hadoop要求上传文件的目标路径必须是已存在的。这个问题可以通过以下几个步骤解决 创建缺失的目录 在上传文件之前首先确保目标目录已经存在。你可以使用hadoop fs -mkdir命令来创建所需的目录。例如如果想要上传到/test/input目录先创建这个目录 Bash 1hadoop fs -mkdir -p /test/input -p选项表示如果父目录不存在也会一并创建。 再次尝试上传 一旦目标目录创建成功就可以重新尝试使用put命令上传文件了。例如如果你要上传本地的localfile.txt到HDFS的/test/input目录下命令如下 Bash 1hadoop fs -put localfile.txt /test/input/ 注意路径末尾的斜杠是可选的但加上它可以明确表示这是一个目录。 检查权限 如果问题仍然存在可能是因为权限问题。确保你有权限在HDFS上创建目录和上传文件。这通常涉及到HDFS的权限设置可以通过Hadoop的ACLAccess Control List或者HDFS的配置来管理。 检查Hadoop集群状态 确保Hadoop集群运行正常尤其是NameNode在你的例子中是node1:8020是活动且可访问的。可以通过检查集群的日志文件或使用Hadoop的管理工具如Ambari、Cloudera Manager等来验证。 上传成功。 运行 mapreduce 程序        在 Hadoop 安装包的 share/hadoop/mapreduce 下有官方自带的 mapreduce 程 序。我们可以使用如下的命令进行运行测试。 示例程序 jar: hadoop-mapreduce-examples-3.3.0.jar 计算圆周率: hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 20 50 关于圆周率的估算感兴趣的可以查询资料 Monte Carlo 方法来计算 Pi 值。 计算 wordcount: hello hello tom hello allen hello allen tom mac apple hello apple spark allen tom hadoop-mapreduce-examples-3.3.0.jar wordcount /wordcount/input /wordcount/output MapReduce jobHistory        JobHistory 用来记录已经 finished 的 mapreduce 运行日志日志信息存放 于 HDFS 目录中默认情况下没有开启此功能需要在 mapred-site.xml 中配置并手动启动。 1 修改 mapred-site.xml cd /export/servers/hadoop-3.3.0/etc/hadoop vim mapred-site.xml MR JobHistory Server 管理的日志的存放位置 property namemapreduce.jobhistory.address/name valuenode1:10020/value /property 查看历史服务器已经运行完的 Mapreduce 作业记录的 web 地址需要启动该 服务才行 property namemapreduce.jobhistory.webapp.address/name valuenode1:19888/value /property 2 分发配置到其他机器 cd /export/servers/hadoop-3.3.0/etc/hadoop scp -r mapred-site.xml node2:$PWD scp –r mapred-site.xml node3:$PWD 3 启动 jobHistoryServer 服务进程 mapred --daemon start historyserver 如果关闭的话 用下述命令 mapred --daemon stop historyserver 4 页面访问 jobhistoryserver http://node1:19888/jobhistory HDFS 的垃圾桶机制 1 垃圾桶机制解析          每一个文件系统都会有垃圾桶机制便于将删除的数据回收到垃圾桶里面去 避免某些误操作删除一些重要文件。回收到垃圾桶里里面的资料数据都可以进行恢复。 2 垃圾桶机制配置        HDFS 的垃圾回收的默认配置属性为 0也就是说如果你不小心误删除了 某样东西那么这个操作是不可恢复的。 修改 core-site.xml 那么可以按照生产上的需求设置回收站的保存时间这个时间以分钟为单位 例如 144024h1 天。 property namefs.trash.interval/name value1440/value /property 然后重启 hdfs 集群 3 垃圾桶机制验证          如果启用垃圾箱配置dfs 命令删除的文件不会立即从 HDFS 中删除。相反 HDFS 将其移动到垃圾目录每个用户在/user/username/.Trash 下都有自己的 垃圾目录。只要文件保留在垃圾箱中文件可以快速恢复。 使用 skipTrash 选项删除文件该选项不会将文件发送到垃圾箱。它将从 HDFS 中完全删除 。 文末      部署是真麻烦各种文档查半天但是应用场景和功能都挺好的
http://www.ho-use.cn/article/10818663.html

相关文章:

  • 老师让做网站怎么做wordpress封面图七牛
  • 个人网站怎么设计开发一个同城app需要多少钱
  • 樟木头镇网站仿做网站怎么才能被百度收录
  • 宁波免费网页制作模板北京企业网站排名优化
  • 网站推广公司哪家好泰安网络营销公司
  • 山东省建设执业官方网站北京互联网公司50强
  • 自己如何做网站推广微信公众账号申请网站吗
  • 网站服务器不稳定怎么打开网页医院网站建设网站
  • 制作华为手机网站建设规划书购物网站建设推进表
  • 提交网站收录网站制作用的软件有哪些
  • 网站优化员seo招聘建筑公司网站制作
  • 平台公司组建方案优化营商环境心得体会2023
  • 网站排名需要多长时间云浮罗定哪有做网站的
  • 旅游网站建设要如何做到那里找做网站的兼职
  • 个人网站建设培训现在都是用什么做网站
  • asp做购物网站陕西建设厅官网证书查询
  • 网站开发需要会什么软件深圳微商城网站设计
  • 中怎么做网站上下载图片的功能推广服务公司
  • 做网站需要了解哪些临清网站推广
  • 青州网站优化基础的网站建设
  • 竟标网站源码做网站赚钱还是做app赚钱
  • 天津网站排名优化费用岳池建设局网站
  • 做图乐陵市seo关键词优化
  • 做任务的电脑网站wordpress 备份还原
  • 做网站管理好吗华为邮箱登录入口
  • 网站如何宣传wordpress自定义评论头像
  • 美乐乐网站源码做磁力搜索网站违法吗
  • 宝山网站建设方案ps网站首页设计图制作教程
  • 有一个网站 人物模型可以做各种动作资阳seo优化公司
  • 网站服务器带宽多少合适做条形码哪个网站比较好