1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bboss-kafka1x-elasticsearch

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

BBoss — хороший Java-клиент для работы с Elasticsearch по протоколу REST. Он работает с Elasticsearch аналогично mybatis.

Требования к среде выполнения BBoss

JDK

Требуется версия 1.8 или выше.

Elasticsearch

Поддерживаются версии:

  • 1.x,
  • 2.X,
  • 5.X,
  • 6.X,
  • 8.x,
  • +.

Spring boot

Поддерживаются версии 1.x и 2.x.

Kafka1x-Elasticsearch — инструмент для синхронизации данных (не рекомендуется)

Инструмент подходит для старых клиентов Kafka. С его помощью можно быстро написать, упаковать и опубликовать инструмент импорта данных, который будет работать в контейнерной среде.

  • Поддерживаемые версии Kafka_2.12: 0.10.2.0.
  • Поддерживаемые версии Elasticsearch: 1.x, 2.x, 5.x, 6.x, 7.x, 8.x.
  • Поддержка импорта больших объёмов данных уровня PB.

Подробнее см. в документации.

Новый клиент Kafka (рекомендуется)

Рекомендуется использовать новый клиент Kafka для синхронизации. Примеры использования доступны по адресу:

https://gitee.com/bboss/kafka2x-elasticsearch.

Импорт Maven координат

<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.

Загрузка исходного кода проекта на основе Gradle

Загрузите исходный код проекта с 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);
	}
    .....
}

Настройка ES

Измените файл 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 в файле 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);//设置批量导入线程池工作线程数量

Техническая группа обмена:166471282

Официальный аккаунт WeChat: bbossgroup

Логотип GitHub

GitHub Logo

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bboss-kafka1x-elasticsearch.git
git@api.gitlife.ru:oschina-mirror/bboss-kafka1x-elasticsearch.git
oschina-mirror
bboss-kafka1x-elasticsearch
bboss-kafka1x-elasticsearch
master