HDFS的副本数量配置

2023-10-31

众所周知,hdfs的默认副本数量是3个,配置在/etc/hadoop/conf/hdfs-site.xml

  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>

我们也可以通过hdfs dfs -ls /path/to/file 命令查看hdfs上的文件:

文件类型会在第二列显示副本数量3,第五列显示文件大小,目录因为是由namenode维护的,所以没有副本数量,显示为-

如果想修改全局副本数量,只需要修改上面的hdfs-site.xml中的配置然后重启hdfs即可,修改完成后:

1. 若hdfs中副本数量没有达到配置的数量则会自动进行备份,此时datanode节点之间会大量复制文件,集群性能会暂时受到影响。

2. 若hdfs中副本数量多于配置的数量,比如原来是3,修改为2,则已存在的副本不会被删除,只会对后续新增的文件使用新的配置。如果希望修改配置后,原有多出来的副本释放空间则可以执行balancer命令,后面会详细介绍。

 

当然也可以指定文件/目录设置副本数量,执行下面的命令:

hdfs dfs -setrep -w 5 [-R] /path/to/file

其中5就是修改后的备份数量,-R为可选项若后面的参数为目录则子文件夹全部都按此策略备份。

 

还有一个HDFS的命令可以查看目录下的数据块详细比例以及副本数量分布,我这里使用的是hadoop3版本,所以会多个擦除码(Erasure Coded)这一栏:

