草庐IT

maven - 为什么在 Hadoop 3.1.0 中删除了 DFSInotifyEventInputStream?

我正在使用DFSInotifyEventInputStream来监视HDFS中的事件。我有一个Maven项目,我在其中导入了hadoop-hdfs和hadoop-common。如果我在两个依赖项上都使用版本2.7.1,则会正确找到DFSInotifyEventInputStream。然而,在最新版本的hadoop(3.1.0)中,这个类是缺失的。为什么会这样? 最佳答案 看着:HDFS-8053-将DFSIn/OutputStream和相关类移动到hadoop-hdfs-client您应该导入hadoop-hdfs-client。J

java - Hadoop 的命令 start-dfs.sh 显示一个奇怪的错误

当我尝试运行下面的命令时,弹出一个错误Alis-Mac:hadoop-2.7.3naziaimran$sbin/start-dfs.sh错误如下,2018-06-0501:04:31.424java[1879:21215]UnabletoloadrealminfofromSCDynamicStore18/06/0501:04:31WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicableStartingnamenod

hadoop - Cloudera hadoop数据存储到特定节点

我有10个amazonec2节点集群用于每天的数据处理,我想将所有10个节点用于每天的批处理(仅处理2小时),一旦生成报告数据点,我想关闭5节点,并在一天的其余时间仅使5个节点处于事件状态以进行成本优化。我的复制因子是3。在某些情况下,所有3个数据block(实际和复制block)都存储在我正在关闭的那5个节点中。因此我无法正确读取数据。我能否在cloudera管理器中进行一些设置以将特定数据库或特定表持久保存到给定节点中,这样我在只有5个事件节点时读取数据时不会有任何问题。或任何其他建议将不胜感激。 最佳答案 您可以使用机架感知(

scala - 如何从 Spark Executor 获取或创建 Hadoop 客户端

在对SparkDataframe执行mapPartitions操作时,是否有任何方法可以从SparkExecutor获取Hadoop文件系统?如果没有,至少有什么方法可以获取Hadoop配置以生成新的Hadoop文件系统?考虑到HDFS是基于Kerberos的。用例类似于(伪代码):spark.sql("SELECT*FROMcities").mapPartitions{iter=>iter.groupedBy(some-variable).foreach{rows=>hadoopFS.write(rows)}TaskContext.getPartitionId}

hadoop - 如何检查 hdfs 目录中的总文件大小

有没有办法以GB或MB为单位计算HDFS文件目录的总文件大小?我不想使用du命令。没有那个也有办法目录-/test/my_dir 最佳答案 你可以使用df或report、'hadoopfs-count-q-h它会显示总大小[root@hadoop0~]#hadoopfs-df-h/FilesystemSizeUsedAvailableUse%hdfs://hadoop0:8020119.9G27.8G62.3G23%[root@hadoop0~]#hadoopdfsadmin-reportDEPRECATED:Useofthissc

hadoop - 数据节点故障后恢复的 hdfs

我有一个包含2个主节点和2个数据节点的4节点hadoop集群。我在这个集群中有很多文件。我的一个数据节点崩溃了(从aws控制台意外终止)。因为我有复制因子1,所以我认为这不会导致任何数据丢失。我添加了新节点并将其作为数据节点。但是现在我的hdfsdfsadmin-report说很多缺失的block。为什么是这样?我怎样才能从这里恢复过来?我不能执行fsck-delete,因为这些文件对我很重要。当我尝试从这个集群到另一个新创建的集群的distcp时,我得到了丢失的block异常。添加新数据节点后是否需要执行任何步骤? 最佳答案 Ha

java - Spark App 参数编码

Spark似乎为应用程序参数使用了平台编码参数,但具体是哪一个呢?我用这样的参数启动一个spark应用程序:finalListparams=createParamList(...)sparkLauncher.addAppArgs(params.toArray(newString[params.size()]));似乎是平台相关的,在某些平台上,编码是错误的:INFOS:childArgs[[...]---user=Syst??me]用户应该是“Système”我尝试将javaoptsfile.encoding参数设置为驱动程序和执行程序,但我没有更改任何内容。有没有人有想法?谢谢

Hadoop:不推荐使用 dfs 但找不到 hdfs 类

我是Hadoop的新手,正在尝试检查HDFS中有哪些数据可用。但是,dfs命令返回一个响应,指示该类已弃用,应使用hdfs:-bash-4.2$hadoopdfs-lsDEPRECATED:Useofthisscripttoexecutehdfscommandisdeprecated.Insteadusethehdfscommandforit.ls:`.':Nosuchfileordirectory但是,当我尝试使用hdfs命令时,我得到了一个Java类查找错误:-bash-4.2$hadoophdfs-lsError:Couldnotfindorloadmainclasshdfs我的

shell - 模式匹配 "hdfs ds -ls"输出时如何忽略时间戳?

我有存储在HDFS上的文件,其名称后缀有日期,与文件的修改日期不同,如下所示:$hdfsdfs-ls/a/b/c/d/e/*Found5itemsdrwxr-xr-x-xuserxuser02015-05-0113:59/a/b/c/d/e/exp_dt=2016-01-05drwxr-xr-x-xuserxuser02017-10-1015:42/a/b/c/d/e/exp_dt=2015-05-01我正在尝试查找仅具有给定exp_dt的文件。目前,努力如下:inputDir=/a/b/c/d/e/countCmd='hdfsdfs-ls$inputDir|grep'\.2015$'

java - 尝试使用 spark shell 计算托管在本地 HDFS 上的文件中的行数时出现 HadoopRDD 错误

我是ApacheSpark、Scala和Hadoop工具的新手。我已经设置了一个新的本地单节点Hadoop集群,如前所述here并且还设置了spark以提供对此Hadoop环境的引用,如前所述here.我能够验证spark-shell、sparkUI已启动并正在运行。此外,我可以使用localhost查看HDFS。.为了更进一步,我将示例文件上传到HDFS,并使用Hadooplocalhost验证它是否可用。现在,我尝试使用Java和spark-shell(Scala)来计算文件中的行数,但是这两个调用都因该堆栈跟踪而失败。Exceptioninthread"dag-scheduler