hadoop中的hdfs-site.xml修改后会立马生效吗?如果修改后,不重启再修改副本数,以前的副本数还会动态修改吗

hadoop中的hdfs-site.xml修改后会立马生效吗?如果修改后,不重启再修改副本数,以前的副本数还会动态修改吗,第1张

刚才在hadoop2.6.5版本分布式集群环境试了一下:

修改hdfs-site.xml文件的dfs.replication值后,不重启hadoop集群,上传马上生效。

不重启,对于修改dfs.replication值之前的文件备份数不会变动。

重启后,对于修改dfs.replication值之前的文件备份数也不会变动。

我有两个datanode节点,测试的时候,先设置dfs.replication的值为1,后来改为2。

但是如果是由2变为1的话,hadoop也不会帮你将原先两个备份删掉一份的。

Hadoop对硬盘挂载有一些要求,以下是主要的要求:

1. 建议使用直接附加存储(DAS)设备来挂载硬盘而不是网络附加存储(NAS)设备。因为DAS设备拥有更高的性能和更低的延迟,以支持Hadoop的高吞吐量和低延迟的工作负载。

2. Hadoop要求硬盘必须使用本地文件系统,例如 ext3 或 ext4,文件系统要支持透明的数据压缩,这样会在数据存储和传输过程中节省带宽和磁盘空间。

3. 硬盘必须能够提供Hadoop所需的带宽,延迟和吞吐量。Hadoop的分布式文件系统(HDFS)有着高度吞吐量的要求,因此在挂载硬盘时,需要考虑到节点之间的数据传输速度问题。

4. 每个节点需要挂载相同容量的硬盘,并按照Hadoop集群管理规则对其进行格式化和分区。为了提高容错性,建议在每个节点上挂载至少两个硬盘,分别作为数据存储和日志存储。

5. 需要为Hadoop分配足够的存储空间,以容纳集群数据和运行时所需的文件,例如HDFS副本,配置文件等等。

综上所述,通过使用本地的直接附加存储(DAS)设备,选择合适的文件系统格式,提供足够容量的硬盘,并考虑节点之间的数据传输速度问题等,可以达到Hadoop对硬盘挂载的要求。

原理: 数据冗余方案实质上是通过增加block数据副本数来防止block丢失,通过牺牲存储来保证数据安全。本方案主要针对于解决异常情况一。hadoop集群目前默认设置的数据副本数为3,也就是说最多能同时容忍不同主机的二块盘出现损坏,当出现不同主机三块盘同时损坏时,就可能出现block丢失情况。

方法:

(1)hadoop 集群动态设置 block 副本:

将/user文件夹下的数据设置5个副本:

(2)hadoop 集群整体提高 block 副本数方法:

通过ambari修改hdfs配置文件:

可以修改为5,则设置集群数据副本数为5.

保存并重启hdfs生效。

注:这样即使三台主机的磁盘出现损坏,这个文件夹的数据也不会丢。除非同时五台主机的磁盘出现损坏,这个文件夹下的数据才可能丢失。

原理: 当一个主机的磁盘出现损坏时,集群会立刻对这块盘上的数据通过副本机制恢复到其它主机上。磁盘存储数据量越大,恢复时间会随之增长。我们通过优化hadoop集群的副本恢复参数来提升它的副本恢复速度,从而整体缩短副本恢复时间。本方案主要针对于解决异常情况二,防止出现数据恢复过程中的数据丢失。

方法:

通过ambari添加如下参数:

通过ambari保存配置并重启hdfs服务即可。

原理:hadoop 集群配置机架感知后,同一机架内的所有主机只存储block数据的1~2个副本,总会有一个副本在其它机架。当同一机架内多个主机出现坏盘情况时,至少还有一个block副本可以提供访问和恢复,不会出现block数据丢失情况。

方法:

hadoop集群本身自带机架感知功能,在集群部署是没有使用的话,那么集群所有主机默认在一个机架下: /default-rack

可以通过ambari添加机架感知功能,具体 *** 作如下(两种方法,选其中一个即可):

单个主机设置:

批量设置:

2. 设置完成后,需要重启hdfs 、mapreduce。

3.查看机架命令:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11673301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存