大数据常见错误

一次Rpc调用报错排查 前言 前几天一个接口rpc调用忽然一时间报错十几次,报错信息是反序列化错误,经过排查是因为线程池满了,导致返回结果为null,我们自己在null的情况下默认将"{}"转成对应对象,所以基本类型不满足条件导致反序列化错误。 但是线程池报错没有打日志,所以如果不是类型转换错误,甚至都没能感知到bug。所以细瞅瞅源码为什么不打日志。 线程池满了报错排查 经过一层层的调用,找到MainClientExec.java执行execute()获取连接池,因为线程池满了,而超时时间又只设置了1s,抛出org.apac 阅读详情

1、用./bin/spark-shell启动spark时遇到异常:java.net.BindException: Can’t assign requested address: Service ‘sparkDriver’ failed after 16 retries!

解决方法:add export SPARK_LOCAL_IP=“127.0.0.1” to spark-env.sh

2、java Kafka producer error:ERROR kafka.utils.Utils$ - fetching topic metadata for topics [Set(words_topic)] from broker [ArrayBuffer(id:0,host: xxxxxx,port:9092)] failed

解决方法:Set ‘advertised.host.name’ on server.properties of Kafka broker to server’s realIP(same to producer’s ‘metadata.broker.list’ property)

3、java.net.NoRouteToHostException: No route to host

解决方法:zookeeper的IP要配对

4、Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) java.net.UnknownHostException: linux-pic4.site:

解决方法:add your hostname to /etc/hosts: 127.0.0.1 localhost linux-pic4.site

5、org.apache.spark.SparkException: A master URL must be set in your configuration

解决方法:SparkConf sparkConf = new SparkConf().setAppName(“JavaDirectKafkaWordCount”).setMaster(“local”);

6、Failed to locate the winutils binary in the hadoop binary path

解决方法:先安装好hadoop

7、启动spark时: Failed to get database default, returning NoSuchObjectException

解决方法:1)Copy winutils.exe from here(https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin) to some folder say, C:\Hadoop\bin. Set HADOOP_HOME to C:\Hadoop.2)Open admin command prompt. Run C:\Hadoop\bin\winutils.exe chmod 777 /tmp/hive

8、org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true.

解决方法:Use this constructor JavaStreamingContext(sparkContext: JavaSparkContext, batchDuration: Duration) 替代 new JavaStreamingContext(sparkConf, Durations.seconds(5));

9、Reconnect due to socket error: java.nio.channels.ClosedChannelException

解决方法:kafka服务器broker ip写对

10、java.lang.IllegalArgumentException: requirement failed: No output operations registered, so nothing to execute

解决方法:tranformation最后一步产生的那个RDD必须有相应Action操作,例如massages.print()等

11、经验:spark中数据写入ElasticSearch的操作必须在action中以RDD为单位执行

12、 Problem binding to [0.0.0.0:50010] java.net.BindException: Address already in use;

解决方法:master和slave配置成同一个IP导致的,要配成不同IP

13、CALL TO LOCALHOST/127.0.0.1:9000

解决方法:host配置正确,/etc/sysconfig/network /etc/hosts /etc/sysconfig/network-scripts/ifcfg-eth0

13、打开namenode:50070页面,Datanode Infomation只显示一个节点

解决方法:SSH配置错误导致,主机名一定要严格匹配,重新配置ssh免密码登录

14、经验:搭建集群时要首先配置好主机名,并重启机器让配置的主机名生效

15、INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.NoRouteToHostException: No route to host

解决方法:如果主从节点能相互ping通,那就关掉防火墙 service iptables stop

16、经验:不要随意格式化HDFS,这会带来数据版本不一致等诸多问题,格式化前要清空数据文件夹

17、namenode1: ssh: connect to host namenode1 port 22: Connection refused

解决方法:sshd被关闭或没安装导致,which sshd检查是否安装,若已经安装,则sshd restart,并ssh 本机hostname,检查是否连接成功

18、Log aggregation has not completed or is not enabled.

解决方法:在yarn-site.xml中增加相应配置,以支持日志聚合

19、failed to launch org.apache.spark.deploy.history.History Server full log in

解决方法:正确配置spark-defaults.xml,spark-en.sh中SPARK_HISTORY_OPTS属性

20、Exception in thread “main” org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.

解决方法:yarn-lient模式出现的异常,暂时无解

21、hadoop的文件不能下载以及YARN中Tracking UI不能访问历史日志

解决方法:windows系统不能解析域名所致,把hosts文件hostname复制到windows的hosts中

22、经验:HDFS文件路径写法为:hdfs://master:9000/文件路径,这里的master是namenode的hostname,9000是hdfs端口号。

23、Yarn JobHistory Error: Failed redirect for container

解决方法:将 http://:19888/jobhistory/logs 配置到yarn-site.xml中,重启yarn和JobHistoryServer

24、通过hadoop UI访问hdfs文件夹时,出现提示 Permission denied: user=dr.who

解决方法:namonode节点终端执行:hdfs dfs -chmod -R 755 /

