Что надлежащий путь состоит в том, чтобы установить ZooKeeper на Ubuntu 16.04 и для автономного развертывания и для развертывания мультиузла?

Во-первых, рассмотрите меня как полного новичка Linux. Вся работа, которую я показал здесь, починена из различных источников из Интернета.

Я пытаюсь настроить услуги ZooKeeper с действиями по установке для машин разработки (рабочий гость Ubuntu ОС на VirtualBox), который может также легко использоваться в производственном сценарии (т.е. только путем изменения файла конфигурации). Это шаги, которые я сделал, вопросы внизу.

Java установки:

sudo apt-get update
sudo apt-get install default-jre

Сделайте пользователя системы служителя зоопарка:

sudo adduser --system --no-create-home --disabled-password --disabled-login zookeeper

Используйте wget для загрузки двоичного выпуска:

wget "http://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz"

Создайте соответствующие каталоги:

sudo mkdir /opt/zookeeper
sudo mkdir /var/lib/zookeeper
sudo mkdir /var/lib/zookeeper/logs
sudo mkdir /var/run/zookeeper

Извлеките архив tar:

sudo tar -xvzf zookeeper-3.4.10.tar.gz --directory /opt/zookeeper --strip-components 1

Отредактируйте конфигурацию:

sudo cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
sudo nano /opt/zookeeper/conf/zoo.cfg

Измените опцию конфигурации dataDir на dataDir =/var/lib/zookeeper

Отредактируйте сценарий среды:

sudo nano /opt/zookeeper/bin/zkEnv.sh

Добавьте эту строку к вершине файла: ZOO_LOG_DIR = "/var/lib/zookeeper/logs"

Гарантируйте полномочия:

sudo chown -R zookeeper:nogroup /opt/zookeeper
sudo chown -R zookeeper:nogroup /var/lib/zookeeper
sudo chown -R zookeeper:nogroup /var/run/zookeeper

Создайте systemd сервисный файл:

sudo nano /etc/systemd/system/zookeeper.service

Содержание файла:

[Unit]
Description=Apache ZooKeeper
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
PIDFile=/var/run/zookeeper/zookeeper.pid
User=zookeeper
Group=nogroup
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-failure
SyslogIdentifier=zookeeper

[Install]
WantedBy=multi-user.target

Вопрос: Когда я запускаю, сервис с помощью "sudo systemctl запускают служителя зоопарка", сервер запускается и сразу закрывается. Есть ли что-то не так в установке выше? Есть ли вещи, которые я могу сделать по-другому для улучшения этих шагов (т.е. от точки зрения безопасности)?

Я пытался использовать "sudo склонный - получают установку zookeeperd" и нашел пару препятствий, каждый - то, что местоположение каталога сбивает с толку а не мою симпатию, и два, я не мог соединиться с сервером от другой машины (тайм-аут соединения) даже при том, что сервер отвечает "imok" к "ruok" тесту telnet и на localhost и от удаленной машины (сервер хорошо работает, если я звоню "./zkServer.sh, запускаются" вручную).

Править: Это - консольный вывод, когда я пытался выполнить сервис:

$ sudo systemctl start zookeeper
$ sudo systemctl status zookeeper
● zookeeper.service - Apache Zookeeper
   Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Apr 11 06:47:42 Ubuntu64 systemd[1]: Started Apache Zookeeper.
Apr 11 06:47:42 Ubuntu64 zookeeper[1871]: ZooKeeper JMX enabled by default
Apr 11 06:47:42 Ubuntu64 zookeeper[1871]: Using config: /opt/zookeeper/conf/zoo.cfg
Apr 11 06:47:43 Ubuntu64 zookeeper[1871]: Starting zookeeper ... STARTED
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: ZooKeeper JMX enabled by default
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: Using config: /opt/zookeeper/conf/zoo.cfg
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: Stopping zookeeper ... STOPPED
$ sudo journalctl -u zookeeper.service
-- Logs begin at Rab 2018-04-11 06:45:32 WIB, end at Rab 2018-04-11 06:55:55 WIB. --
Apr 11 06:47:42 Ubuntu64 systemd[1]: Started Apache Zookeeper.
Apr 11 06:47:42 Ubuntu64 zookeeper[1871]: ZooKeeper JMX enabled by default
Apr 11 06:47:42 Ubuntu64 zookeeper[1871]: Using config: /opt/zookeeper/conf/zoo.cfg
Apr 11 06:47:43 Ubuntu64 zookeeper[1871]: Starting zookeeper ... STARTED
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: ZooKeeper JMX enabled by default
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: Using config: /opt/zookeeper/conf/zoo.cfg
Apr 11 06:47:43 Ubuntu64 zookeeper[1891]: Stopping zookeeper ... STOPPED
$
2
задан 11 April 2018 в 03:37

2 ответа

Это минимальное изменение от start кому: start-foreground могло бы быть достаточным:

ExecStart=/opt/zookeeper/bin/zkServer.sh start-foreground

1
ответ дан 2 December 2019 в 04:44

проверьте полномочия на dataDir (zoo.cfg), если пользователь не может записать в том каталоге, сервис не запустится

0
ответ дан 2 December 2019 в 04:44

Другие вопросы по тегам:

Похожие вопросы: