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

无锡网站排名优化费用2017年网站建设公司

无锡网站排名优化费用,2017年网站建设公司,ui设计软件sketch,全面依法治国建设法治中国系列文章目录 分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 前言 一 hadoop的相关概念 1.1 Hadoop概念 补充#xff1a;块的存储 1.2 HDFS是什么 1.3 三种节点的功能 I、NameNode节点 II、fsimage与edits…系列文章目录 分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 前言 一 hadoop的相关概念 1.1 Hadoop概念 补充块的存储 1.2 HDFS是什么 1.3 三种节点的功能 I、NameNode节点 II、fsimage与edits文件存放的内容介绍 III、DataNode节点 IV、SecondaryNameNode节点【辅助管理员信息】 1.4 HDFS的读写流程 1、读操作 2、写操作 1.5 HDFS元数据管理机制 1、如何持久化存储数据 fsimage(镜像文件) edits log(编辑日志) 2、SeconderyNameNode辅助管理元数据的流程 第一阶段启动NameNode 第二阶段SecondaryNameNode开始工作 3. 小细节 二 HDFS的五大机制 1、切片机制 2、汇报机制 3、心跳检测机制 4、负载均衡 5、副本机制 三 Hadoop安装 3.1 集群规划列表 3.2 上传压缩包 3.3 配置相关的文件 1修改core-site.xml配置文件 2修改hdfs-site.xml 3配置hadoop-env.sh 4配置mapred-site.xml 5配置yarn-site.xml文件 6修改mapred-env.sh 7修改slaves配置我们的从机 8前面配置好后我们需要自己创建目录 9分发安装内容 10三台机器配置hadoop环境变量 11启动集群 前言 本文主要介绍hadoop的相关概念以及在Linux上面配置Hadoop的具体操作。 一 hadoop的相关概念 1.1 Hadoop概念 Hadoop是一个由Apache基金会所开发的分布式系统基础架构HDFS、MR、Yarn三个重要的组件组 成。HDFS是GFS的实现论文必须会Hadoop的MR是MR的实现论文稍微了解一下。 分片是客户端做的专门的机器来接受请求真正存节点的是客户端和datanode。 客户端建立通道上传一次64k上传。存在缓存区。 切片是客户端负责切片物理上分块2.0以上为128M以上 目录信息在专门的机器上面有两处存放位置【硬盘内存】 读写文件时客户端与机器之间操作 文件需要嵌套缓冲流 补充块的存储 通过机架感知原理 网络拓扑结构实现副本摆放 第1个副本优先本机存放否则就近随机 第2个副本放在与第1个副本就近不同机架上的某一个服务器 第3个副本与第2个副本相同机架的不同服务器。 如果还有更多的副本随机放在各机架的服务器中。 1.2 HDFS是什么 分布式文件系统,适合一次写入多次查询的情况。不支持并发写不适用于小文件存储【小文件内容1M,但是存放的时候依旧为128M】。低时延的数据访问。 重要的三个节点 NameNode节点 DataNode节点 SecondaryNameNode节点【辅助源操作信息】 1.3 三种节点的功能 I、NameNode节点 NameNode节点 NameNode负责存储数据文件的元数据 NameNode负责管理文件系统目录结构。接受客户端的文件操作请求。 NameNode维护两套数据 一套是文件目录与数据块之间的对应关系【静态】 一套是数据块与存储节点之间的对应关系【动态】 前一套数据是静态的存放在磁盘上通过fsimage和edits【编辑日志文件】文件来维护 后一套是动态的在集群重启时会在内存自动建立这些信息。 其中fsimage存储的是某一时段NameNode内存元数据信息配置时通过hdfs-default.xml中的dfs.name.dir选项设置【整个文件系统的目录结构以及文件相关信息】 edits记录操作日志文件配置时通过hdfs-default.xml的dfs.name.edits.dir选项设置fstime保存最近一次checkpoint的时间。 II、fsimage与edits文件存放的内容介绍 fsimage镜像文件实际是存放的目录结构、文件属性等相关信息是NameNode中关于 元数据的镜像。它是在NameNode启动时对整个文件系统的快照。 edits编辑日志文件,记录对文件或者目录的修改信息比如删除目录修改文件等信 息。编辑日志一般命名规则是“edits_*”它在NameNode启动后记录对文件系统的改动 序列。 edits文件存放的是hadoop文件系统的所有更新操作的路径文件系统客户端执行的所有写操作首先会被记录到edits文件中。 fsimage和edits文件都是经过序列化的在NameNode启动的时候它会将fsimage文件中的所有内容加载到内存中之后再执行edits文件中的各项操作。使得内存中的元数据和实际的数据同步存在内存中的元数据支持客户端的读操作。 III、DataNode节点 DataNode负责按Block存储数据文件。每一个数据文件都会按照Block大小进行划分。每个Block都会进行多副本备份一般为三份通常多个副本会按照一定的策略(机架感知策略)放在不同的DataNode节点上。 IV、SecondaryNameNode节点【辅助管理员信息】 SecondaryNameNode作为NameNode的冷备份。负责合并NameNode上的fsimage和edits文件。集群启动会交给namenode存到内存里面。 SecondaryNameNode的本质作用是辅助NameNode进行fsimage和editlogs的合并操作。 首先它定时到NameNode去获取edit logs并更新到fsimage上。[注Secondary NameNode自己的fsimage] 一旦它有了新的fsimage文件它将其拷贝回NameNode中。 NameNode在下次重启时会使用这个新的fsimage文件从而减少重启的时间。 Secondary NameNode的整个目的是在HDFS中提供一个检查点。它只是NameNode的一个助手节点。这也是它在社区内被认为是检查点节点的原因。 1.4 HDFS的读写流程 1、读操作 ① 客户端向NameNode请求读取文件 ② NameNode检查该文件是否存在以及该客户端是否具有读权限有一个不满足则返回报错信息 两者都有则根据“机架感知原理”和“网络拓补图”返回存储该文件的块地址存储该文件的DataNode列表 ③ 客户端拿到返回的块地址后并行的读取DataNode列表中对应的块信息 如果之前读取的是部分块的信息则在这些块数据读取完毕后会重新请求NameNode 获取 剩下的块地址重新读取直至所有数据块的信息读取完毕 ⑤ 最后拼接块信息得到最终的文件 至此读取文件操作完成 2、写操作 ① 客户端向NameNode请求上传文件 ② NameNode检查是否已存在要上传的文件如果已有则拒绝请求 如文件不存在则继续检查该客户端在待上传的目录下是否有写权限如果无权限则返回报错信息有权限则给客户端返回可以上传的信息 ③ 客户端接收可以上传的信息后对文件进行切块 ④ 客户端重新请求NameNode询问第一个数据块的上传位置 ⑤ NameNode接收到客户端的请求后根据副本机制、负载均衡、机架感知原理和网络拓补图找到存储第一个数据块的DataNode列表例如node1、node2、node3后告知客户端 ⑥ 客户端根据接收到的DataNode列表连接就近的节点例如node1 ⑦ 第一个节点收到请求后会与DataNode列表中的其他节点进行连接形成“传输管道”然后客户端通过数据报包对数据块再进行切分的方法开始给节点传输第一个数据块 ⑧ 节点接收到数据块后需要告知客户端块信息已上传成功 所以node3接收到信息后会反馈给node2已接收node2再反馈给node1已接收最后node1告知客户端已上传成功 这一步也称为【构建反向应答机制】 ⑨ 第一个数据块上传完成后客户端继续请求NameNode询问第二个数据块的上传位置重复第四到第八步的操作直至所有的数据块上传成功 至此写文件操作完成 1.5 HDFS元数据管理机制 HDFS元数据按类型划分为两部分 持久化存储 文件、目录自身的属性信息例如文件名目录名修改信息 文件存储的相关信息例如存储块信息分块情况副本个数 非持久化存储 DataNode节点中的数据块信息 1、如何持久化存储数据 答通过fsimage和edits log fsimage(镜像文件) 保存Hadoop文件系统中的所有目录和元数据信息但不保存文件块位置的信息 文件块位置信息只存储在内存中是Namenode在DataNode加入集群时询问得到并且间断的更新 edits log(编辑日志) 保存客户端对Hadoop集群的事务性操作记录增、删、改 2、SeconderyNameNode辅助管理元数据的流程 图解 原理 第一阶段启动NameNode ① 如果是首次启动namenode格式化则新建fsimage镜像文件和edits log编辑日志 如果是非首次启动则直接加载fsimage和edits log到内存中 ② 客户端对元数据的增删改操作会实时的写入到edits log 第二阶段SecondaryNameNode开始工作 ③ SecondaryNameNode会实时检查edits log的状态只要满足一定阈值时1小时或修改达到100W次后就通知NameNode重新生成一个新的edits log文件后续将操作记录写入新文件中 ④ SecondaryNameNode通过HTTP协议拉取NameNode中的fsimage和edits log到本地 ⑤ 对拉取过来的edits log和fsimage加载到内存中进行合并操作这个过程也成为Checkpoint形成新的fsimage文件 ⑥ 把新的fsimage推送给NameNode替换旧fsimage 3. 小细节 ① 产生的edits log和fsiamge不会被立即删除而是在集群重启或者这些文件达到一定量级后才会删除 ② 对edits log和fsimage的合并操作实在SecondaryNameNode实现的整个过程NameNode不参与 ③ 实际开发中NameNode和SecondaryNameNode一般部署在不同的服务器上两者的配置几乎一样只是SecondaryNameNode内存要稍微大点 ④ 紧急情况下SecondaryNameNode可以用来恢复NameNode的元数据 二 HDFS的五大机制 1、切片机制 HDFS中的文件在物理上是分块block存储的块的大小可以通过配置参数来规定在hadoop2.x版本中默认大小是128M 2、汇报机制 ① HDFS集群重新启动的时候所有的DataNode都要向NameNode汇报自己的块信息 ② 当集群在正常工作的时间隔一定时间6小时后DataNode也要向NameNode汇报一次自己的块信息 3、心跳检测机制 NameNode与DataNode依靠心跳检测机制进行通信 ① DataNode每3秒给NameNode发送自己的心跳信息 ② 如果NameNode没有收到心跳信息则认为DataNode进入“假死”状态。DataNode在此阶段还会再尝试发送10次30s心跳信息 ③ 如果NameNode超过最大间隙时间10分钟还未接收到DataNode的信息则认为该DataNode进入“宕机”状态 ④ 当检测到某个DataNode宕机后NameNode会将该DataNode存储的所有数据重新找台活跃的新机器做备份 4、负载均衡 让集群中所有的节点服务器的利用率和副本数尽量都保持一致或在同一个水平线上 5、副本机制 ① 副本的默认数量为3 ② 当某个块的副本小于3份时NameNode会新增副本 ③ 当某个块的副本大于3份时NameNode会删除副本 ④ 当某个块的副本数小于3份且无法新增的时候此时集群会强制进入安全模式只能读不能写 三 Hadoop安装 3.1 集群规划列表 检查我们的hadoop包对本地库的支持切换到hadoop安装目录下执行bin/hadoopchecknative回车即可。 3.2 上传压缩包 上传我们编译好的apache hadoop包并解压缩下图红色标记的 解压hadoop的压缩包 修改配置文件 /etc/profile 后使用source命令使其生效。 3.3 配置相关的文件 1修改core-site.xml配置文件 vim /opt/hadoop的安装路径/etc/hadoop/core-site.xml 定义hadoop集群系统的文件类型是一个分布式文件系统 定义hadoop集群系统的文件类型是一个分布式文件系统property定义hadoop集群中文件的类型说明我们用的是分布式文件系统该文件系统的主节点的node01节点上分布式文件系统的服务端口号为8020。namefs.default.name/namevaluehdfs://node01:8020/value/propertypropertynamehadoop.tmp.dir/namevalue/opt/software/hadoop-2.7.5/hadoopDatas/tempDatas/value/property定义文件缓冲区大小实际工作中根据服务器性能动态调整propertynameio.file.buffer.size/namevalue4096/value/property开启hdfs垃圾桶机制删除掉的数据可以从垃圾桶中回收单位分钟删除掉的文件会先放在垃圾桶里面而不是立刻从机器上删除掉。10080是七天也就是说7天之后会清理垃圾桶中超过7天的数据。一天是1440.propertynamefs.trash.interval/namevalue10080/value/property 2修改hdfs-site.xml 设定辅助管理节点的主机和端口号propertynamedfs.namenode.secondary.http-address/namevaluenode01:50090/value/property设定NameNodeHDFS主节点的访问地址即主机和端口号——会非常常用可以通过网页查看分布式文件系统中的数据。propertynamedfs.namenode.http-address/namevaluenode01:50070/value/property指定namdenode存储元数据的位置这个文件是不存在的我们需要创建它。propertynamedfs.namenode.name.dir/namevaluefile:///export/opt/software/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/opt/software/hadoop-2.7.5/hadoopDatas/namenodeDatas2/value/property定义datanode数据存储的节点位置实际工作中一般先确定磁盘的挂载目录然后多个目录用进行分割。propertynamedfs.datanode.name.dir/namevaluefile:///export/opt/software/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/opt/software/hadoop-2.7.5/hadoopDatas/datanodeDatas2/value/property定义namenode编辑日志文件的存放目录propertynamedfs.namenode.edits.dir/namevaluefile:///export/opt/software/hadoop-2.7.5/hadoopDatas/nn/edits/value/property定义检查点的存放位置定期从活动的NameNode下载fsimage和editlog在本地合并它们并将新映像上传回活动的NameNodepropertynamedfs.namenode.checkpoint.dir/namevaluefile:///export/opt/software/hadoop-2.7.5/hadoopDatas/dfs/snn/name/value/propertypropertynamedfs.namenode.checkpoint.edits.dir/namevaluefile:///export/opt/software/hadoop-2.7.5/hadoopDatas/dfs/snn/edits/value/property指定一个文件切片存储的副本个数propertynamedfs.replication/namevalue3/value/property设置HDFS文件权限暂时关闭后期需要可以再开启propertynamedfs.permissions/namevaluefalse/value/property指定一个文件切片的大小这里面指定的大小为128Mpropertynamedfs.blocksize/namevalue134217728/value/property 3配置hadoop-env.sh export JAVA_HOME/opt/software/jdk1.8.0_281 4配置mapred-site.xml 开启mapreduce的小任务模式该模式是 2.x 开始引入的以Uber模式运行 MR 作业所  有的 Map Tasks 和 Reduce Tasks 将会在 ApplicationMaster 所在的容器container中运行。如果数据量不是非常大我们就可以开启小任务模式这样可以提高2-3倍的效率。 propertynamemapreduce.job.ubertask.enable/namevaluetrue/value/property历史任务服务器的主机地址通过该地址可以访问到我们曾经计算过的任务、结果及信息。propertynamemapreduce.jobhistory.address/namevaluenode01:10020/value/property设置通过网页访问历史任务的主机和端口propertynamemapreduce.jobhistory.webapp.address/namevaluenode01:19888/value/property 5配置yarn-site.xml文件 配置yarn主节点的位置propertynameyarn.resourcemanager.hostname/namevaluenode01/value/propertyNodeManager上运行的附属服务只有我们配置为下方的值才可以运行MR程序默认值是””。propertynameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/value/property开启日志聚合功能将各种日志汇总在一起进行显示。propertynameyarn.log-aggregation-enable/namevaluetrue/value/property设置聚合日志保存的时间单位秒propertynameyarn.log-aggregation.retain-seconds/namevalue604800/value/property设置yarn集群的内存分配方案表示在节点上Yarn可使用的物理内存Mpropertynameyarn.nodemanager.resource.memory-mb/namevalue20480/value/property单个容器可申请的最小与最大内存propertynameyarn.scheduler.minimum-allocation-mb/namevalue2048/value/property在物理内存不够用的情况下如果占用了大量虚拟内存并且超过了一定阈值那么就认为当前集群的性能比较差直接让你的终端报个错提醒你。propertynameyarn.nodemanager.vmem-pmem-ratio/namevalue2.1/value/property 6修改mapred-env.sh export JAVA_HOME/opt/software/jdk1.8.0_281 7修改slaves配置我们的从机 node01  node02  node03 8前面配置好后我们需要自己创建目录 目录结构如下 [rootnode01 hadoop-2.7.5]# mkdir hadoopDatas[rootnode01 hadoop-2.7.5]# cd hadoopDatas/[rootnode01 hadoopDatas]# ls[rootnode01 hadoopDatas]# mkdir datanodeDatas[rootnode01 hadoopDatas]# mkdir datanodeDatas2[rootnode01 hadoopDatas]# mkdir namenodeDatas2[rootnode01 hadoopDatas]# mkdir namenodeDatas[rootnode01 hadoopDatas]# mkdir -p dfs/snn[rootnode01 hadoopDatas]# cd dfs/snn/[rootnode01 snn]# mkdir edits[rootnode01 snn]# mkdir name[rootnode01 snn]# cd ..[rootnode01 dfs]# cd ..[rootnode01 hadoopDatas]# mkdir -p nn/edits[rootnode01 hadoopDatas]# mkdir tempDatas[rootnode01 hadoopDatas]# tree.├── datanodeDatas├── datanodeDatas2├── dfs│?? └── snn│??     ├── edits│??     └── name├── namenodeDatas├── namenodeDatas2├── nn│?? └── edits└── tempDatas11 directories, 0 files PS注意此处的文件夹在你的Hadoop安装路径下面 9分发安装内容 做一个文件的分发将整个hadoop安装目录分发给node02和node03节点上去。 进入opt目录后执行分发命令 scp -r hadoop-2.7.5 node02:/opt/software 此处选择需要Copy到node02节点的那个目录当中。 scp -r hadoop-2.7.5 node03:/opt/software 10三台机器配置hadoop环境变量 export JAVA_HOME/opt/software/jdk1.8.0_281export ZOOKEEPER_HOME/opt/software/zookeeperexport HADOOP_HOME/opt/software/hadoop-2.7.5export PATH:$JAVA_HOME/bin:$PATH:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 别忘记用source /etc/profile使环境变量生效。 11启动集群 概述主要是启动两个模块hdfs和yarn。一定要注意首次启动HDFS的时候一定要对其进行格式化操作。本质上是一些清理和准备工作会准备一些集群必备的文件等因为此时的HDFS在物理上还是不存在的。 第一台机器执行如下操作 进入到hadoop的安装目录中 cd /opt/software/hadoop-2.7.5 进行格式化 bin/hdfs namenode -formatsbin/start-dfs.sh 停止命令只要把start换成stop即可 从节点用jps看一下启动成功有一个DataNode。 sbin/start-yarn.shsbin/mr-jobhistory-daemon.sh start historyserver 三个端口查看界面 http://node01:50070/explorer.html# 查看hdfshttp://node01:8088/cluster 查看yarn集群http://node01:19888/jobhistory 查看历史完成的任务 windows访问不到node01所以需要配置hosts 可以换成 http://192.168.1.131:50070/explorer.html#/http://192.168.1.131:8088/clusterhttp://192.168.1.131:19888/jobhistory 备注配置文件太多所以我们要远程修改Linux的文件太麻烦了所以我们采用npp进行远程登录。 总结 以上就是今天的内容~ 欢迎大家点赞收藏⭐转发 如有问题、建议请您在评论区留言哦。 最后转载请注明出处
http://www.tj-hxxt.cn/news/138638.html