25、经验:Spark的Driver只有在Action时才会收到结果
26、经验:Spark需要全局聚合变量时应当使用累加器(Accumulator)
27、经验:Kafka以topic与consumer group划分关系,一个topic的消息会被订阅它的消费者组全部消费,如果希望某个consumer使用topic的全部消息,可将该组只设一个消费者,每个组的消费者数目不能大于topic的partition总数,否则多出的consumer将无消可费

28、java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

解决方法:统一ES版本,尽量避免直接在spark中创建ES client

29、eturned Bad Request(400) - failed to parse;Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes; Bailing out…

解决方法:写入ES的数据格式纠正

30、java.util.concurrent.TimeoutException: Cannot receive any reply in 120 seconds

解决方法:确保所有节点之间能够免密码登录

31、集群模式下,spark无法向elasticsearch写入数据

解决方法:采用这种写入方式(带上es配置的Map参数)results.foreachRDD(javaRDD -> {JavaEsSpark.saveToEs(javaRDD, esSchema, cfg);return null;});

32、经验:所有自定义类要实现serializable接口,否则在集群中无法生效
33、经验:resources资源文件读取要在Spark Driver端进行,以局部变量方式传给闭包函数

34、通过nio读取资源文件时,java.nio.file.FileSystemNotFoundException at com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171)

解决方法:打成jar包后URI发生变化所致,形如jar:file:/C:/path/to/my/project.jar!/my-folder,要采用以下解析方式,

final Map env = new HashMap<>();
final String[] array = uri.toString().split("!");
final FileSystem fs = FileSystems.newFileSystem(URI.create(array[0]), env);
final Path path = fs.getPath(array[1]);
35、经验:DStream流转化只产生临时流对象,如果要继续使用,需要一个引用指向该临时流对象
36、经验:提交到yarn cluster的作业不能直接print到控制台,要用log4j输出到日志文件中

37、java.io.NotSerializableException: org.apache.log4j.Logger

解决方法:序列化类中不能包含不可序列化对象,you have to prevent logger instance from default serializabtion process, either make it transient or static. Making it static final is preferred option due to many reason because if you make it transient than after deserialization logger instance will be null and any logger.debug() call will result in NullPointerException in Java because neither constructor not instance initializer block is called during deserialization. By making it static and final you ensure that its thread-safe and all instance of Customer class can share same logger instance, By the way this error is also one of the reason Why Logger should be declared static and final in Java program.

38、log4j:WARN Unsupported encoding

解决方法:1.把UTF改成小写utf-8 2.设置编码那行有空格

39、MapperParsingException[Malformed content, must start with an object

解决方法:采用接口JavaEsSpark.saveJsonToEs,因为saveToEs只能处理对象不能处理字符串

40、 ERROR ApplicationMaster: SparkContext did not initialize after waiting for 100000 ms. Please check earlier log output for errors. Failing the application

解决方法:资源不能分配过大,或者没有把.setMaster(“local[*]”)去掉

41、WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)

解决方法:配置文件broker编号要写对,命令中的IP写真实IP

42、 User class threw exception: org.apache.spark.SparkException: org.apache.spark.SparkException: Couldn’t find leaders for Set([mywaf,7], [mywaf,1])

解决方法:正确配置kafka,并重新创建topic

43、在ES界面发现有节点shard分片不显示

解决方法:该节点磁盘容量不足,清理磁盘增加容量

44、The method updateStateByKey(Function2,Optional,Optional>, int) in the type JavaPairDStream is not applicable for the arguments (Function2,Optional,Optional>, int)

解决方法:Spark use com.google.common.base.Optional not jdk default package java.util.Optional

45、NativeCrc32.nativeComputeChunkedSumsByteArray

解决方法:配置eclipse的hadoop-home,bin和system32文件夹中加入64位的2.6版本的hadoop.dll

46、经验:Spark Streaming包含三种计算模式:nonstate 、stateful 、window

47、Yarn的RM单点故障

解决方法:通过三节点zookeeper集群和yarn-site.xml配置文件完成Yarn HA

48、经验:kafka可通过配置文件使用自带的zookeeper集群

49、经验:Spark一切操作归根结底是对RDD的操作

50、如何保证kafka消息队列的强有序

解决方法:把需要强有序的topic只设置一个partition

51、linux批量多机互信

解决方法:pub秘钥配成一个

52、org.apache.spark.SparkException: Failed to get broadcast_790_piece0 of broadcast_790

解决方法:去除spark-defaults.conf中spark.cleaner.ttl配置

53、Yarn HA环境下,通过web访问history日志被跳转到8088而无法显示

解决方法:恢复Yarn Http默认端口8088

54、but got no response. Marking as slave lost

解决方法:使用yarn client提交作业遇到这种情况,暂时无解

55、Using config: /work/poa/zookeeper-3.4.6/bin/…/conf/zoo.cfg Error contacting service. It is probably not running.

解决方法:配置文件不正确,例如hostname不匹配等

56、经验:部署Spark任务,不用拷贝整个架包,只需拷贝被修改的文件,然后在目标服务器上编译打包。

57、Spark setAppName doesn’t appear in Hadoop running applications UI

