在 Ubuntu Server 14.04 上自动启动 Zookeeper 的最佳方法?

Posted

技术标签:

【中文标题】在 Ubuntu Server 14.04 上自动启动 Zookeeper 的最佳方法?【英文标题】:Best way to start Zookeeper automatically on Ubuntu Server 14.04? 【发布时间】:2015-05-15 00:50:36 【问题描述】:

我在 Ubuntu 服务器 14.04 上使用 sudo apt-get install zookeeper 安装了 Zookeeper。我无法理解如何将 Zookeeper 配置为在启动时自动启动。此外,我只能使用 root 权限手动成功启动它。

我查看了official page 的文档,似乎解决方案是确保 zkServer.sh 或类似的东西在启动时运行。我一直在寻找如何在 Ubuntu 上启动时执行脚本,并找到了一些方法:使用 Upstart、使用 System V、Cron 作业,甚至发现了一个 Python 实用程序,一种共享的灵魂,用于监视进程并在它们崩溃时重新启动它们.鉴于我是 Linux 编程的初学者并且花了太多时间在 Windows 上工作(这种情况很容易解决!),一切似乎都有点复杂,不确定哪个是最好的?

任何帮助将不胜感激。 谢谢。

【问题讨论】:

【参考方案1】:

有一个单独的包提供 ZooKeeper 初始化脚本:

apt-get install zookeeperd

这将自动启动 ZooKeeper。您可以通过以下方式对其进行管理:

service zookeeper # start|stop|status|restart|force-reload

【讨论】:

寻找同样的东西,但我需要在一台服务器上启动 2 个 zookeeper 实例。如何更改脚本以在同一台机器上启动第二个 zookeeper? @merlin 如果您计划将其用于生产,我不建议在同一台机器上启动 2 个 ZooKeeper。如果 ZooKeeper 应该是实时且可靠的,它可能需要专用磁盘。如果您只想将其用于测试,则使用容器(例如 LXC)可能是一种简单的方法。 实际上我需要将它投入生产,solr 每月将处理大约 5000 万个请求。我打算安装在 2 台专用的裸机机器上,每台机器都有 128GB 的​​ RAM。如果一个节点出现故障,服务读取请求就足够了。 顺便说一句。您应该部署 2n+1 个 ZooKeeper 实例以获得高可用性。运行 ZooKeeper 不需要太多内存。 @rhlsthrm 当然,它很可能不在$PATH 上。查看/usr/share/zookeeper/bin/ 或搜索find / -name zkCli.sh

以上是关于在 Ubuntu Server 14.04 上自动启动 Zookeeper 的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 14.04上安装和配置Rstudio-Server

VMware下安装虚拟机Ubuntu14.04 Server设置桥接方式

ubuntu14.04中的redis-server:绑定地址已经在使用中

在 Ubuntu 14.04 上安装 readline 包的 Chef 失败

PXE+kickstart自动安装ubuntu14.04

Ubuntu Server 14.04在VMware安装的一些事儿