Для локальной разработки и тестирования мы можем настроить псевдокластер. В псевдокластер также входят брокер 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
- 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;
}