假设elasticsearch根目录在/opt/elasticsearch-6.2.4
注意事项1,elasticsearch采用通过源码编译的能在root用户下运行的安装包(官网上的非root下运行的安装包以服务的形式启动时报/tmp/elasticsearch**创建失败)
--------
elastic.sh内容
#! /bin/bash
cd /opt/elasticsearch-6.2.4/bin/
./elasticsearch &
--------
基本步骤
1.
在目录/lib/systemd/system/下新建文件flume.service,内容如下
[Unit]
Description=elasticsearch
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/elasticsearch-6.2.4/elastic.sh &>/dev/null
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.
设置文件elasticsearch.service权限
cd /lib/systemd/system/
chmod 777 elasticsearch.service
3,设置服务自启动
systemctl enable elasticsearch.service
---------
可能遇到的问题
问题1,elasticsearch–262144问题
sudo vim /etc/sysctl.conf
在文件最后面添加内容:
vm.max_map_count=262144
保存退出后,执行sysctl -p 刷新生效
问题2,max file descriptor 4096
(i), sudo vim /etc/security/limits.conf
添加
* - nofile 65536
(
有的添加下面两行也可以
* soft nofile 65536
* hard nofile 65536
)
(ii), sudo vim /etc/systemd/system.conf
编辑
DefaultLimitNOFILE=65536
(iii),重启机器(注意,一定要重启修改项才能生效)
reboot
可选项
sudo vim /etc/systemd/user.conf
编辑
DefaultLimitNOFILE=65536
问题3,system call filters failed to install
修改elasticsearch.yml
#bootstrap.memory_lock : false
添加 bootstrap.system_call_filter: false