大数据排错

Spark

Spark版本由2.4.2 -> 2.2.0,依赖多个版本冲突

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.9.4

解决思路
maven仓库删除com.fasterxml,查看项目中产生冲突的那些依赖,删除pom中中的那些依赖。

Spark集群启动时候,JAVA_HOME is not set

在spark 根目录使用 sbin/start-all.sh 时,console提示:
slave107 JAVA_HOME not set
在sbin目录下的spark-config.sh 中追加一条记录:
export JAVA_HOME=/home/hadoop/soft/jdk

hadoop集群,某台服务器jps无任何输出

集群启动时,会在/tmp目录下生成一个hsperfdata_username的文件夹,这个文件夹的文件以java进程的pid命名。因此使用jps查看当前进程的时候,其实就是把/tmp/hsperfdata_username中的文件名遍历一遍之后输出。如果/tmp/hsperfdata_username的文件所有者和文件所属用户组与启动进程的用户不一致的话,在进程启动之后,就没有权限写/tmp/hsperfdata_username,所以/tmp/hsperfdata_username是一个空文件,理所当然jps也就没有任何显示。

解决:
使用chown修改/tmp/hsperfdata_dumz的文件所有者和文件所属用户组,重新启动集群或者删除/tmp目录下所有文件重新启动集群

IDEA

internal java compiler error或java compiler failed

1、project的jdk版本设置
在这里插入图片描述
2、具体模块jdk设置
在这里插入图片描述
3、全局设置settings—java compiler设置
在这里插入图片描述

kafka

Connection to node -1 could not be established. Broker may not be available

分析:连接没有建立
解决:You should first describe the topic so that you can see what partitions and broker ids are available.
https://stackoverflow.com/questions/49947075/kafka-console-consumer-connection-to-node-1-could-not-be-established-broker?answertab=votes

hadoop

namenode一直处于安全模式

查看日志发现:
Resources are low on NN. Please add or free up more resources then turn off safe mode manually

解决思路:查看文件系统磁盘空间使用情况: /home目录已经使用完

查看配置文件:core-site.xml、hdfs-site.xml、hdfs-default.xml
[core-site.xml]
hadoop.tmp.dir = /home/yk/hadoop/hadoopData
[hdfs-default.xml]
dfs.name.dir = ${hadoop.tmp.dir}/dfs/name
dfs.data.dir = ${hadoop.tmp.dir}/dfs/data

修改 core-site.xml、hdfs-site.xml
删除core-site.xml中的hadoop.tmp.dir
增加hdfs-site.xml中的dfs.name.dir 、dfs.data.dir
注:dfs.name.dir 、dfs.data.dir指定在不同的目录

错误原因:name与data数据放在同一目录,空间不足时,name数据无法加载

df - report file system disk space usage
-h, --human-readable   -> print sizes in human readable format (e.g., 1K 234M 2G)
-l, --local            -> limit listing to local file systems

在这里插入图片描述

Could not locate executable null \bin\winutils.exe in the hadoop binaries

shell.java
 ......
 String home = System.getProperty("hadoop.home.dir");

    // fall back to the system/user-global env variable
    if (home == null) {
      home = System.getenv("HADOOP_HOME");
    }
 ......

解决:配置环境变量
HADOOP_HOME=F:\soft\hadoop\hadoop-2.7.3
Path=%HADOOP_HOME%\bin

hdfs数据节点空间清理

查看hdfs文件系统,记录需要处理数据的上传时间
hdfs dfs -du -h /

切换目录
/home/yk/hadoop/hadoopData/dfs/data/current/BP-369437989-172.16.2.106-1552725600401/current/finalized

打印/删除特定时间产生的中间数据(比如作业运行失败时间为Mar 24)
find . -maxdepth 3 -type f -newermt “Mar 24” -print
find . -maxdepth 3 -type f -newermt “Mar 24” -delete

spark sql

join操作

df1.join(df2)时候报错如下:
org.apache.spark.sql.AnalysisException: Detected cartesian product for INNER join between logical plans
解决:设置spark.sql.crossJoin.enabled=true
在这里插入图片描述

timeout

执行脚本如下:

/home/hadoop/soft/spark/bin/spark-submit \
--master spark://172.16.2.106:7077 \
--class sql.cluster \
/home/hadoop/test/jars/sparkDemo-1.0-SNAPSHOT-jar-with-dependencies.jar

报错如下:

Connection to slave106/172.16.2.106:33562 has been quiet for 120000 ms while there are outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong

file permissions

保存文件到本地:
在这里插入图片描述
文件格式如下
在这里插入图片描述
加载文件时候报错
在这里插入图片描述
在这里插入图片描述
解决:val accessRDD = spark.sparkContext.textFile(“sparkDemo/data/test_good/*”)

IDEA本地测试 - OutOfMemoryError: GC overhead limit exceeded

hdfs负载均衡

在这里插入图片描述
添加配置
在这里插入图片描述
启动命令
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章