hdfs fsck /tmp

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HDFS的副本数量配置 的相关文章

  • 在 R 中高效复制矩阵

    我有一个矩阵 并寻找一种有效的方法来将其复制 n 次 其中 n 是数据集中的观测值数量 例如 如果我有一个矩阵 A A lt matrix 1 15 nrow 3 然后我想要一个表单的输出 rbind A A A n times 显然 有很
  • 用于复制的 EBS 卷的快照

    我在 EBS 卷上设置了一个带有 MySQL 的 EC2 实例 并设置了另一个充当复制从属实例 复制设置很好 我的问题是关于拍摄这些卷的快照 我注意到快照过程需要锁定表 这可能会给用户带来不便 因此 我的想法是保留主实例并拍摄作为从实例的快
  • 如何将小型 ORC 文件组合或合并为较大的 ORC 文件?

    SO 和网络上的大多数问题 答案都讨论使用 Hive 将一堆小 ORC 文件合并为一个较大的文件 但是 我的 ORC 文件是按天分隔的日志文件 我需要将它们分开 我只想每天 汇总 ORC 文件 HDFS 中的目录 我最有可能需要用 Java
  • Django 1.8 与 Postgres BDR 9.4.1 的迁移

    我正在尝试使用 BDR 在 Postgres 数据库上运行 Django 迁移 python manage py makemigrations 工作正常 但正在运行 python manage py migrate 结果出现以下错误 ALT
  • Hadoop 块大小 vs 分割 vs 块大小

    我对 Hadoop 的概念有点困惑 有什么区别Hadoop Chunk size Split size and Block size 提前致谢 块大小和块大小是一样的 分体尺寸可能不同于块 块 size 地图缩减算法不适用于文件的物理块 它
  • 尝试在 h5py 中打开 pandas 创建的 hdf 时缺少列

    这就是我的数据框的样子 第一列是一个整数 第二列是 512 个整数的单个列表 IndexID Ids 1899317 0 47715 1757 9 38994 230 12 241 12228 22861131 0 48156 154 63
  • HDFS 作为 cloudera 快速入门 docker 中的卷

    我对 hadoop 和 docker 都很陌生 我一直致力于扩展 cloudera quickstart docker 镜像 docker 文件 并希望从主机挂载一个目录并将其映射到 hdfs 位置 以便提高性能并将数据保存在本地 当我在任
  • 使用 Elasticsearch 搜索 Mysql 表

    假设我有以下 费用 MySQL 表 id amount vendor tag 1 100 google foo 2 450 GitHub bar 3 22 GitLab fizz 4 75 AWS buzz 我正在构建一个 API 该 AP
  • Namenode-HDFS 出现“连接被拒绝”错误(Hadoop 问题)

    当我们看到使用时 我的所有节点都已启动并运行jps命令 但我仍然无法连接到 hdfs 文件系统 每当我点击Browse the filesystem在 Hadoop Namenode localhost 8020 页面上 我得到的错误是Co
  • hadoop/hdfs/name 处于不一致状态:存储目录(hadoop/hdfs/data/)不存在或不可访问

    我已经尝试了 stackoverflow 上提供的有关此主题的所有不同解决方案 但没有帮助 再次询问具体的日志和详细信息 任何帮助表示赞赏 我的 Hadoop 集群中有 1 个主节点和 5 个从节点 ubuntu用户和ubuntu组是所有者
  • 格式化 HDFS 时出现 UnknownHostException

    我已经使用以下命令在伪分布式模式下在 CentOS 6 3 64 位上安装了 CDH4指示 https ccp cloudera com display CDH4DOC Installing CDH4 on a Single Linux N
  • 如何将位于 HDFS 上的类型安全配置文件添加到 Spark-Submit(集群模式)?

    我有一个 Spark Spark 1 5 2 应用程序 它将数据从 Kafka 流式传输到 HDFS 我的应用程序包含两个 Typesafe 配置文件来配置某些内容 例如 Kafka 主题等 现在我想在集群中使用spark submit 集
  • 如何从java通过hdfs协议访问hadoop?

    我找到了一种通过以下方式连接到hadoop的方法hftp 并且工作正常 只读 uri hftp 172 16 xxx xxx 50070 System out println uri uri Configuration conf new C
  • Spark 作业在 YARN 模式下失败

    我有一个用 Scala 编写的 Spark 程序 它从 HDFS 读取 CSV 文件 计算新列并将其保存为 parquet 文件 我正在 YARN 集群中运行该程序 但每次我尝试启动它时 执行程序都会在某个时候失败并出现此错误 您能帮我找出
  • Mongodb 复制主日志中的“[conn557392] Killcursors:找到 0 of 1”

    我现在正在运行 2 6 版本的生产 mongodb 复制 今天我发现主mongod实例不断写日志 conn557392 killcursors found 0 of 1 我检查了db serverStatus metrics cursor
  • 无法使用 PDI 步骤连接到 HDFS

    我已经配置成功了Hadoop 2 4 in an Ubuntu 14 04 虚拟机 from a 视窗8系统 Hadoop 安装工作绝对正常 而且我还可以从 Windows 浏览器查看 Namenode 附图如下 所以 我的主机名是 ubu
  • 从只读 couchdb 复制

    我有一台服务器 其中包含一个 couchdb 数据库 其中包含我的应用程序所需的信息 它包含几兆字节的内容 一些每天都会变化的文档 添加最新新闻 删除旧文档 更新一些文档 应用程序会尽可能与服务器数据库同步 以便离线使用此信息 然而 这些信
  • 用于 C# 和 iPhone 应用程序的 MongoDB

    我正处于设计应用程序的初始阶段 该应用程序将具有用 C 实现的后端 该后端将使用 IIS 上托管的 WCF Web 服务为其他平台提供数据 iPhone 就是其中之一 由于是个人项目 所以想用它来学习MongoDB 我已经知道有社区开发的
  • 本地 Postgres 实例和 Azure Cloud Postgres 实例之间的实时同步

    我需要在本地 postgresql 实例与云 postgresql 实例之间设置实时同步过程 请让我知道我可以通过哪些选项来实现它 我是否必须使用任何特定工具或者可以通过复制进行管理 请指教 使用 PgPool http www pgpoo
  • Apache ZooKeeper:写入如何工作

    Apache ZooKeeper 是一种针对小对象的高可用数据存储 ZooKeeper 集群由一些节点组成 这些节点都将整个数据集保存在内存中 该数据集被称为 始终一致 因此每个节点每次都有相同的数据 根据文档和博客文章 http www

随机推荐