概述
记录任何数据问题
- 问题 🤡
hivesqoop
使用sqoop hive数据导出到MySQL时遇到以下问题
1
2
3 FATAL [IPC Server handler 17 on 16362] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1573804393361_8208_m_000002_0 - exited : Java heap space
2019-11-19 13:19:31,067 INFO [IPC Server handler 17 on 16362] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1573804393361_8208_m_000002_0: Error: Java heap space
2019-11-19 13:19:31,069 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1573804393361_8208_m_000002_0: Error: Java heap space
==方法:== 😀
java 堆内存溢出 需要单独配置map 配置
在导出参数中添加一下配置
-Dmapreduce.map.memory.mb=1024 \
-Dmapreduce.map.java.opts=-Xmx4200m \
参考地址:
https://stackoverflow.com/questions/39208415/java-heap-size-error-in-sqoop-import
- 问题 🤡
canal
使用canal监听mysql binlog 修改配置 未重启服务 导致数据解析错误
==方法==😀
重启服务OK
进入 /usr/local/src/canal_1.1.4/bin 运行restart.sh 脚本
- 问题 🤡
flinkhbase
hbase 服务重启时 点击配置客户端导致HDFS集群重启 导致flink 实时任务进程挂掉
==方法==😀
重启服务时预估造成的后果,能有预警和备用解决方案,添加新可读账户,避免误操作
- 问题 🤡
hdfsdatanode
datanode 不定时爆出内存溢出 进程退出问题
==方法😀==
设置hdfs DataNode 的 Java 堆栈大小 2 G (默认设置是1G)
- 问题 🤡
ssh免密
driver1机器和datax机器互为免密登录但是突然出现问题
driver1机器上能使用datax 用户免密登录datax机器 但是datax机器上却不能使用airflow用户登录driver1 机器
==方法==😀
原因是.ssh目录下的
..目录权限有问题,需要检查所有的目录权限
.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整
sudo chmod 700 ~/.ssh
sudo chmod 700 /home/当前用户
.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整
sudo chmod 600 ~/.ssh/authorized_keys
- 问题 🤡
sparkspark-sqloom
spark-sql 跑任务时出现oom问题
==方法😀==
由于大表join 小表出现数据倾斜的问题 使用参数实现 JOIN过程动态广播 把小表join之前广播到各个机器
–conf spark.sql.autoBroadcastJoinThreshold=10485760
类似Hive中的mapjoin,在join的过程中把小于10M的小表广播到所有节点,从而进行Hashjoin,提升join的效率。
参数参考地址 https://www.cnblogs.com/yin-fei/p/10985683.html
设置方式可以使用 spark-sql –help 查看
- 问题 🤡
hive
为hive 表在固定字段之后添加字段
==方法==
修改步骤
1、新增字段,默认增加到最后一列ALTER TABLE xx ADD COLUMNS (xx STRING COMMENT ‘Department name’);
alter table xxx add columns (tal_id string comment ‘talid’);
2、可修改字段顺序
alter table xxx change column tal_id tal_id string after student_code ;3、增加字段改了顺序后,字段值错位,需要指定顺序重新刷数据
set hive.exec.dynamic.partition.mode=nonstrict;
INSERT OVERWRITE table xx PARTITION(dt)
select
xx,xx
FROM
xx
;
4、更改mysql表结构,与hive同步
- 问题 🤡
CDHntp
CDH出现时钟偏差
==方法==😀
问题的原因是ntp服务出问题了 可能服务不同步了 添加配置一个服务
vim /etc/ntp.conf
server 10.0.61.4 prefer
server 127.127.1.0
fudge 127.127.1.0 stratum 10
重启 service ntpd restart
然后 service ntpd status
- 问题
==方法==
- 问题
==方法==
- 问题
==方法==
- 问题
==方法==
- 问题
==方法==
- 问题