解决方法:set it in the command line for spark-submit “–name BetterName”

58、如何监控Sprak Streaming作业是否挂掉

解决方法:通过监控Driver端口或者根据yarn指令写Linux定时脚本监控

59、kafka内外网问题

解决方法:kafka机器双网卡,配置文件server.properties中advertised.host.name不要写IP,用域名形式,外网的生产者和内网的消费者各自解析成自己所需的IP。

60、经验:kafka的log.dirs不要设置成/tmp下的目录,貌似tmp目录有文件数和磁盘容量限制

61、kafka搬机器后,在新的集群,topic被自动创建,且只有一台broker负载

解决方法:server.properties中加上delete.topic.enable=true和auto.create.topics.enable=false,删除旧的topic,重新创建topic,重启kafka

62、安装sbt,运行sbt命令卡在Getting org.scala-sbt sbt 0.13.6 …

解决方法:sbt takes some time to download its jars when it is run first time,不要退出,直至sbt处理完

63、经验:ES的分片类似kafka的partition

64、kafka出现OOM异常

解决方法:进入kafka broker启动脚本中,在export KAFKA_HEAP_OPTS="-Xmx24G -Xms1G"调大JVM堆内存参数

65、linux服务器磁盘爆满,检查超过指定大小的文件

解决方法:find / -type f -size +10G

66、spark-direct kafka streaming限速

解决方法:spark.streaming.kafka.maxRatePerPartition,配置每秒每个kafka分区读取速率

67、org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest: Found unrecoverable error returned Not Found(404) - [EngineClosedException CurrentState[CLOSED]

解决方法:在kopf插件中对该索引先close再open即可。造成原因可能是Index创建时有shard坏掉。

68、Job aborted due to stage failure: Task not serializable:

解决方法:Serializable the class;Declare the instance only within the lambda function passed in map;Make the NotSerializable object as a static and create it once per machine;Call rdd.forEachPartition and create the NotSerializable object in there

69、Pipeline write will fail on this Pipeline because it contains a stage which does not implement Writable

解决方法:this cannot be done as of Spark 1.6,需升级spark版本

70、IDEA从git导入scala项目,通篇提示变量never used

解决方法:将src文件夹mark directory as sources root

71、Run configuration in IntelliJ result in "Cannot start compilation: the output path is not specified for module “xxx”. Specify the output path in Configure Project.

解决方法:In the default intellij options, “Make” was checked as “Before Launch”. Unchecking it fixed the issue.

72、UDFRegistration

anonfun$register26anonfun26anonfun26anonfunregister$26

anonfun$apply$2 cannot be cast to scala.Function1

解决方法:聚合函数不能用UDF,而应该定义UDAF

73、SPARK SQL replacement for mysql GROUP_CONCAT aggregate function

解决方法:自定义UDAF

74、在intellij idea的maven项目中,无法New scala文件

解决方法:pom.xml加入scala-tools插件相关配置,下载并更新

75、Error:scala: Error: org.jetbrains.jps.incremental.scala.remote.ServerException

解决方法:修改pom.xml配置文件,把scala换到最新版本

76、HADOOP 磁盘满的各节点平衡

解决方法:运行指令hdfs balancer -Threshold 3 或者 运行 start-balancer.sh 脚本格式:$Hadoop_home/bin/start-balancer.sh -threshold,参数3是比例参数,表示3%,也就是平各个DataNode直接磁盘使用率偏差在3%以内

77、经验:sparkSQL UDAF中update函数的第二个参数 input: Row 对应的并非DataFrame的行,而是被inputSchema投影了的行

78、Error: No TypeTag available for String sqlContext.udf.register()

解决方法:scala版本不一致,统一所有scala版本

79、How to add a constant column in a Spark DataFrame?

解决方法:The second argument for DataFrame.withColumn should be a Column so you have to use a literal: df.withColumn(‘new_column’, lit(10))

80、Error:scalac:Error:object VolatileDoubleRef does not have a member create

解决方法:scala版本不一致,统一开发环境和系统的scala版本

81、java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet

解决方法:统一scala和spark的scala版本

82、maven项目打包去除不要的依赖,防止目标jar容量过大

解决方法:在中加入provided标明该依赖不放进目标jar,并用maven shaded方式打包

83、maven打包scala和java的混合项目

解决方法:使用指令 mvn clean scala:compile compile package

84、sparkSQL的udf无法注册UDAF聚合函数

解决方法:把UDAF自定义类的object关键字改成class声明

85、经验:运行时删除hadoop数据目录会导致依赖HDFS的JOB失效

86、[IllegalArgumentException[Document contains at least one immense term in field=XXX

解决方法:在ES中创建索引时对长文本字段要分词

87、maven shade打包资源文件没有打进去

解决方法:把resources文件夹放到src/main/下面,与scala或java文件夹并排

88、经验:spark Graph根据边集合构建图,顶点集合只是指定图中哪些顶点有效

89、ES写query用到正则匹配时,Determinizing automaton would result in more than 10000 states.

解决方法:正则表达式的字符串太长,复杂度过高,正则匹配要精练,不要枚举式匹配

90、java.lang.StackOverflowError at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:53)

解决方法:sql语句的where条件过长,字符串栈溢出

91、org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 0

解决方法:加大executor内存,减少executor个数,加大executor并发度

92、ExecutorLostFailure (executor 3 exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits. 61.0 GB of 61 GB physical memory used

解决方法:移除RDD缓存操作,增加该JOB的spark.storage.memoryFraction系数值,增加该job的spark.yarn.executor.memoryOverhead值

93、EsRejectedExecutionException[rejected execution (queue capacity 1000) on org.elasticsearch.search.action.SearchServiceTransportAction

解决方法:减少spark并发数,降低对ES的并发读取

94、经验:单个spark任务的excutor核数不宜设置过高,否则会导致其他JOB延迟

95、经验:数据倾斜只发生在shuffle过程,可能触发shuffle操作的算子有:distinct groupByKey reduceByKey aggregateByKey join cogroup repartition等

96、如何定位spark的数据倾斜

解决方法:在Spark Web UI看一下当前stage各个task分配的数据量以及执行时间,根据stage划分原理定位代码中shuffle类算子

97、如何解决spark数据倾斜

解决方法:1)过滤少数导致倾斜的key(仅限于抛弃的Key对作业影响很小),2)提高shuffle操作并行度(提升效果有限),3)两阶段聚合(局部聚合+全局聚合),先对相同的key加前缀变成多个key,局部shuffle后再去掉前缀,再次进行全局shuffle(仅适用于聚合类的shuffle操作,效果明显,对于join类的shuffle操作无效),4)将reduce join转为map join,将小表进行广播,对大表map操作,遍历小表数据(仅适用于大小表或RDD情况),5)使用随机前缀和扩容RDD进行join,对其中一个RDD每条数据打上n以内的随机前缀,用flatMap算子对另一个RDD进行n倍扩容并扩容后的每条数据依次打上0~n的前缀,最后将两个改造key后的RDD进行join(能大幅缓解join类型数据倾斜,需要消耗巨额内存)

