BBoss — хороший Java-клиент для работы с Elasticsearch по протоколу REST. Он работает с Elasticsearch аналогично mybatis.
Требуется версия 1.8 или выше.
Поддерживаются версии:
Поддерживаются версии 1.x и 2.x.
Kafka1x-Elasticsearch — инструмент для синхронизации данных (не рекомендуется)
Инструмент подходит для старых клиентов Kafka. С его помощью можно быстро написать, упаковать и опубликовать инструмент импорта данных, который будет работать в контейнерной среде.
Новый клиент Kafka (рекомендуется)
Рекомендуется использовать новый клиент Kafka для синхронизации. Примеры использования доступны по адресу:
https://gitee.com/bboss/kafka2x-elasticsearch.
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-datatran-kafka1x</artifactId>
<version>7.0.9</version>
<scope>compile</scope>
</dependency>
Для сборки и публикации версии требуется Gradle. Подробные инструкции по установке и настройке Gradle доступны в документации:
https://esdoc.bbossgroups.com/#/bboss-build.
Загрузите исходный код проекта с GitHub:
https://github.com/bbossgroups/kafka1x-elasticsearch. Затем импортируйте проект в IDE (например, IDEA или Eclipse) и настройте логику импорта программы в соответствии со своими потребностями.
Если необходимо протестировать и отладить функцию импорта, запустите метод main класса Kafka2ESdemo:
public class Dbdemo {
public static void main(String[] args){
Kafka2ESdemo dbdemo = new Kafka2ESdemo();
boolean dropIndice = true;//CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值
dbdemo.scheduleTimestampImportData(dropIndice);
}
.....
}
Измените файл application.properties в папке src/main/resources.
После завершения настройки можно приступать к функциональной отладке.
Протестируйте и отладьте программу. После успешного тестирования можно приступить к сборке и публикации рабочей версии.
Перейдите в командную строку и выполните команду release.bat в корневом каталоге проекта kafka1x-elasticsearch для создания пакета.
После успешной сборки Gradle в каталоге build/distributions появится исполняемый zip-пакет. Распакуйте его и запустите программу.
В Linux:
chmod +x restart.sh ./restart.sh
В Windows: restart.bat
Настройте параметры JVM в файле jvm.options, указав размер памяти и другие параметры. Например:
-Xms1g -Xmx1g
Чтобы избежать постоянной упаковки и публикации данных во время отладки, можно настроить некоторые параметры управления в файле запуска resources/application.properties. Затем получить эти параметры в коде следующим образом:
#工具主程序
mainclass=org.frameworkset.elasticsearch.imp.Kafka2ESdemo
# 参数配置
# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
dropIndice=false
Получить параметр dropIndice в коде:
boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
Также можно настроить параметры управления выполнением задания в файле resources/application.properties, такие как количество рабочих потоков, размер очереди ожидания и размер пакета обработки.
Например:
queueSize=50 workThreads=10 batchSize=20
Получите эти параметры в методе выполнения задания:
int batchSize = CommonLauncher.getIntProperty("batchSize",10);//同时指定了默认值
int queueSize = CommonLauncher.getIntProperty("queueSize",50);//同时指定了默认值
int workThreads = CommonLauncher.getIntProperty("workThreads",10);//同时指定了默认值
importBuilder.setBatchSize(batchSize);
importBuilder.setQueue(queueSize);//设置批量导入线程池等待队列长度
importBuilder.setThreadCount(workThreads);//设置批量导入线程池工作线程数量
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )