предисловие
ЗаписыватьZookeeperПроцесс построения кластера!
Что такое зоозащитник?
ZooKeeper — это распределенная программа с открытым исходным кодом.Служба координации распределенных приложений, является реализацией Chubby от Google с открытым исходным кодом и важным компонентом Hadoop и Hbase. Это программное обеспечение, которое предоставляет согласованные услуги для распределенных приложений.Предоставляемые функции включают в себя: обслуживание конфигурации, службу доменных имен, распределенную синхронизацию, групповую службу и т. д.
Фокус:Служба координации распределенных приложений, в распределенной системе обычно требуется общий центр регистрации и обнаружения служб, поэтомуZookeeperИменно такую роль должен сыграть очень известный распределенный фреймворк в Китае.DubboТакже рекомендуется использоватьZookeeperСлужить центром регистрации и обнаружения служб.
Подготовка окружающей среды
подготовить триLinuxВиртуальная машина, перейдите на официальный сайт для скачиванияzookeeperСжатый пакет, если вы не знаете, как скачать официальный сайт, вы можете ответить в публичном аккаунте «Чжан Шаолинь».Java工具Получить ссылку для скачивания сетевого диска
| OS | Имя процессора | ip | смотритель зоопарка / порт |
|---|---|---|---|
| centos7 | LIHETEST6 | 192.168.2.216 | zookeeper-3.4.11.tar.gz/2181 |
| centos7 | LIHETEST7 | 192.168.2.217 | zookeeper-3.4.11.tar.gz/2181 |
| centos7 | LIHETEST8 | 192.168.2.218 | zookeeper-3.4.11.tar.gz/2181 |
Настройка сопоставления хостов серверов
Выполните следующие операции на трех серверах соответственно, здесьLIHETEST6Например:
- Просмотр локального имени хоста:
hostname -
vim /etc/hostnameУдалите исходный контент и добавьте новое имя хоста:LIHETEST6 - Установите имя хоста и сопоставление IP:
vim /etc/hostsДобавьте содержимое в конец файла, формат: IP-адрес Имя хоста (разделенные пробелами), сохраните и выйдите, например:192.168.2.216 LIHETEST6 - Перезапустите сетевую службу:
systemctl restart network
Автономное развертывание
будетZookeeperПосле загрузки сжатого пакета на сервер распакуйте его.
//上传压缩包
scp zookeeper-3.4.11.tar.gz root@192.168.2.219:/home/tools
//登录到服务器目录 解压
tar -zxvf zookeeper-3.4.11.tar.gz
//进入zookeeper主目录
cd zookeeper-3.4.11
После распаковки смотрим что там:
Нам просто нужно сосредоточиться на этих двух каталогах:
- каталог bin: каталог выполнения скрипта, где некоторые
Zookeeperскрипты запуска и т.д. - каталог conf: каталог файла конфигурации
выполнить команду скрипта./bin/zkServer.sh startзапускатьZookeeper, результат следующий:
подсказка не найдена../conf/zoo.cfgфайл, но он печатает в концеSTARTED, поэтому выполните./bin/zkServer.sh statusсм. текущиеZookeeperсостояние, результат такой:
Приведенные выше результаты очень ясны,ZookeeperОшибка запуска, так как не удалось найти файл конфигурации:./conf/zoo.cfg,./bin/zkServer.sh startПри запуске команды этот файл конфигурации используется по умолчанию для запуска, а при инициализации./confВ каталоге нет такого файла, проверьте./confПример файла конфигурации находится в./conf/zoo_sample.cfg, поэтому выполнитеcp ./conf/zoo_sample.cfg ./conf/zoo.cfgсделать копию./conf/zoo.cfgФайл выходит, снова выполнить команду для запускаZookeeper, результат следующий:
Как можно заметитьZookeeperОн был запущен, и он запущен в автономном режиме.
Посмотрите еще раз информацию в журнале запуска.cat zookeeper.out:
zookeeperначать, привязать2181порт, чтобы увидеть, существует ли процесс:netstat -lntp | grep 2181, результат следующий:
tcp6 0 0 :::2181 :::* LISTEN 27201/java
Разбор файла конфигурации
- tickTime: количество миллисекунд, в течение которых клиент и сервер сохраняют пульс.
- initLimit: количество сердечных сокращений, допустимое изначально
- syncLimit: дождитесь максимально допустимого количества сердечных сокращений
- dataDir: Каталог, в котором хранятся моментальные снимки. По умолчанию используется системный временный каталог. Рекомендуется настроить каталог для фактического использования.
- clientPort: порт, открытый для клиентского доступа
Развертывание псевдокластера на одном компьютере
Иногда мы будем строить псевдокластер на этой машине для тестирования кода проекта, тогда нам нужно всего лишь запустить три разные конфигурацииZookeeperТо есть, пока порты разные, их можно считать разными программами.
существует./confДобавить в каталогzoo1.cfg,zoo2.cfg,zoo3.cfgконфигурационный файл, которыйdataDirКаталоги отличаются последовательностью,clientPortнастроены как2181,2182,2183. запускатьZookeeper, укажите файл конфигурации явно, например:./bin/zkServer.sh start conf/zoo3.cfg, начать три подрядZookeeperконфигурационный файл. . затем, наконец, выполнитьnetstat -lntpВзгляните на статус прослушивания порта:
Вы можете видеть, что три монитора активированы на разных портах.Zookeeper.
Развертывание кластера с несколькими машинами
В реальной производственной среде мы обычно создаем многомашинный кластер с очевидной целью повышения отказоустойчивости.
Установите по одному на каждую из трех машинZookeeperслужбы, эти три машины образуют небольшой кластер.
Изменить в каждой машине./conf/zoo.cfgФайл конфигурации выглядит следующим образом:
initLimit=10 // 初始容忍的心跳数
syncLimit=5 // 等待最大容忍的心跳数
dataDir=/home/wwwroot/easywits/tools/zookeeper-3.4.11/data //数据存储目录
dataLogDir=/home/wwwroot/easywits/tools/zookeeper-3.4.11/logs //数据日志文件目录
clientPort=2181 //zookeeper 监听端口
server.1=192.168.2.216:2888:3888 //主机ip/服务间心跳连接端口/数据端口
server.2=192.168.2.217:2888:3888
server.3=192.168.2.218:2888:3888
Отдельно в каждом каталоге данных сервера/home/wwwroot/easywits/tools/zookeeper-3.4.11/dataновое имяmyidтекстовый файл, содержимое0,1,2, то есть каждая единица в кластереZookeeperУникальный идентификатор сервиса, который нельзя повторить.В качестве примера возьмем первый:
echo "0" > /home/wwwroot/easywits/tools/zookeeper-3.4.11/data/myid
запускатьZookeeper : ./bin/zkServer.sh start
Глядя на каждый сервер,Zookeeperсостояние:./bin/zkServer.sh status, Результаты приведены ниже:
Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower
Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: leader
Using config: /home/wwwroot/easywits/tools/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower
Вы можете увидеть режим запуска, первый и третийfollower, а второй -leader
Уведомление:ZookeeperРазмер кластера, количество машин может быть тольконечетное число, в случае кластера из трех машин может зависнуть максимум одна из них.Если мастер-нода выйдет из строя, оставшиеся два сервиса переизберут одну в качестве мастер-ноды.
Суммировать
-
ZookeeperНе удалось запустить, можно найти в./zookeeper.outЖурнал исключений просмотра файлов - за машину
myidКонтент является уникальным идентификатором сервиса и не может быть повторен - Убедитесь, что каждая машина должна иметь возможность
pingПри необходимости сначала отключите брандмауэр - На сервере Alibaba Cloud используйте интрасеть.
ipнастроить - Убедитесь, что используемый порт не используется
-
ZookeeperКоличество компьютеров кластера может быть только нечетным.На ooo .cn blog .com / Lee S co подала ...
PS: Что касается инструментов, которые вам нужно использовать, вы можете ответить в публичном аккаунте «Чжан Шаолинь».Java工具Получить ссылку для скачивания сетевого диска
В конце концов
записать волнуZookeeperВ процессе строительства оригинальные статьи будут время от времени обновляться Добро пожаловать в паблик-аккаунт "Чжан Шаолинь"!