第三课《3 分布式文件系统:HDFS 基础与应用》

第三课《3 分布式文件系统:HDFS 基础与应用》 的相关问题都在下面进行提问回帖
1、大家在这个帖子上回复自己想要提的问题。(相同的问题,请点赞表示自己关注这个问题,不用重复提问)
2、提出的问题,老师在直播课的最后30分钟统一回答。
3、课后会整理出参考答案,给每个问题回帖。
第三课满意度调查问卷
https://wj.qq.com/s/978283/5d19
或扫描二维码
660257003629274235.jpg


 

joan2016

赞同来自: iwlgc88

能否讲一下hdfs的安全问题?

kafei

赞同来自: 毅揽乾坤

先用sqoop向hdfs同步了数据库中的全量数据,然后用canal收集增量数据,如何做才能保证canal收集的增量数据刚好是sqoop同步完成之后的数据,既不会多也不会少。必须数据库中每张表都增加1个时间字段吗,sqoop只同步某个时间段之前的数据?

zxiaozzzz

赞同来自: wangmiao058

平时开发是在本地开发比较好还是在服务器上开发比较好呢? 本地开发没数据,线上开发没ide,如何取舍? 代码写完每次都要打包,有什么好的自动化方案吗?

徐凯

赞同来自: wangmiao058

那有一台机器数据丢失了,hadoop 补齐副本了,后来该机器又启动起来了,现在是总共有几份副本?

jhg22

赞同来自:

flume采集数据时,会在hdfs产生一些小文件,合并这些小文件:有下面两种方案: 1.写hdfs的命令去合并  hadoop fs -cat hdfs://cdh5/tmp/lxw1234/*.txt | hadoop fs -appendToFile - hdfs://cdh5/tmp/hdfs_largefile.txt 2.写mr去合并(适用数据量大的情况) 哪种方案更好呢?为什么?

jhg22

赞同来自:

请教大家一个问题?hadoop生态系统中的组件你们都是用hdp中的ambari来管理起来的吗?还是自己写程序来管理?   如下图,flume的版本,还是1.5.2  ....,只能单独来装flume1.7.0 了。  
1.png
     

kafei

赞同来自:

通过flume往hdfs同步日志数据,是先往hdfs产生小文件再合并成大文件比较好,还是直接向hdfs生成大文件(如设置sink.hdfs.rollSize=1G)比较好,个人认为后一种方式减少了合并大文件的过程,只是不知道有什么缺点   另外hdfs不适合数据的更新操作,数据库中的数据(如用户信息、订单状态信息)经常会发生更新,如果这些数据已经同步到hdfs上,如何更新。

iwlgc88

赞同来自:

老师,我对client听的不是很清楚,您说它是来切文件的,是在执行put命令的时候就切成block然后再放到hdfs里吗?

com.張

赞同来自:

老师,请问一下,HDFS备份,为什么会在同一个节点上备份一份信息,如果那个节点坏掉不是会同时把主数据和一个备份数据同时丢失吗。

V5555555

赞同来自:

生产环境,现有集群的的block大小是128M,现在直接修改为64M会有什么影响?

auferack08

赞同来自:

请问hdfs中存储很多parquet格式的小文件,如何合并呢?

V5555555

赞同来自:

怎么设置热点数据的副本数?

Happywan

赞同来自:

HDFS中Namenode如何知道各个Datanode所处的机架并对写入的文件分配节点的?配置文件中可以指定datanode所在rack吗?

DavidWangHadoop

赞同来自:

请问随着集群中block量的增多,愿数据不断增大,如果达到namenode内存的上限,采用redis cluster来对namenode的内存做扩容和管理可以吗?有什么其他更好的方案吗?

slave_wz

赞同来自:

三个副本以上的 其他副本 是随机在本机架中选择,还是在整个网络中选择?

天..

赞同来自:

如果每个block默认128m,文件实际为10m。那么该文件存储道hdfs内占用的硬盘空间是10m还是128m。

hatakawas

赞同来自:

