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

发布php做的网站整站优化系统厂家

发布php做的网站,整站优化系统厂家,短视频拍摄培训课程,做网站在自己电脑建立虚拟机本文参考其他大数据大牛的博文做了整理和实际验证,主要解决hdfs跨集群复制/迁移问题。 在hdfs数据迁移时总会涉及到两个hdfs版本版本问题,致力解决hdfs版本相同和不同两种情况的处理方式,长话短说,进正文。 distcp: hadoop自带的…

本文参考其他大数据大牛的博文做了整理和实际验证,主要解决hdfs跨集群复制/迁移问题。
在hdfs数据迁移时总会涉及到两个hdfs版本版本问题,致力解决hdfs版本相同和不同两种情况的处理方式,长话短说,进正文。

distcp: hadoop自带的分布式复制程序

​ distcp 是hadoop自带的分布式复制程序,该程序可以从 Hadoop 文件系统间复制大量数据,也可以将大量的数据复制到 Hadoop 中。

​ distcp 的典型应用场景是在两个 HDFS 集群之间传输数据。

情况1:Hdfs版本相同(如果两个集群运行相同版本的 Hadoop,就非常适合使用 hdfs 方案):

hadoop distcp hdfs://namenode1/foo hdfs://namenode2/bar#这行指令把第一个集群 /foo 目录(及其内容)复制到第二个集群的 /bar 目录下,所以第二个集群最后的目录结构是 /bar/foo。如果 /bar 不存在,则新建一个。也可以指定多个源路径,并把所有路径都复制到目标路径下。
#注意,源路径必须是绝对路径。

情况2:Hdfs版本不同(使用基于只读 HTTP 协议的 HFTP 文件系统并从源文件系统中读取数据):

如果试图在两个运行着不同 HDFS 版本的集群上使用 distcp 复制数据并使用 hdfs 协议,会导致复制作业失败,因为两个系统版本的 RPC 是不兼容的。

想要弥补这种情况,可以使用基于只读 HTTP 协议的 HFTP 文件系统并从源文件系统中读取数据。

这个作业必须运行在目标集群上,进而实现 HDFS RPC 版本的兼容。

hadoop distcp hftp://namenode1:50070/foo hdfs://namenode2/bar#注意,需要在 URI 源中指定 namenode 的 Web 端口。这是由 dfs.http.address 属性决定的,其默认值为50070
#这个作业必须运行在目标集群上,进而实现 HDFS RPC 版本的兼容。

情况3:不考虑hdfs版本

使用 webhdfs 协议(替代hftp)后,对源集群和目标集群均可以使用HTTP协议进行通信,且不会造成任何不兼容的问题

hadoop distcp webhdfs://namenodel: 50070/foo webhdfs://namenode2:50070/bar

另外一个变种是使用 HDFS HTTP 代理服务作为源 distcp 或者目标 distcp,进而具备了设置防火墙和控制带宽的优点。

distcp 的选项
在默认情况下, distcp 会跳过目标路径下已经存在的文件,但可以通过 -overwrite 选项覆盖现有的文件。也可以通过 -update 选项来选择有改动的文件。
使用 -overwrite 和 -update 选项中任意一个(或两个)需要改变源路径和目标路径的解释方式如果改变先前例子中第一个集群 /foo 目录下的一个文件,就会进行下面的命令将修改同步到第二个集群上:hadoop distcp -update hdfs://namenodel/foo hdfs://namenode2/bar/foo 因为源目录下的内容已被复制到目标目录下,所以需要在目标路径中添加额外的子目录 /foo。
(如果对 rsync 命令比较熟悉,可以认为 -overwrite 或 -update 选项就是在源路径末尾添加一个斜杠。)有很多选项可以用来控制 distcp 的复制方式,包括保留文件属性,忽略节点故障和限制文件或总数据的复制量。不带任何选项运行时,将显示使用说明。
distcp 的底层原理

​ distcp 是作为一个 MapReduce 作业来实现的,该复制作业是通过集群中并行运行的 map 来完成。这里没有 Reducer。

每个文件通过一个 map 进行复制,并且 distcp 试图为毎一个 map 分配大致相等的数据来执行,即把文件划分为大致相等的块。map 的数量是这样确定的。让每一个 map 复制合理的数据量来尽量减少构建任务时所涉及的开销,这是一个很好的想法,所以每个 map 至少复制256MB数据(除非输入的总数据量较少,否则一个 map 就可以完成所有的复制)。例如,将 1GB 大小的文件分给4个map任务。如果数据非常大则有必要限制 map 的数量进而限制带宽和集群的使用。默认情况下,每个集群节点最多分配20个map任务。例如,将 1000GB 的文件复制到一个由 100 个节点组成的集群,一共分配 2000 个 map 任务(每个节点 20 个 map 任务),所以每个map任务平均复制 512MB 数据。通过对 distcp 指定 -m 参数,可以减少分配的map任务数。例如,-m 1000 将分配 1000 个 map 任务,每个平均复制 1GB 数据

学习参考:https://blog.csdn.net/Shockang/article/details/117729852

http://www.ds6.com.cn/news/124319.html

相关文章:

  • 政府网站建设人员的组织怎么在百度做免费推广
  • 计算机应用技术专业网站seo优化网站
  • 厦门seo网站关键词优推广长沙疫情最新消息今天封城了
  • 做数学题赚钱的网站阿里云盘资源搜索引擎
  • 做个网站多少钱一年培训机构还能开吗
  • 点胶喷嘴技术支持东莞网站建设搜索引擎优化实训心得
  • 一个空间怎么做两个网站 跳转seo关键词优化软件怎么样
  • 山西做网站流程步骤百度老旧版本大全
  • 网站数据库修改密码要怎么做可以免费发外链的论坛
  • 公司商城网站建设阿里妈妈推广网站
  • 弥勒网站开发打开网址资料网站
  • 装饰公司网站建设深圳seo优化方案
  • 做网站建设需要什么工具国外网站加速
  • 省政府网站群建设研究关键词百度云
  • 网站布局优化怎么做口碑营销怎么做
  • 做刷票的网站关键词首页排名优化公司推荐
  • 网站 猜你喜欢 怎么做福建百度推广开户
  • 付钱做编程题目的网站如何在百度上发布自己的广告
  • wordpress 404宝塔杭州优化关键词
  • 浙江华企做的网站效果如何网络营销seo优化
  • 开发网站网络公司排行链接检测工具
  • 怎样增加网站收录量电商运营怎么自学
  • 做网站外包游戏代理加盟
  • 大气红色网站seo网站建设公司
  • 石家庄网站seo顾问seo网站关键词优化方法
  • 专业积分商城网站建设学校网站建设哪家好
  • 北京随喜设计网站优网营销
  • 乌镇旅游攻略自由行seo学校培训
  • wordpress 模板 中文网站seo优化步骤
  • 网站站建设建设中页中页百度广告联盟价格