相关文章:

  • 深圳建站的公司上海园区虚拟地址一览表
  • 张家港网站建设做网站徐州网站简介
  • 建工网官方网站wordpress防转载
  • 优化 网站访问速度益阳市网站建设
  • 免费合同模板网站网页设计与网站的关系
  • 河南第一火电建设公司网站一个人制作网站
  • 便利的龙岗网站设计建设和住房保障部 网站
  • 网站开发费 无形资产阿里云 win wordpress 伪静态
  • dedecms医院网站wap模板(橙色)4512345做销售如何在网站上搜集资料
  • 什么APP可以做网站ps软件电脑版
  • 全景网站如何建设重庆网站的建设
  • 网站做下子压缩文件的链接wordpress繁体中文
  • 郑州企业网站怎么优化广州网站优化指导
  • 网络营销公司策划方案网站怎样优化文章关键词
  • 免费网站建设培训班泰安刘明是怎么挨办的
  • 网站快照海陵区建设局网站
  • 徐州开发区中学网站西安 美院 网站建设
  • 哪些网站可以免费备案域名购买腾讯云
  • 北京网站设计制作教程网站开发一般有几个服务器
  • 汤姆叔叔官方网站建设wordpress+程序优化
  • 公众平台的微信网站开发关于做甜品的网站
  • domino 网站开发排名网站
  • 违法人员都是怎么建设网站的开封建设教育协会网站
  • 网站开发费属于软件费吗济南百度推广seo
  • 网站开发响应式专业培训机构
  • 低成本网站制作编辑wordpress菜单
  • 哪些网站布局设计做的比较好的网上做网站网站吗
  • 个人网站注册名称口碑好的五屏网站建设
  • 做网站充值微信必须是企业安顺市住房与城乡建设局网站
  • 苏州市吴江区建设局网站潍坊市建设工程质量安全监督站网站