我现在Flume系统,用的是Spooling Directory Source,  File Channel,  Hdfs sink.  遇到的情况是,spool中的文件很快被消费完全了,这个时候,数据应该是在Channel中缓存着的。 问题 1 是数据从Channel通过Sink进入hdfs的速率很缓慢,这个需要怎么去优化呢,能否提供一下思路? 在hdfs 中使用 hdfs dfs  -cat /path/to/files/* |wc -l 的时候,能够看到数量在持续增多。 问题 2 是虽然通过以上命令查看到hdfs中已经有 5w 条数据了,但是用Spark SQL查询出来的数据却会小于 5w,难道并不是 5w 条数据此时都已进入hdfs系统么?   以上。 

dl0218

赞同来自:

Java 的 HDFS的程序如果使用第三方jar,如何打包? 有人说使用distributed缓存放置这些第三方jar,可行吗?Distributed缓存是不能更新的,如过程序使用的第三方jar升级了,如何处理?

一敏阳光

赞同来自:

1、hdfs对与小文件(独立文件,不可合并)存储,有什么好的解决方案吗? 2、需要频繁地往hdfs写入文件,如何缓解hdfs的压力 2、namenode的activenode和standbynode可以在同一个节点吗

朱月军

赞同来自:

在windows下用eclipse写spark程序打包放到集群中去运行,和在linux下写程序打包运行会有差别吗?

中国好小伙

赞同来自:

namenode如果发现有节点挂掉就会从邻近的节点拷贝数据副本,那如果之后挂掉的节点起来了,这个时候是不是文件的副本数就变成4了,hdfs会 执行删除吗?如果不删除,经常挂节点的话,岂不是hdfs中会存在很多的文件副本

zxiaozzzz

赞同来自:

一个文件有几个block要怎么看呢

sunjiabin

赞同来自:

请问老师 hadoop 2.2 设置 dfs.balance.bandwidthPerSec  参数不生效

mayibo_123 - 90houIT

赞同来自:

按照第二节课测试flume,想问一下上传到hdfs中的文件大小和文件生成时间依据的是什么?查看官网资料是说以下三个参数有关: hdfs.rollInterval   30                 Number of seconds to wait before rolling current file (0 = never roll based on time interval) hdfs.rollSize       1024              File size to trigger roll, in bytes (0: never roll based on file size) hdfs.rollCount    10                  Number of events written to file before it rolled (0 = never roll based on number of events) 但是看到/flume/record/中目录下的每个文件的大小和时间并没有什么规律,具体情况如附件图片所示,flume agent的配置就是按照课堂提供的配置: logAgent.sources = logSource logAgent.channels = fileChannel logAgent.sinks = hdfsSink # For each one of the sources, the type is defined logAgent.sources.logSource.type = exec logAgent.sources.logSource.command = tail -F /home/hadoop/hadooptraining/datasource/record.list # The channel can be defined as follows. logAgent.sources.logSource.channels = fileChannel # Each sink's type must be defined logAgent.sinks.hdfsSink.type = hdfs logAgent.sinks.hdfsSink.hdfs.path = hdfs://nn01:9000/flume/record/%Y-%m-%d/%H%M logAgent.sinks.hdfsSink.hdfs.filePrefix= transaction_log logAgent.sinks.hdfsSink.hdfs.rollInterval= 600 logAgent.sinks.hdfsSink.hdfs.rollCount= 10000 logAgent.sinks.hdfsSink.hdfs.rollSize= 0 logAgent.sinks.hdfsSink.hdfs.round = true logAgent.sinks.hdfsSink.hdfs.roundValue = 10 logAgent.sinks.hdfsSink.hdfs.roundUnit = minute logAgent.sinks.hdfsSink.hdfs.fileType = DataStream logAgent.sinks.hdfsSink.hdfs.useLocalTimeStamp = true #Specify the channel the sink should use logAgent.sinks.hdfsSink.channel = fileChannel # Each channel's type is defined. logAgent.channels.fileChannel.type = file logAgent.channels.fileChannel.checkpointDir= /mnt/flume/checkpoint logAgent.channels.fileChannel.dataDirs= /mnt/flume/data   按照上述配置,我的理解是每10分钟生成一个新的文件或者一个文件的events数达到10000生成一个新的文件,不知是否是这样理解。  

wqk151

赞同来自:

老师好,如果原有的namenode内存不足,需要添加新的namenode 组成federation,两个namenode分管不同的block信息,怎么分配这些老namenode上的元信息到新的namenode,有什么分配策略?

wqk151

赞同来自:

老师好,Hadoop集群,用做raid吗?我们服务器上做的是raid50,请问下这几种:不做raid、raid0、raid50根据哪些因素作选择??

joan2016

赞同来自:

老师好,logstash 和 flume如何选择呢,谢谢!

要回复问题请先登录注册