草庐IT

hdfs_clusters

全部标签

azure - 域加入 HdInsight 集群 hdfs 用户权限

我已经创建了一个加入域的HdInsight集群。这在允许我的activedirector中的用户使用他们的AD凭据登录到集群方面非常有效。但是,似乎并没有限制用户访问各种文件/目录的方法。用户1对用户2的文件具有完全访问权限,反之亦然。我最初的希望是使用Ranger为各种用户/组配置HDFS权限-但是,考虑到后端的blob存储,这似乎不太可能。我也尝试过使用诸如“hadoopfs-chown”之类的命令来设置用户/组/其他权限,但是,当通过ssh进入集群(头节点)时,所有用户似乎都可以为所欲为。这是预期的行为吗?有没有办法限制用户访问HDFS上的各种目录?不幸的是,在后端使用Azure

hadoop - 如何决定在 HDFS 中使用的集群大小和实例类型?

如何在HDFS中决定集群大小、节点数量、要使用的实例类型以及每台机器的硬件配置设置?如果可能,请解释如何处理10TB的数据。例如如果我们有10TB的数据,那么标准的集群大小、节点数量以及可以在hadoop中使用的实例类型应该是多少? 最佳答案 我已经使用Hadoop几年了。首先,查看此Hortonworks指南:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.3/bk_cluster-planning/content/ch_hardware-recommendations

java - Spark 流式传输和模拟 hdfs

需要为Spark流代码实现测试。此特定代码使用thislibrary在单独的jvm中运行上述应用程序的输入是hdfs。我已经像这样启动了MiniDFSClusterexample(javaversion)但我不认为它会起作用,因为它们在两个不同的JVM中。如果我要成功测试spark流代码,模拟hdfs输入的最佳方法是什么。我大致解释了上面的场景。真正的要求是实现一个成功的cucumber测试。 最佳答案 您可以在本地模式下运行Spark并指定诸如“file:///foo/bar”之类的路径,而不是尝试模拟hdfs-然后将使用本地文件

hadoop - 至少一个文件系统不支持 ACL : Distcp HDFS

Asperdistcpdocumentation->If-paisspecified,DistCppreservesthepermissionsalsobecauseACLsareasuper-setofpermissions.buthadoopdistcp-pa-delete-update/src/path/dest/path/isfailingwithACLsnotsupportedonatleastonefilesystem.Completelogsbelow上面的命令执行失败。预期是使用ACL将hdfs文件从源复制到目标。org.apache.hadoop.tools.Copy

hadoop - 将 Hive 表导出到 hdfs 中的 csv/tsv

我使用以下代码以csv/tsv格式将表从配置单元导出到hdfs。INSERTOVERWRITEDIRECTORY'/user/xyz/dem_data/science_data'ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'LINESTERMINATEDBY'\n'STOREDASTEXTFILESELECT*FROMscience_data;当我在hdfs中查看复制的文件时,我看到很多这样的字符??=%??0notherepisod?/aAj%?is?a???$ofJhorse!de9?amA?se0(我不确定出了什么问题。我是否需要对此进行某种编码

docker - docker 中的 Kafka 连接和 HDFS

我在docker-compose中使用kafkaconnectHDFSsink和Hadoop(用于HDFS)。Hadoop(名称节点和数据节点)似乎工作正常。但是kafkaconnectsink出现错误:ERRORRecoveryfailedatstateRECOVERY_PARTITION_PAUSED(io.confluent.connect.hdfs.TopicPartitionWriter:277)org.apache.kafka.connect.errors.DataException:Errorcreatingwriterforlogfilehdfs://namenode:

hadoop - 从一个集群到另一个集群的 HDFS 数据传输不适用于 distcp

我需要将HDFS数据从一个集群传输到另一个集群。我看到“distcp”命令对这种情况有帮助。但事实并非如此。两个集群Namenode都与其他数据节点私下互连。所以我有两台代理机器与名称节点公开连接。比如说,我让namenode的8070端口在haproxy中运行在20000以下。现在我可以ping两个集群名称节点了。所以,我选择了distcp选项。mapreduce作业开始执行数据传输,但尚未完成。[hdfs@ip-20-0-42-252~]$hadoopdistcphdfs://YY.YY.YY.YY:20000/user/ce_prasith/filter.txthdfs://xx

hadoop - 如何使用Flume将数据实时写入HDFS?

我正在使用Flume将传感器数据存储在HDFS中。一旦通过MQTT接收到数据。订阅者将JSON格式的数据发布到FlumeHTTP监听器。它目前工作正常,但问题是水槽在我停止它之前不会写入HDFS文件(或者文件大小达到128MB)。我正在使用Hive在读取时应用模式。不幸的是,生成的配置单元表仅包含1个条目。这是正常的,因为Flume没有将新的数据写入文件(由Hive加载)。有什么方法可以强制Flume以近乎实时的方式将即将到来的新数据写入HDFS?所以,我不需要重新启动它或使用小文件?hereismyflumeconfiguration:#Namethecomponentsonthis

hadoop - 在Hive更新期间HDFS中发生了什么(真的)?

情况如下:已知hdfs是仅附加的(本身没有更新)。配置单元将数据写入其位于hdfs中的仓库。可以在配置单元中执行更新这意味着写入了新数据,旧数据应该以某种方式标记为已弃用,然后在某个时间将其清除。我搜索了一下,但到目前为止没有找到任何有关这方面的信息。 最佳答案 表的数据存储在一组基本文件中。新记录、更新和删除存储在增量文件中。为每个更改表的事务创建一组新的增量文件。在读取时,读取器合并基文件和增量文件,在读取时应用任何更新和删除。随后,主压缩按周期性时间间隔将较大的增量文件和/或基文件合并到另一个基文件中,这将加快进一步的表扫描操

scala - 配置后端状态以使用 hdfs 时出错

我正在尝试将后端状态设置为hdfsvalstateUri="hdfs/path_to_dir"valbackend:RocksDBStateBackend=newRocksDBStateBackend(stateUri,true)env.setStateBackend(backend)我正在运行具有以下依赖项的flink1.7.0(我尝试了所有组合):"org.apache.flink"%%"flink-connector-filesystem"%flinkV"org.apache.flink"%"flink-hadoop-fs"%flinkV"org.apache.hadoop"%"