Локальный автономный (псевдо) кластер Pulsar (установка на «голое железо» и установка докера) 2.2.0

задняя часть GitHub Apache Docker

Для локальной разработки и тестирования мы можем настроить псевдокластер. В псевдокластер также входят брокер Pulsar, ZooKeeper, BookKeeper.

Производственная среда

Чтобы запустить полнофункциональную установку pulsar, см. http://pulsar.apache.org/docs/en/deploy-bare-metal.

Вручную установить псевдокнопку PULSAR

Системные Требования:

В настоящее время Pulsar может работать на системах Macos и Linux и должен иметь установленную версию java8.

Установить:

Загрузите бинарный пакет по

  • Скачать с зеркала на официальном сайте Apache:

    • https://archive.apache.org/dist/pulsar/pulsar-2.2.0/apache-pulsar-2.2.0-bin.tar.gz
  • Скачать со страницы загрузки официального сайта Pulsarpulsar.apache.org/download/

  • Загрузите со страницы релизов Pulsar на github: https://github.com/apache/pulsar/releases/tag/v2.2.0.

  • использоватьwget:

    $ wget https://archive.apache.org/dist/pulsar/pulsar-2.2.0/apache-pulsar-2.2.0-bin.tar.gz
    Copy

После завершения загрузки извлеките его в пользовательский каталог:

$ tar xvfz apache-pulsar-2.2.0-bin.tar.gz
$ cd apache-pulsar-2.2.0

Что входит в комплект:

Бинарный пакет изначально содержит следующие каталоги:

Directory Contains
bin Инструменты командной строки для Pulsar, такие какpulsar а также pulsar-admin
conf Файл конфигурации Pulsar, включая конфигурациюbroker configuration, ZooKeeper configuration, Ждать
examples один оPulsar Functionsпример
lib Некоторые пакеты jar, от которых зависит Pulsar
licenses некоторые лицензионные файлы

После запуска Pulsar будут созданы следующие папки:

Directory Contains
data Каталог хранения данных ZooKeeper и BookKeeper
instances Pulsar Functionsтребуемый каталог
logs Некоторые журналы, созданные во время установки

Устанавливаем встроенный коннектор:

Начиная с версии 2.1.0-incubing, коннекторы выпускаются отдельно. Если вы хотите использовать его, вам нужно загрузить его отдельно. Скачать через

  • Скачать с зеркала Apache:

  • Загрузите со страницы загрузки Pulsar: http://pulsar.apache.org/download

  • Загрузите со страницы релизов Pulsar на github: https://github.com/apache/pulsar/releases/latest.

  • использовать wget:

    $ wget https://archive.apache.org/dist/pulsar/pulsar-2.2.0/apache-pulsar-io-connectors-2.2.0-bin.tar.gz
    

После завершения загрузки разархивируйте загруженный zip и скопируйте загруженный контент в коннекторы в папке pulsar (если у вас нет этого каталога, вы можете создать его напрямую):

/pulsar

         /bin

         /lib

          /conf

          /data

          /connectors

$ tar xvfz /path/to/apache-pulsar-io-connectors-2.2.0-bin.tar.gz

// you will find a directory named `apache-pulsar-io-connectors-2.2.0` in the pulsar directory
// then copy the connectors

$ cd apache-pulsar-io-connectors-2.2.0/connectors connectors

$ ls connectors
pulsar-io-aerospike-2.2.0.nar
pulsar-io-cassandra-2.2.0.nar
pulsar-io-kafka-2.2.0.nar
pulsar-io-kinesis-2.2.0.nar
pulsar-io-rabbitmq-2.2.0.nar
pulsar-io-twitter-2.2.0.nar
...
Copy


запускать:

Войдите в папку pulsar/bin/, которую мы только что распаковали, и выполните следующую команду.

$ bin/pulsar standalone

Если он запустится нормально, вы увидите сообщение, подобное следующему:

2017-06-01 14:46:29,192 - INFO  - [main:WebSocketService@95] - Global Zookeeper cache started
2017-06-01 14:46:29,192 - INFO  - [main:AuthenticationService@61] - Authentication is disabled
2017-06-01 14:46:29,192 - INFO  - [main:WebSocketService@108] - Pulsar WebSocket Service started
Copy


Установите псевдокластер пульсара с помощью Docker

Так же мы можем установить псевдокластер пульсара через докер

docker run -it -p 80:80 -p 8080:8080 -p 6650:6650 apachepulsar/pulsar-standalone
Copy

Роль нескольких портов:

  • 80: приборная панель пульсара
  • 8080: Порт, через который pulsar предоставляет внешние услуги через http
  • 6650: Порт предоставляется pulsar через двоичный протокол.

После завершения запуска мы можем получить к нему доступ через браузерhttp://localhost .

Тестирование кластера Pulsar

Pulsar предоставляет инструмент командной строки pulsar-client.Следующий оператор использует pulsar-client для отправки сообщения в my-topic:

$ bin/pulsar-client produce my-topic --messages "hello-pulsar"

Если отправка прошла успешно, мы увидим сообщение ниже

13:09:39.356 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced

Нет необходимости явно создавать новые темы

Как вы могли заметить, мы не создали мою тему перед отправкой сообщения. Если мы отправим сообщение в тему, если тема не была создана заранее, Pulsar автоматически создаст ее для нас.

Клиент, использующий Pulsar

После того, как кластер установлен, мы можем взаимодействовать с Pulsar через клиент (java, python, c++, go и т. д.), предоставленный Pulsar.

  • http://localhost:8080
  • pulsar://localhost:6650

JavaПример производителя клиента:

String localClusterUrl = "pulsar://localhost:6650";

PulsarClient client = PulsarClient.builder().serviceURL(localClusterUrl).build();
Producer<byte[]> producer = client.newProducer().topic("my-topic").create();

PythonПример производителя:

import pulsar

client = pulsar.Client('pulsar://localhost:6650')
producer = client.create_producer('my-topic')

C++Пример производителя:

Client client("pulsar://localhost:6650");
Producer producer;
Result result = client.createProducer("my-topic", producer);
if (result != ResultOk) {
    LOG_ERROR("Error creating producer: " << result);
    return -1;
}