在使用systemd环境下安装Elasticsearch的Gentoo系统
因为我花了一点时间,所以这是一个备忘录。
安装
安装应该很顺利。可能需要更改package.accept_keywords的设置。
sudo emerge elasticsearch
systemd服务模板的位置
当通过emerge安装时,会自动安置openrc用的init脚本,但需要自己配置systemd的service文件。
不过,样本似乎会在emerge时自动配置,并保存在/usr/lib/systemd/system/elasticsearch.service中,
所以将其复制到/etc/systemd/system/下会很好。
更改目录的所有者
OpenRC的初始化脚本中,包含了用于Elasticsearch日志输出等的目录权限和权限检查操作。然而,在systemd的模板中没有这样的描述,因此您需要事先自行更改所有者和组。
chown elasticsearch:elasticsearch /var/log/elasticsearch
chown elasticsearch:elasticsearch /var/lib/elasticsearch
chown elasticsearch:elasticsearch /run/elasticsearch
也许在这里只依靠记忆写下的,可能还有其他需要改变所有者的目录。
elasticsearch.service文件的修改
安装时,被放置的service文件是旧的,因此会因不知default.path.home而出错。
如果将设置了ExecStart的default.path.name的行全部删除,则可以顺利启动。
将其设置为自动启动。
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
闲谈
如果只是这样的变化量,或许为了那些使用systemd USE标志的人撰写Portage的Pull Request可能会更好,但由于不熟悉详细的方法和觉得麻烦,所以暂时搁置。