环境条件:
创建启动服务用户:
useradd elasticsearch
安装elasticsearch
下载软件安装包,根据实际需要安装对应的版本软件
安装软件见首页--在对应的路径下进行下载
解压到指定的路径下,然后进行参数修改和部署
相关参数修改:
编辑vim /etc/elasticsearch/elasticsearch.yml ,注意冒号后面有个空格。
单机安装请取消注释:node.name: node-1,否则无法正常启动。可自定义
修改网络和端口,取消注释master节点,单机只保留一个node
按需修改vim /usr/elasticsearch/config/jvm.options内存设置
根据实际情况修改占用内存,默认都是1G,这里测试机是2G修改为512m,经测试,单机1G内存,设置512兆启动会占用700m+然后在安装kibana后,基本上无法运行了,运行了一会就挂了报内存不足。 内存设置超出物理内存,也会无法启动,启动报错。
修改/etc/sysctl.conf
末尾添加:vm.max_map_count=655360
vim /etc/sysctl.conf
执行sysctl -p 让其生效
修改/etc/security/limits.conf
vim /etc/security/limits.conf
末尾添加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
配置主节点信息:
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master,配置一个主节点
cluster.initial_master_nodes: ["192.168.111.128"]
启动,开机启动
systemctl start elasticsearch #启动
systemctl status elasticsearch #查看
systemctl enable elasticsearch #开机启动
systemctl stop elasticsearch #停止
启动过程中会遇到错误等信息
1、由于启动该应用的时候需要使用普通用户启动,因此也需要修改对应的文件所有者
使用的jdk版本,根据该应用的不同,使用的版本不一致也会无法启动
2、由于不同应用需要调用的版本的不同,也会导致无法启动应用
因此需要在启动的时候定义需要启动的jdk版本
--------------------------------------------------------------------------------
# /usr/lib/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch Server
After=network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/elasticsearch ##定义环境变量
ExecStart=/usr/local/services/elasticsearch-7.10.0/bin/elasticsearch -d
#ExecStop=kill -SIGTERM cat /tmp/elasticsearch.pid
Restart=always
User=elasticsearch
Group=elasticsearch
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
[root@localhost services]#
定义的环境变量信息如下:
[root@localhost services]# cat /etc/sysconfig/elasticsearch
ES_HOME=/usr/local/services/elasticsearch-7.10.0
JAVA_HOME=/usr/local/services/elasticsearch-7.10.0/jdk
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOMR/jre/lib
ES_PATH_CONF=/usr/local/services/elasticsearch-7.10.0/config
ES_STARTUP_SLEEP_TIME=5
[root@localhost services]#
修改文件的所有者信息:
[root@localhost services]# chown -R elasticsearch. elasticsearch-7.10.0/
设置开机自启动和system启动服务
[root@localhost services]# systemctl start elasticsearch.service