hdfs dfs -ls命令的结果
在执行HDFS DFS -LS命令中,我想知道结果是否是存储在群集中的所有文件,还是仅在其执行的节点中的分区中存储的所有文件. 我是hadoop的纽比(Newby),我在每个节点中的分区时遇到了一些问题. 谢谢 解决方案 问题:" ...如果结果是存储在群集中的所有文件或..." 您从ls命令中看到的是群集中存储的所有文件.更具体地说,您看到的是一堆文件路径和名称.这些信息是名称空间的一部分,该空间由Namenode管理. " ...仅执行该节点中的分区." 如果您认为HDFS在此节点上保留一些文件,而在另一个节点上保留了一些文件.你误会了.没有这样的东西. Namenode保留了名称空间和blocksmap的跟踪.实际上,文件由块组成. NAMENODE知道该文件具有多少个块,并且在哪些dataNodes上保留了块. Namenode决定保留块的位置,对用户透明.默认情况下,每个块具有3个复制,并且每个复制都在一个数据台上.因此,假设文件具有2个块,
22 2024-03-30
编程技术问答社区
启用kerberos后,historyserver无法读取日志
我在群集上启用kerberos,它工作正常.但是由于某些问题,MAPRED REDRED用户无法通过Jobhistory Server读取和显示日志.我检查工作历史服务器的日志,并给出访问错误,为: org.apache.hadoop.security.AccessControlException: Permission denied:user=mapred, access=READ_EXECUTE, inode="/user/history/done_intermediate/prakul":prakul:hadoop:drwxrwx--- 我们可以看到目录可以访问Hadoop组,并且MAPRED在Hadoop组中,即使那时也无法读取日志.类似的错误,它给出了/tmp/logs/文件夹,因此在资源管理器UI上没有显示日志. 我在所有机器上都包含MAPRED用户的机器上验证: [cloudera]# id mapred uid=491(mapred) gid=489
10 2024-03-30
编程技术问答社区
拒绝连接到 quickstart.cloudera:8020
我正在使用Cloudera-Quickstart 5.5.0 VirtualBox 试图在终端上运行此操作.如下所示,有一个例外.我搜索了解决方案以在互联网上解决此问题并找到了一些东西. 1-)配置core-site.xml文件. https://datashine.wordpress.com/2014/09/06/java-net-connectexception-connection-connection-connection-fordus-for-more-details-more-details-see-httpwiki-apache-apache-arpache-orpache-orgache-orghad一下> ,但我只能打开此文件可读,并且无法更改它.看来我需要是root或hdfs用户(su hdfs-),但它要求我提供一个我不知道的密码. 解决方案 网络配置不是您的问题.您无需触摸VM中的任何配置,就需要启动服务.例如,在此图像中.左侧的HDFS服务
20 2024-03-30
编程技术问答社区
Cloudera Manager。检测Cloudera Manager服务器失败
我有两个PC, Centos 6.5 client86-101.aihs.net 80.94.86.101 client86-103.aihs.net 80.94.86.103 cloudera-manager-server安装在客户端86-101.aihs.net上.我有检测Cloudera Manager服务器的问题(群集安装第三步.) 问题跟踪: BEGIN host -t PTR 80.94.86.101 101.86.94.80.in-addr.arpa domain name pointer client86-101.aihs.net. END (0) using client86-101.aihs.net as scm server hostname BEGIN which python END (0) BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_IN
12 2024-03-30
编程技术问答社区
HDFS 文件系统的网址
我在HDFS /user/Cloudera/Test/*中有一些数据.我非常能够通过运行hdfs -dfs -cat Test/*. 看到记录 现在是同一文件,我需要将其读取为Scala中的RDD. 我在Scala Shell中尝试了以下内容. val file = sc.textFile("hdfs://quickstart.cloudera:8020/user/Cloudera/Test") 然后,我写了一些过滤器,并用于循环阅读单词.但是当我终于使用Println时,它说找不到文件. 任何人都可以帮我知道在这种情况下将是HDFS URL. 注意:我正在使用Cloudera CDH5.0 VM 解决方案 而不是使用" QuickStart.Cloudera"和端口,而是仅使用IP地址: val file = sc.textFile("hdfs:///user/Cloudera/Test") 其他解决方案 如果您要在Spark作业中访问您
8 2024-03-30
编程技术问答社区
HDFS作为卷在cloudera quickstart docker中的应用
我对Hadoop和Docker都是新手. 我一直在努力扩展Cloudera/QuickStart Docker Image Docker文件,并希望安装目录表单主机并将其映射到HDFS位置,以提高性能,并且数据持续存在本地化. 当我以-v /localdir:/someDir在任何地方安装音量时,一切都很好,但这不是我的目标.但是,当我做-v /localdir:/var/lib/hadoop-hdfs数据词和Namenode都无法启动时,我会得到:" CD/VAR/LIB/HADOOP-HDFS:拒绝权限".当我做-v /localdir:/var/lib/hadoop-hdfs/cache没有拒绝的权限时,只有数据码和Namenode,或其中一个未能启动Docker Image开始,我在日志文件中找不到有关其原因的任何有用的信息. . 可能有人遇到了这个问题,或者还有其他解决方案以将HDF放在Docker容器外面? 解决方案 我有同样的问题,并且我管理的情
12 2024-03-30
编程技术问答社区
Hive执行钩子
我需要在Apache Hive中挂接自定义执行挂钩.请让我知道是否有人知道该怎么做. 我正在使用的当前环境如下: hadoop:Cloudera版本4.1.2 操作系统:Centos 谢谢 阿伦 解决方案 有几种类型的钩子,具体取决于您要在哪个阶段注入自定义代码: 驱动程序运行挂钩(pre/post) 语义分析器挂钩(pre/post) 执行挂钩(pre/fail/post) 客户端统计发布者 如果运行脚本,处理流如下如下: driver.run()获取命令 HiveDriverRunHook.preDriverRun() (HiveConf.ConfVars.HIVE_DRIVER_RUN_HOOKS) driver.compile()开始处理命令:创建抽象语法树 AbstractSemanticAnalyzerHook.preAnalyze() (HiveConf.ConfVars.SEMANTIC_ANALYZER_HOO
12 2024-03-30
编程技术问答社区
如何在Hadoop中设置数据块大小?改变它有什么好处吗?
如果我们可以更改Hadoop中的数据块大小,请让我知道该怎么做. 更改块大小是否有利,如果是的话,请让我知道为什么以及如何?如果否,那让我知道为什么以及如何? 解决方案 您可以随时更改块大小,除非dfs.blocksize参数定义为HDFS-Site.xml. 更改块大小 在运行hadoop fs命令时,您可以运行hadoop fs -Ddfs.blocksize=67108864 -put .此命令将使用64MB块大小保存文件 运行hadoop jar命令 - hadoop jar -Ddfs.blocksize= .还原器将使用定义的块大小,而将输出存储在HDFS中 作为地图减少程序的一部分,您可以使用job.set并设置值 更换块大小的标准: 通常,未压缩文件的128 MB效果很好 您可以考虑在压缩文
14 2024-03-30
编程技术问答社区
猪的铸造/数据类型
我正在尝试将关系转储到AVRO文件中,但我会遇到一个奇怪的错误: org.apache.pig.data.DataByteArray cannot be cast to java.lang.CharSequence 我不使用DataByteArray(bytearray),请参见下面的关系描述. sensitiveSet: {rank_ID: long,name: chararray,customerId: long,VIN: chararray,birth_date: chararray,fuel_mileage: chararray,fuel_consumption: chararray} 即使我进行了明确的铸造,我也会收到相同的错误: sensitiveSet = foreach sensitiveSet generate (long) $0, (chararray) $1, (long) $2, (chararray) $3, (chararray) $
12 2024-03-21
编程技术问答社区
Kafka on Cloudera-test=TOPIC_AUTHORIZATION_FAILED
我们刚刚从CDH 5.3.6升级到5.10.0,并在尝试写入Kafka主题时开始遇到错误.我们在所有内容上都有默认设置,没有SSL或Kerberos身份验证.当使用控制台生产商写入我的主题之一时,我会得到这个错误: /usr/bin/kafka-console-producer -broker-list = myHost1.dev.com:9092,myhost2.dev.com:9092-主题测试 17/03/06 21:00:57 INFO utils.AppInfoParser: Kafka version : 0.10.0-kafka-2.1.0 17/03/06 21:00:57 INFO utils.AppInfoParser: Kafka commitId : unknown x 17/03/06 21:00:59 WARN clients.NetworkClient: Error while fetching metadata with correlation
38 2024-03-01
编程技术问答社区
HBase。/hbase/meta-region-server节点不存在
我在上面安装了Cloudera和HDF,MapReduce,Zookeper,HBase.这些服务的4个节点(3个Zookeeper).所有这些都是由Cloudera Wizard安装的,在Cloudera中没有配置问题. 在Java的连接上,我有一个错误: 9:32:23.020 [main-sendthread()] info org.apache.zookeeper.clientcnxn - 打开插座连接到服务器/172.20.7.6:2181 09:32:23.020 [main] info org.apache.hadoop.hbase.zookeeper.zookeeper.recoverablezookeeper- 流程标识符= HConnection-0x301ABF87连接到Zookeeper 合奏= 172.20.7.6:2181 09:32:23.028 [Main-sendthread(cloudera2.pjk-tvs ...:2181)]信息 org.a
32 2024-03-01
编程技术问答社区
连接并持久化到HBase
我只是尝试连接到使用Java客户端的Cloudera-vm的一部分的HBase. (192.168.56.102是VM的INET IP) 我使用仅主机网络设置的虚拟框. 因此,我可以访问HBase Master @ .jsp 也是我的Java客户端(在VM本身上运行良好)已建立了连接到192.168.56.102:2181 但是当它调用 getmaster 我得到连接请参阅日志: 11/09/14 11:19:30 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.56.102:2181 sessionTimeout=180000 watcher=hconnection 11/09/14 11:19:30 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.
6 2024-03-01
编程技术问答社区
在Spark SQL-spark.sql.AnalysisException中没有找到Hive表,在Cloudera VM中没有找到。
我正在尝试通过Java程序访问Hive表,但看起来我的程序在默认数据库中没有看到任何表.但是,我可以看到相同的桌子,并通过火花壳查询它们.我在Spark Conf Directory中复制了Hive Site.xml.唯一的区别 - 火花壳正在运行Spark版本1.6.0,其中我的Java程序正在运行Spark 2.1.0 package spark_210_test; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; public class SparkTest { private static SparkConf sparkConf; private static SparkSessio
22 2024-03-01
编程技术问答社区
如何使用java Spark编码从CSV文件中选择3列,并进行分组,最后求和
我是新来的火花,我想编写Spark Java程序,就像我必须加载包含75列和140万行的CSV文件一样.在给文件时,我们只需要选择3列,我必须为此写下条件,我必须执行1列的GroupByKey,我必须执行另一列的总和 解决方案 取决于您正在运行的SPARK(1.3或1.4),您可以使用Databricks Spark-CSV软件包加载CSV文件: 火花1.3 val df = sqlContext.load("com.databricks.spark.csv", Map("path" -> filePath,"header"->"true")) 火花1.4 val df = sqlContext.read.format("com.databricks.spark.csv").options(Map("path" -> filePath,"header"->"true")).load() 在下面我将假设您仅对第2、3和32列感兴趣,并且该第2列需要作为日期
16 2024-03-01
编程技术问答社区
Commons-lang3版本在Cloudera 6.1中带有Spark 2.4
我们安装了Cloudera 6.1并使用Spark 2.4运行 我们使用Oozie运行Spark应用程序. 我们有一个使用数据帧写入和读取的代码(我们从Spark流中读取JSON并将其写入Parquet中的HDF). 在新集群上运行时,我会得到以下错误: 2019-02-03 17:42:00 ERROR [JobScheduler] Logging$class:91 - Error running job streaming job 1549208520000 ms.0 java.lang.IllegalArgumentException: Illegal pattern component: XXX at org.apache.commons.lang3.time.FastDatePrinter.parsePattern(FastDatePrinter.java:282) at org.apache.commons.lang3.time.FastDatePrin
202 2024-03-01
编程技术问答社区
Cloudera快速启动虚拟机缺乏Spark 2.0或更高版本
为了测试和学习火花功能,开发人员需要最新版本.由于2.0版的API和方法已过时,并且在较新版本中不再起作用.这带来了更大的挑战,开发人员被迫手动安装Spark,这浪费了大量的开发时间. 如何在Quickstart VM上使用后期版本的Spark? 解决方案 每个人都不应浪费我浪费的设置时间,所以这是解决方案. Spark 2.2 Cloudera VM上的安装设置 步骤1:从链接下载QuickStart_vm: 更喜欢VMware平台,因为它易于使用,无论如何所有选项都是可行的. 大小约为整个焦油文件的5.4GB.我们需要提供业务电子邮件ID,因为它不会接受个人电子邮件ID. 步骤2:虚拟环境需要大约8GB的RAM,请分配足够的内存以避免性能小故障. 步骤3:请打开终端,然后切换到root用户为: su root password: cloudera 步骤4:Cloudera提供Java - Version 1.7.0_67,
12 2024-03-01
编程技术问答社区
Hadoop容量调度器和Spark
如果我在纱线中定义了能力,则在此处解释 如何使火花使用? 我想运行Spark作业...但是他们不应该占据所有集群,而是要以分配给它的固定资源集的能力进行执行. 这是可能的...特别是在Cloudera平台上(鉴于Cloudera上的火花在纱线上运行?). 解决方案 您应该通过编辑容量 - 固定器.xml来配置容量施法器.您还需要指定yarn.resourcemanager.scheduler.scheduler.class in yarn-site.xml be org.apache.hadoop.hadoop.yarn.server.resourcemanager.scheduler.capitical.capitical.capitical.capitical.capitical.capitical.capitical.capacityscheduler,这也是当前hadoop版本的默认选项> 将Spark Job提交给设计的队列. eg: $
10 2024-03-01
编程技术问答社区
试用Cloudera Spark教程时不会出现 "classnotfoundexception"。
我尝试在类似的现有帖子中建议的解决方案,但没有对我有用的解决方案:-(我决定将其发布为一个新问题. 我在使用Cloudera VM中使用Spark的第一个Scala或Java应用程序尝试了一个教程(下面的链接). 这是我的Spark-Submit命令及其输出 [cloudera@quickstart sparkwordcount]$ spark-submit --class com.cloudera.sparkwordcount.SparkWordCount --master local /home/cloudera/src/main/scala/com/cloudera/sparkwordcount/target/sparkwordcount-0.0.1-SNAPSHOT.jar java.lang.ClassNotFoundException: com.cloudera.sparkwordcount.SparkWordCount at java.net.U
12 2024-02-29
编程技术问答社区
spark-submit to cloudera cluster can not find any dependent jars
我能够对我的Cloudera群集进行火花含量.几分钟后,这项工作死了,例外抱怨它找不到各种课程.这些是在火花依赖路径中的类.我一直使用命令行args一次添加一个罐子 - jars,纱线日志不断倾倒它找不到的下一个罐子. 哪种设置允许火花/纱线作业找到所有依赖的罐子? 我已经将" spark.home"属性设置为正确的路径 -/opt/opt/cloudera/parcels/cdh/lib/spark 解决方案 我找到了它! 删除 .set(" spark.driver.host","驱动程序计算机IP地址") 来自驱动程序代码.
14 2024-02-29
编程技术问答社区
为什么 start-all.sh 从根部开始会导致" failed to launch org.apache.spark.deploy.master.Master: JAVA_HOME 没有设置"?
我正在尝试通过我的独立火花服务来执行通过Cloudera QuickStart VM 5.3.0的独立Spark Service构建的火花应用程序. 我的cloudera帐户java_home是/usr/java/default 但是,我在从cloudera用户执行start-all.sh命令时面对以下错误消息: [cloudera@localhost sbin]$ pwd /opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/sbin [cloudera@localhost sbin]$ ./start-all.sh chown: changing ownership of `/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/sbin/../logs': Operation not permitted starting org.apach
24 2024-02-29
编程技术问答社区