98、经验:shuffle write就是在一个stage结束计算之后,为了下一个stage可以执行shuffle类的算子,而将每个task处理的数据按key进行分类,将相同key都写入同一个磁盘文件中,而每一个磁盘文件都只属于下游stage的一个task,在将数据写入磁盘之前,会先将数据写入内存缓存中,下一个stage的task有多少个,当前stage的每个task就要创建多少份磁盘文件。

99、java.util.regex.PatternSyntaxException: Dangling meta character ‘?’ near index 0

解决方法:元字符记得转义

100、spark弹性资源分配

解决方法:配置spark shuffle service,打开spark.dynamicAllocation.enabled

101、经验:kafka的comsumer groupID对于spark direct streaming无效

102、启动hadoop yarn,发现只启动了ResourceManager,没有启动NodeManager

解决方法:yarn-site.xml配置有问题,检查并规范各项配置

103、如何查看hadoop系统日志

解决方法:Hadoop 2.x中YARN系统的服务日志包括ResourceManager日志和各个NodeManager日志,它们的日志位置如下:ResourceManager日志存放位置是Hadoop安装目录下的logs目录下的yarn--resourcemanager-.log,NodeManager日志存放位置是各个NodeManager节点上hadoop安装目录下的logs目录下的yarn--nodemanager-.log

104、经验:小于128M的小文件都会占据一个128M的BLOCK,合并或者删除小文件节省磁盘空间

105、how to remove Non DFS Used

解决方法:1)清除hadoop数据目录中用户缓存文件:cd /data/hadoop/storage/tmp/nm-local-dir/usercache;du -h;rm -rf find -type f -size +10M; 2)清理Linux文件系统中的垃圾数据

106、经验:Non DFS Used指的是非HDFS的所有文件

107、linux profile配置文件隔离

解决方法:cd /etc/profile.d;在这里新建相应配置脚本

108、The reference to entity “autoReconnect” must end with the ‘;’ delimiter

解决方法:把&替换成&

109、Service hiveserver not found

解决方法:Try to run bin/hive --service hiveserver2 instead of hive --service hiveserver for this version of apache hive

110、Failed to execute spark task, with exception ‘org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create spark client.)’

解决方法:不要预编译的spark,重新编译spark,并保证与hive pom中的版本一致

111、java.lang.NoSuchFieldError: SPARK_RPC_SERVER_ADDRESS at org.apache.hive.spark.client.rpc.RpcConfiguration.(RpcConfiguration.java:45)

解决方法:hive spark版本要匹配,同时必须是没有-phive参数编译的spark

112、javax.jdo.JDOFatalInternalException: Error creating transactional connection factory

解决方法:把mysql connector加入hive的lib中

113、org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create spark client FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark.SparkTask

解决方法:原因有多种,去hive.log查看日志进一步定位问题

114、Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

解决方法:编译spark用了hadoop-provided参数,导致缺少hadoop相关包

115、linux 输入错误命令 按删除键显示^H

解决方法:执行指令 stty erase ^H

116、经验:通过hive源文件pom.xml查看适配的spark版本,只要打版本保持一致就行,例如spark1.6.0和1.6.2都能匹配

