Перейти к основному содержимому
Версия: 2.0.x

Flink Connector

Описание проблемы:

Время, генерируемое функцией localtimestap, нормальное во Flink. Но оно стало опаздывать на 8 часов при записи в Selena. Сервер Flink и сервер Selena находятся в одном часовом поясе, а именно Asia/Shanghai UTC/GMT+08:00. Версия Flink — 1.12. Драйвер: flink-connector-jdbc_2.11. Как решить эту проблему?

Решение:

Попробуйте настроить параметр времени 'server-time-zone' = 'Asia/Shanghai' в таблице Flink sink. Вы также можете добавить &serverTimezone=Asia/Shanghai в jdbc url. Пример показан ниже:

CREATE TABLE sk (
sid int,
local_dtm TIMESTAMP,
curr_dtm TIMESTAMP
)
WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://192.168.110.66:9030/sys_device?characterEncoding=utf-8&serverTimezone=Asia/Shanghai',
'table-name' = 'sink',
'driver' = 'com.mysql.jdbc.Driver',
'username' = 'sr',
'password' = 'sr123',
'server-time-zone' = 'Asia/Shanghai'
);

Описание проблемы:

failed to query wartermark offset, err: Local: Bad message format

Решение:

Для связи Kafka требуется имя хоста. Пользователям необходимо настроить разрешение имени хоста /etc/hosts на узлах Selena cluster.

Может ли Selena экспортировать 'create table statements' пакетами?

Решение:

Вы можете использовать Selena Tools для экспорта операторов.

Память, запрошенная BE, не возвращается операционной системе

Это нормальное явление, поскольку большие блоки памяти, выделенные базе данных из операционной системы, резервируются во время выделения и откладываются при освобождении для повторного использования памяти и более удобного выделения памяти. Рекомендуется пользователям проверить тестовую среду, отслеживая использование памяти в течение более длительного периода времени, чтобы убедиться, что память может быть освобождена.

Описание проблемы:

Этот пакет необходимо получить через адрес зеркала Aliyun.

Решение:

Убедитесь, что часть mirror в /etc/maven/settings.xml полностью настроена для получения через адрес зеркала Aliyun.

Если это так, измените на следующее:

aliyunmaven centralaliyun public repohttps: //maven.aliyun.com/repository/public

Описание проблемы:

+----------------------+--------------------------------------------------------------+
| Option | Required | Default | Type | Description |
+-------------------------------------------------------------------------------------+
| sink.buffer-flush. | NO | 300000 | String | the flushing time interval, |
| interval-ms | | | | range: [1000ms, 3600000ms] |
+----------------------+--------------------------------------------------------------+

Если этот параметр установлен на 15 секунд при интервале checkpoint, равном 5 минутам, будет ли это значение по-прежнему действовать?

Решение:

Какой из трёх порогов будет достигнут первым, тот и вступит в силу первым. Это не зависит от значения интервала checkpoint, который работает только для exactly once. Interval-ms используется для at_least_once.

Настройте следующие свойства:

sink.properties.partial_update=true
sink.properties.columns=<primary_key,columns_to_update>

Уменьшите частоту пакетов или установите sink.properties.ignore_json_size в true (что может привести к повышенному использованию памяти).

Добавьте следующую конфигурацию:

'debezium.bigint.unsigned.handling.mode' = 'precise'

load_url недоступен или испытывает таймаут. Увеличьте значение свойства sink.connect.timeout-ms (Диапазон: [100, 60000]).