=========sqlserver中文显示问号:
ALTER DATABASE 你要更改的数据库的名字 COLLATE Chinese_PRC_CI_AS;
执行失败就重启数据库服务再执行
=========hive字段注释和表注释中文显示问号
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
=========hdfs web显示standby但切换不回来
lsof -i:8020
cd /usr/local/hadoop-3.1.3
sbin/stop-all.sh
lsof -i:8020
kill -9 剩余进程
sbin/start-all.sh
lsof -i:8020
8个正常
查看nn1状态,若还是为standby,则切换
bin/hdfs haadmin -transitionToStandby --forcemanual nn2
注意大写Y
bin/hdfs haadmin -transitionToActive --forcemanual nn1
最后结果:
bin/hdfs haadmin -getServiceState nn1
active
bin/hdfs haadmin -getServiceState nn2
standby
=========dolphin启动报错无可用的master节点
重启dolphin
cd /usr/local/dolphinscheduler-3.1.7/bin/
./stop-all.sh
./start-all.sh
=========hive执行需要计算的sql卡住set mapreduce.job.reduces=
访问8088报错There is no active RM right now. HA Zookeeper Connection State: TERMINATED
1.网上有说设置参数set hive.exec.mode.local.auto=true;
但是执行报错return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)
2.!!!!!最终解决方法
1)检查每个节点zookeeper状态./zkServer.sh status
./zkServer.sh stop
./zkServer.sh start
2)jps查看,ResourceManager和NodeManager是否存在
关闭ResourceManager:yarn --daemon stop resourcemanager
再次jps查看,发现resourceManager依然存在。使用kill -9 杀掉,再启动yarn --daemon start resourcemanager
再去访问8088正常。执行sql正常。
可能原因:yarn resourceManager启动状态不正常。
=========doris安装 using ‘ulimit -n 65536’.
[root@localhost bin]# ./start_be.sh --daemon
Please set the maximum number of open file descriptors to be 65536 using ‘ulimit -n 65536’.
[root@localhost bin]# ulimit -n 65536
- soft nproc 204800
- hard nproc 204800
- soft nofile 204800
- hard nofile 204800
======== zookeeper启动
chown -R dolphinxx /usr/local/zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh start
========doriswriter no route
开放端口 8030 8040 9030
=======kingbase datax连不上
datax的数据库驱动为8.2.0,需要替换为8.6.0
======Failed to flush data to Doris
1.换行符问题。
2.不为空列有空值
=== datax往hdfs写数== Class org.apache.hadoop.hdfs.server.namenode.ha.AdaptiveFailoverProxyProvider not found===Couldn’t create proxy provider null
dfs配的不对,或没在hosts文件映射或者改成用ip:端口
=datax连接华为hive,jdbc=
Unable to read HiveServer2 configs from ZooKeeper
- 没加ZooKeeper依赖
- 没把配置文件放resources里
===数据源连接inceptor报bigdata2找不到host
配置服务器bigdata2的hosts映射
华为keberos认证kafka连接报错=======
Failed authentication with 主机名/ip (An error
: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: GSS initiate failed [Cause
d by GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database
(7) - LOOKING_UP_SERVER)]) occurred when evaluating SASL token received from the Kafka Broker. This may b
e caused by Java’s being unable to resolve the Kafka Broker’s hostname correctly. You may want to try to
adding ‘-Dsun.net.spi.nameservice.provider.1=dns,sun’ to your client’s JVMFLAGS environment. Users must c
onfigure FQDN of kafka brokers when authenticating using SASL and socketChannel.socket().getInetAddress( ).getHostName()
must match the hostname in principal/hostname@realm
Kafka Client will go to AUTHENTICA
TION_FAILED state.)
需要使用华为的kafka包,若引用了还是不管用,检查是不是没有排除普通的kafka包,例如kafka-clients-2.3.1和kafka-clients-2.8.1-h0.cbu.mrs.321.r13不能同时存在。
还有kafka-streams-examples、kafka-streams、kafka_2.12
== inceptor和开源hive和华为hive一起引入项目报错NoClassDefFoundError: org/apache/hive/service/cli/thrift/TProtocolVersion
inceptor用maven引入。华为hive依赖用scope方式引入!!绝不能用maven下载依赖。否则会覆盖开源hive的版本。
== hdfswriter datax 报错Failed on local exception: java.io.IOException: java.lang.IllegalArgumentExceptio
n: Failed to specify server’s Kerberos principal name; Host Details :xx
1.配置kerberosPrincipal需要写全名 2.hadoopConfig里添加dfs.datanode.kerberos.principal和dfs.namenode.kerberos.principal,这两个参数都在hdfs-site.xml里找。
“kerberosPrincipal”: “rd_hdfs@HADOOP.COM”,
“hadoopConfig”: {
“hadoop.security.authentication”: “Kerberos”,
“hadoop.rpc.protection”: “authentication”,
“dfs.namenode.kerberos.principal”: “hdfs/hadoop.hadoop.com@HADOOP.COM”,
“dfs.namenode.rpc-address.hacluster.41”: “xx01:25000”,
“dfs.client.failover.proxy.provider.hacluster”: “org.apache.hadoop.hdfs.server.namenode.ha.AdaptiveFailoverProxyProvider”,
“dfs.ha.namenodes.hacluster”: “40,41”,
“dfs.namenode.rpc-address.hacluster.40”: “xx02:25000”,
“dfs.nameservices”: “hacluster,nsfed”,
“dfs.datanode.kerberos.principal”: “hdfs/hadoop.hadoop.com@HADOOP.COM”
},
== hdfswriter datax 报错找不到org.apache.orc.OrcFil e$WriterOptions.useUTCTimestamp(Z)Lorg/apache/orc/OrcFile
项目是java调用datax。原因是java里引入了hive-exec依赖。和datax里的冲突了,导致有两个org/apache/orc/OrcFile,不知道用哪个。注释掉项目里的hive-exec依赖。
====seatunnel用jdbc插件同步支持的数据源时,报错JDBC-Class not found
已经按文档提示将驱动放入
S
E
A
T
N
U
N
N
E
L
H
O
M
E
/
l
i
b
/
解决:还要将驱动放入
SEATNUNNEL_HOME/lib/ 解决:还要将驱动放入
SEATNUNNELHOME/lib/解决:还要将驱动放入SEATNUNNEL_HOME/plugins/jdbc/lib
没文件夹就自己建上
集群启动,每个节点都要加上。只某个节点加还是偶尔会报这个错误,且报其他错误时还导致日志不详细
=============seatunnel同步数据到oracle ORA-00947: not enough values
插入的数据列数不够
==datax ftpreader总是提示路径不存在或无权限,但实际上文件存在且有权限。原因是链接模式,应为被动PASV
=========使用调度平台类提示 va…,原因是类型不兼容,用字符串或map,不再使用调度平台的实体类
===========ftp有文件但datax读不到,ftp要配成被动模式
=========flinksql master 1 exceeds the maximum number of virtual cores 0 available in the Yarn
yarn application进程太多了拒绝连接
解决:进入yarn application管理页面,找到正在进行的,不用的进程,复制applicationId
进入集群机器 yarn application -kill applicationId
====flinksql One or more required options are missing.
flink sql中建表缺少连接属性,如:schema-name、database-name
======flinksql postgres-cdc NoSuchFieldError: SCAN_INCREMENTAL_SNAPSHOT_BACKFILL_SKIP
换flink-sql-connector-postgres-cdc-3.0.1换成2.4.2.jar
不不不不要加flink-connector-postgres-cdc-2.4.2.jar
======Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/Versioned
ClassNotFoundException: com.fasterxml.jackson.annotation.JsonView
分别加jackson-databind-2.17.1.jar、jackson-core-2.17.1.jar、jackson-annotations-2.17.1.jar
NoClassDefFoundError:org/apache/kafka/connect/data/Schema
加 org.apache.kafka connect-api
org/apache/kafka/common/KafkaException
加kafka-clients-3.5.1.jar
========flinksql postgres PSQLException: ERROR: logical decoding requires wal_level >= logical
编辑postgresql配置文件postgresql.conf
修改修改wal_level = logical
====flinksql postgres Caused by: org.postgresql.util.PSQLException: ERROR: could not access file “decoderbufs”: No such file or directory
原因postgres-cdc没有添加最后一句: ‘debezium.plugin.name’=‘pgoutput’
debezium.plugin.name=‘pgoutput’ 是用来指定 Debezium 的插件为 pgoutput。
在 Debezium 中,插件是用于实现特定数据库连接和数据捕获功能的组件。pgoutput 插件是针对 PostgreSQL 数据库的输出插件,用于将捕获到的数据库更改输出到外部系统或应用程序。
通过指定 debezium.plugin.name=‘pgoutput’,Debezium 将加载 pgoutput 插件,并使用它来连接到 PostgreSQL 数据库,捕获数据变化,并将其输出到指定的目标。
===== Caused by: java.lang.NoSuchMethodError: io.debezium.pipeline.DataChangeEvent.(Lorg/apache/kafka/connect/source/SourceRecord;)V
不不不不不不要加debezium-core-1.9.7.Final.jar
=== Caused by: java.lang.NoSuchMethodError: io.debezium.config.Field.withWidth(Lcom/ververica/cdc/connectors/shaded/org/apache/kafka/common/config/ConfigDef$Width;)Lio/debezium/config/Field;
不不不不不要加debezium-connector-postgres-1.9.7.Final.jar
==========海豚调度dolphinscheduler,任务进程文件夹下某些资源文件无故消失
在代码中没有任何删除操作的情况下,文件突然消失,考虑linux系统的自动清理操作导致的,因为任务进程文件夹位于/tmp下。
根据发行版本不同,linux中/tmp目录的定期清理通常是10天。
查找sudo find /usr/lib/tmpfiles.d/ /etc/tmpfiles.d/ -name ‘tmp.conf’
编辑sudo vim /usr/lib/tmpfiles.d/tmp.conf
在tmp.conf文件中,你会看到类似以下的行,用于定义/tmp目录的清理策略:
d /tmp 1777 root root 10d
这表示/tmp目录会在10天后被清理。你可以将10d更改为你想要的天数,例如30d表示30天后清理。
- 如果你想要完全禁用自动清理,你可以将整行注释掉(在行首添加#)
- 如你不想让系统自动清理 /tmp内的dolphinscheduler目录,那么增加下面这条内容到配置文件中即可:
x /tmp/dolphinscheduler
在修改了tmp.conf文件后,你需要重新加载systemd的配置以使更改生效:sudo systemctl daemon-reload