117、经验:打开Hive命令行客户端,观察输出日志是否有打印“SLF4J: Found binding in [jar:file:/work/poa/hive-2.1.0-bin/lib/spark-assembly-1.6.2-hadoop2.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]”来判断hive有没有绑定spark

118、启动yarn,发现只启动了部分Nodemanager

解决方法:未启动的节点缺少yarn相关包,要保持所有节点jar包一致

119、Error: Could not find or load main class org.apache.hive.beeline.BeeLine

解决方法:重新编译Hive,并带上参数-Phive-thriftserver

120、经验:编译spark,hive on spark就不要加-Phive参数,若需sparkSQL支持hive语法则要加-Phive参数

121、User class threw exception: org.apache.spark.sql.AnalysisException: path hdfs://XXXXXX already exists.;

解决方法:df.write.format(“parquet”).mode(“append”).save(“path.parquet”)

122、check the manual that corresponds to your MySQL server version for the right syntax to use near ‘OPTION SQL_SELECT_LIMIT=DEFAULT’ at line 1

解决方法:用新版mysql-connector

123、org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate

解决方法:vim core-site.xml,hadoop.proxyuser.root.hosts,value = *,hadoop.proxyuser.root.groups,value = *,restart yarn

124、java.lang.NoSuchMethodError: org.apache.parquet.schema.TypesMessageTypeBuilder.addFields([Lorg/apache/parquet/schema/Type;)Lorg/apache/parquet/schema/TypesMessageTypeBuilder.addFields([Lorg/apache/parquet/schema/Type;)Lorg/apache/parquet/schema/TypesMessageTypeBuilder.addFields([Lorg/apache/parquet/schema/Type;)Lorg/apache/parquet/schema/TypesBaseGroupBuilder;

解决方法:版本冲突所致,统一hive和spark中parquet组件版本

125、经验:可以通过hive-site.xml修改spark.executor.instances、spark.executor.cores、spark.executor.memory等配置来优化hive on spark执行性能,不过最好配成动态资源分配。

126、WARN SparkContext: Dynamic Allocation and num executors both set, thus dynamic allocation disabled.

解决方法:如果要使用动态资源分配,就不要设置执行器个数

127、Invalid configuration property node.environment: is malformed (for class io.airlift.node.NodeConfig.environment)

解决方法:the node.environment property (in the node.properties file) is set but fails to match the following regular expression: [a-z0-9][_a-z0-9]*. 重新规范命名

128、com.facebook.presto.server.PrestoServerNo factory for connector hive-XXXXXX

解决方法:在hive.properties中 connector.name写错了,应该为指定的版本,以便于presto使用对应的适配器,修改为:connector.name=hive-hadoop2

129、org.apache.spark.SparkException: Task failed while writing rows Caused by: org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest: null

解决方法:ES负载过高,修复ES

130、经验:如果maven下载很慢,很可能是被天朝的GFW墙了,可以在maven安装目录的setting.conf配置文件mirrors标签下加入国内镜像抵制**党的网络封锁,例如:

    nexus-aliyun

    *

    Nexus aliyun

    http://maven.aliyun.com/nexus/content/groups/public

131、RROR ApplicationMaster: Uncaught exception: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

解决方法:pom.xml文件中标签下加入

META-INF/*.SF

META-INF/*.DSA

META-INF/*.RSA

132、scala.MatchError: Buffer(10.113.80.29, None) (of class scala.collection.convert.Wrappers$JListWrapper)

解决方法:清除ES中跟scala数据类型不兼容的脏数据

133、HDFS误删文件如何恢复解决方法:core-site文件中加入

 fs.trash.interval

 2880

 HDFS垃圾箱设置,可以恢复误删除,配置的值为分钟数,0为禁用

恢复文件执行 hdfs dfs -mv /user/root/.Trash/Current/误删文件 /原路径

134、改了linux定时脚本里边部分任务顺序,导致有些任务未执行,而有些重复执行

解决方法:Linux脚本修改后实时生效,务必在脚本全部执行完再修改,以免产生副作用

135、经验:spark两个分区方法coalesce和repartition,前者窄依赖,分区后数据不均匀,后者宽依赖,引发shuffle操作,分区后数据均匀

136、org.apache.spark.SparkException: Task failed while writing rows scala.MatchError: Buffer(10.113.80.29, None) (of class scala.collection.convert.Wrappers$JListWrapper)

解决方法:ES数据在sparksql类型转化时不兼容,可通过EsSpark.esJsonRDD以字符串形式取ES数据,再把rdd转换成dataframe

137、Container exited with a non-zero exit code 143 Killed by external signal

解决方法:分配的资源不够,加大内存或者调整代码,尽量避免类似JsonObject这样的大对象过度消耗内存,或者Include below properties in yarn-site.xml and restart VM,

yarn.nodemanager.vmem-check-enabled

false

Whether virtual memory limits will be enforced for containers

yarn.nodemanager.vmem-pmem-ratio

4

Ratio between virtual memory to physical memory when setting memory limits for containers

138、对已有jar手动生成maven依赖

解决方法:mvn install:install-file -Dfile=spark-assembly-1.6.2-hadoop2.6.0.jar -DgroupId=org.apache.repack -DartifactId=spark-assembly-1.6.2-hadoop2.6.0 -Dversion=2.6 -Dpackaging=jar

139、FAILED: SemanticException [Error 10006]: Line 1:122 Partition not found ‘‘2016-08-01’’

解决方法:hive版本太新,hive自身bug,把hive版本从2.1.0降到1.2.1

140、ParseException line 1:17 mismatched input ‘hdfs’ expecting StringLiteral near ‘inpath’ in load statement

解决方法:去掉以hdfs开头的IP端口号前缀,直接写HDFS中的绝对路径,并用单引号括起来

141、[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected解决方案:export HADOOP_USER_CLASSPATH_FIRST=true

142、crontab中启动的shell脚本不能正常运行,但是使用手动执行没有问题

解决方法:在脚本第一行写上source /etc/profile,因为cront进程不会自动加载用户目录下的.profile文件

143、SparkListenerBus has already stopped! Dropping event SparkListenerStageCompleted

解决方法:集群资源不够,确保真实剩余内存大于spark job申请的内存

144、PrestoException: ROW comparison not supported for fields with null elements

解决方法:把 !=null 换成 is not null

145、启动presto服务器,部分节点启动不成功

解决方法:JVM所分配的内存,必须小于真实剩余内存

146、经验:presto进程一旦启动,JVM server会一直占用内存

147、Error injecting constructor, java.lang.IllegalArgumentException: query.max-memory-per-node set to 20GB, but only 10213706957B of useable heap available

解决方法:Presto will claim 0.40 * max heap size for the system pool, so your query.max-memory-per-node must not exceed this. You can increase the heap or decrease query.max-memory-per-node.

148、failed: Encountered too many errors talking to a worker node. The node may have crashed or be under too much load. failed java.util.concurrent.CancellationException: Task was cancelled

解决方法:such exceptions caused by timeout limits,延长等待时间,在work节点config配置中set exchange.http-client.request-timeout=50s

149、大数据ETL可视化有哪些主流方案

解决方法:可以考虑的技术栈有ELK(elasticsearch+logstash+kibana)或者HPA(hive+presto+airpal)

150、经验:presto集群没必要采用on yarn模式,因为hadoop依赖HDFS,如果部分机器磁盘很小,HADOOP会很尴尬,而presto是纯内存计算,不依赖磁盘,独立安装可以跨越多个集群,可以说有内存的地方就可以有presto

pyspark报错寻找解决方案 pyspark玄学问题spark报错问题怎么找?spark报错问题原因怎么找?spark报错问题解决方案怎么找? 报错后就调spark conf 的参数,感觉太玄学了 一般都吧问题原因归结到oom,解决就调大内存,调大partitions spark报错问题怎么找? 看 spark UI 提供的报错 log 日志 # type1 ExecutorLostFailure (executor 3 exited caused by one of the running tasks) Reason: Contain 阅读详情

相关推荐

运行HQL时,报错:Container killed by YARN for exceeding memory limits

1 出现问题现象 搭建Hive On Spark 模式,运行HQL时:出现如下错误: ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits. 4.5 GB of 4.5 GB physical memory used. Consider boosting spark.yarn.executor

蝈蝈 1860

Oozie报错Unknown rpc kind in rpc headerRPC_WRITABLE

报错信息 ACTION[0000001-191110122545583-oozie-ben-W@shell-node] Error starting action [shell-node]. ErrorType [TRANSIENT], ErrorCode [JA009], Message [JA009: Unknown rpc kind in rpc headerRPC_WRITABLE] or...

weixin_44701015的博客 506

大数据分析中常见的错误

  大数据产生的背景是整个社会走向数字化,特别是社交网络和各种传感设备的发展。云计算和搜索引擎的发展,使得对大数据的高效分析成为可能,核心问题是如何在种类繁多、数量庞大的数据中快速获取有价值信息。通过数据分析来实现企业战略运营已经成为常态,那么数据分析过程中都有哪些常见错误问题?   数据分析过程中常见的错误问题:   1、分析目标不明确   “海量的数据其实并不能产生海量的财富”,许多数据分析人员由于没有制定清晰的分析目标,常常在海量数据中混乱,要么是收集了错误的数据,要么收集...

中琛魔方大数据 2139

工作中报错故障集合

OOM常见报错排查之堆外内存溢出 ●报错:ExecutorLostFailure (executor xxx exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits. 12.4 GB of 12 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead or d

qq_43801878的博客 2081

[大数据]Debug:常见错误集合

叶子队列是这个层级结构中最底层的队列,它们没有子队列,因此作业必须提交到叶子队列。原因:这意味着你尝试将你的作业提交到一个非叶子队列。在YARN中,队列有。3. 在yarn-site.xml中修改默认的调度器为容量调度器。1. hadoop 提交作业时,指定队列名。2. hive提交作业时,指定队列名。

weixin_44428807的博客 528

大数据常见错误及解决方案

大数据常见错误及解决方案(转载) 1、用./bin/spark-shell启动spark时遇到异常:java.net.BindException: Can’t assign requested address: Service ‘sparkDriver’ failed after 16 retries! 解决方法:add export SPARK_LOCAL_IP=“127.0.0.1” to spark-env.sh 2、java Kafka producer error:ERROR kafka.util

lv_hulk的博客 9886

Spark大数据常见错误及解决方案-HDFS-费元星

另外鼓励大家对每个知识点都先去源码里搜一下。有几个点非常重要:1.源码中的错误提示是非常系统的,因为什么原因报了什么错,而网站搜索的结果,非常片面,而且人人云亦云。-- 费元星。

元星的博客,一起努力呀 3057

大数据脱敏常见陷阱:10个必须避免的错误实践

在大数据时代,数据既是企业的核心资产,也是隐私泄露的“定时炸弹”。数据脱敏(Data Anonymization)作为隐私保护的关键手段,被广泛应用于医疗、金融、电商等行业。然而,错误的脱敏实践往往比“不脱敏”更危险——它会让企业陷入“虚假安全”的误区,最终因数据泄露面临巨额罚款(如GDPR的4%全球营收处罚)或品牌崩塌。本文将揭示大数据脱敏中的10个致命陷阱,用“生活化比喻+真实案例+技术解决方案”的方式,帮你避开这些“隐形雷区”。无论你是数据工程师、隐私合规人员还是产品经理,都能从中学到。

大数据洞察的博客 1308

大数据常见错误解决方案

大数据常见错误解决方案(转载) 1、用./bin/spark-shell启动spark时遇到异常:java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries! 解决方法:add export SPARK_LOCAL_IP="127.0.0.1" to ...

onway_goahead的博客 3979

大数据可视化:常见错误及避免方法大全

你有没有遇到过这样的情况?做了一个“高大上”的3D饼图,领导看了问:“A地区占比到底是25%还是30%?用折线图展示“用户来源分布”,同事说:“我怎么看不出哪个渠道用户最多?加了10个交互功能,结果用户说:“我就想看看总销量,怎么点半天找不到?这些问题的本质,是可视化违背了“以读者为中心”的原则。识别可视化中的“隐性错误”(比如视觉编码误导、数据叙事混乱);掌握“避坑方法论”(比如“按数据类型选图表”“控制视觉负荷”);用代码实战验证“正确的可视化怎么做”。范围覆盖通用可视化场景。

AI云原生与云计算技术学院 1022

CameraLink接口详解:从引脚定义到信号传输

本文详细解析了CameraLink接口的物理连接与信号传输机制。从MDR26连接器的引脚定义与镜像关系入手,深入讲解了BASE与MEDIUM模式下的信号映射、LVDS差分传输原理,并强调了屏蔽层处理与端接电阻等关键硬件设计细节。文章结合实战经验,提供了常见图像传输问题的排查思路,是工业视觉领域高速图像传输的实用指南。

weixin_28318011的博客 888

大数据可视化常见的三种错误

  可视化是获取并分享观点的绝佳途径,但很多大数据团队却没能选对正确的方式。可视化怎么会出现问题?原因很简单,因为存在多种可能破坏数据可视化效果的实施方式。下面我们就一同来探讨最为常见的三种错误实践。   错误一:显示所有数据   尽管我们在学校里被告知表达意见应当尽全面,但事实上大多数人根本不在乎我们实际做过多少工作,他们不关心我们每天处理了多少数据或者Hadoop集群的规模到底有多大。客户与内部用户需要的是具体且紧紧围绕核心问题的答案,而且最好能让他们尽早得到这些答案。我们的答案与他们的..

中琛魔方大数据 544

Comsol固体力学仿真﹣﹣受均匀内压的厚壁球壳弹塑性分析(加载卸载全流程)

COMSOL固体力学及结构力学仿真较少,故而查询了有关资料,才建立了如下模型。图4 加载卸载全历程中的冯米塞斯应力变化。该有限元模型是通过扫掠而得的结构化网格。图2 加载卸载全历程中的塑型区域变化。图3 加载卸载全历程中的位移应力变化。图6 关键节点第一,第三主应力分布。图5 关键节点应力场与塑性区分布。《弹塑性力学》大作业,记录一下。图1 球体的有限元网格模型。

weixin_62236383的博客 1484

大数据常见的错误总结

1、这个是的典型的NoClassDefFoundError的问题,notfound的错误肯定是少包或者少依赖的原因。 (这个错误没有遇到过也没试过) 这里是官网上的说明 https://spark.apache.org/docs/latest/hadoop-provided.html 具体执行办法是: 在spark-evn.sh中添加 这里实际上就是执行一条hadoop的命令,将hadoop的c...

sheep8521的博客 1684

Python爬虫实战:利用最新技术爬取抖音话题挑战视频

本文将详细介绍如何使用Python最新技术栈构建一个高效的抖音话题挑战视频爬虫。我们将从环境配置开始,逐步讲解请求模拟、数据解析、反反爬策略、数据存储等关键环节,并提供完整的代码实现。本文适合有一定Python基础的开发者学习高级网络爬虫技术。关键词:Python爬虫、抖音API、话题挑战、视频爬取、反反爬本文详细介绍了如何使用Python最新技术栈构建抖音话题挑战视频爬虫。我们从基础请求开始,逐步实现了数据解析、反反爬策略、数据存储等核心功能,并探讨了分布式和增量爬取等高级主题。更智能的反反爬策略。

2201_76125261的博客 1744

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

前程算法屋的博客 748

大数据分析常见的9个错误

  数据是人类的发明。人类定义了他们想要测量的现象,设计系统收集数据,在分析之前进行清理和预处理,最后选择如何解释结果。即使使用相同的数据集,两个人也可以得出截然不同的结论。这是因为数据本身并不是“地面真实”——能够反应客观现实的、可观察的、可证明的数据。   你如何概念化一个现象,确定要测量什么,并决定如何测量,将影响你收集的数据。你利用AI解决问题的能力很大程度上取决于你如何表述你的问题,以及你是否能建立无歧义的”地面真实“。如果你的标准本身是错误的,那么结果不仅是错误的,而且可能对你的业务有害。

中琛魔方大数据 2212

Transformers 实战修炼与源码剖析专栏大纲

本专栏以 Hugging Face Transformers 为主线,围绕“能用、会调、敢上线、懂源码”四个目标展开。内容不把理论堆成公式墙,而是用真实或拟真的业务场景驱动:客服分类、合同抽取、知识库问答、模型微调、推理服务、监控告警、源码扩展等。采用“业务痛点 → 三人剧本对话 → 代码实战 → 总结思考”的四段式结构,让读者在动手完成一个个小项目的过程中,逐步理解 Tokenizer、Model、Pipeline、Trainer、Generation、PEFT、Accelerate、Serving等概念

davidwang456的专栏 922

【DataSophon】大数据管理平台安装部署及常见错误

三体》,这部获世界科幻文学最高奖项雨果奖的作品以惊艳的"硬科幻"风被大家所熟知,其作者刘慈欣更是被誉为"单枪匹马将中国科幻提高到世界级水平"。作为三体中非常重要的角色,智子(Sophon)是将九维的质子进行二维展开,通过电路蚀刻改造成超级计算机后,再转回到微观的十一维来监控人类的一举一动,并利用量子纠缠实现瞬时通信报告给4光年之外的三体文明。说白了智子是三体文明部署在地球的AI实时远程监控和管理平台。

m0_74640785的博客 399

全局注意机制 GAM | Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions

全局注意机制 GAM

Coding... 2575

PyTorch 面试题及参考答案(精选100道)

模块是 PyTorch 中用于自动求导的核心模块。它为张量上的所有操作提供了自动求导的功能。在深度学习中,反向传播是一种用于计算损失函数相对于模型参数的梯度的算法。通过梯度,我们可以使用优化算法(如随机梯度下降)来更新模型的参数,从而最小化损失函数。模块的主要作用就是自动计算这些梯度。当我们创建一个张量时,如果将其属性设置为True,那么 PyTorch 会跟踪该张量上的所有操作。在完成前向传播计算出损失函数后,调用方法,模块会自动根据链式法则反向传播计算出所有需要求导的张量的梯度。

大模型大数据攻城狮的专栏 1681

天津大数据培训班推荐,数据分析过程的常见错误

大数据是对大量、动态、能持续的数据,通过运用分析、挖掘和整理,实现数据信息的有效利用,帮助企业经营决策更好的方案参考。而选择面授的方式价格会贵一些,一般在2万元左右,学习时间一般需要5-6各月的时间,另外根据诚筑说学员基础的不同,所需要的费用也会有所差异。建议大家在行业口碑、师资力量、培训课程、就业服务等方面进行较为全面的考察,理性选择培训班进行学习,根据大数据发展整体来看,我国大数据整体上仍处于起步阶段,就业的岗位也比较多,就业压力相对较小。数据选择是指在进行数据分析时,选择的数据不适合分析的问题。

qq_38453958的博客 637

基于Python的CT骨料图像分割与STL批量导出完整指南

本文介绍了一套完整的Python解决方案,用于CT骨料图像的分割与STL导出。针对CT图像中颗粒粘连、噪声伪影等技术难点,提出基于分水岭算法的分割策略,结合距离变换与标记控制实现颗粒分离。内容包括环境配置、数据读取与预处理、Otsu阈值分割、分水岭算法实现、表面提取与STL导出等关键步骤。教程提供详细代码及解释,帮助读者从CT体数据出发,最终生成每个颗粒的三维网格文件,便于后续定量分析和数值模拟。

huanghm88的专栏 235

【大数据】ClickHouse常见的错误及解决方式

ClickHouse 是一款高性能的列式数据库,但在使用过程中难免会遇到一些错误。本文将介绍一些 ClickHouse 常见的错误及其解决方式,帮助您更好地使用 ClickHouse。

像风走过八千里 2362

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: Hive创建表的过程详细过程
下一篇: 二、数据仓库笔记之数仓分层
Gklearlove
博客等级 码龄9年 8粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值