参考:
说明
- 系统:CentOS Linux release 7.3.1611 (Core)
- elasticsearch版本
elasticsearch-6.2.4(当前最新版) - elasticsearch运行用户、组:
- 用户: elasticsearch
- 组: elasticsearch
- 目录:
/data/soft/elasticsearch-6.2.4 - 工具:
aria2c多线程下载
前置说明:
- 需要单独安装配置java环境
安装
- 下载elasticsearch6.2.4
aria2c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz - 解压
tar -zxvf elasticsearch-6.2.4.tar.gz
创建用户、用户组
- 创建用户组
groupadd elasticsearch - 创建用户
useradd -s /sbin/nologin -g elasticsearch elasticsearch - 将elasticsearch6.2.4目录属主设置成elasticsearch
chown -R elasticsearch: elasticsearch-6.2.4
配置
-
elasticsearch.yml
# config cluster.name: ai-log node.name: node1 # 绑定ip network.host: 10.0.0.1 http.port: 9200 # 配置目录 path.data: /data/soft/elasticsearch-6.2.4/data path.logs: /data/soft/elasticsearch-6.2.4/logs # 发现节点 # discovery.zen.ping.unicast.hosts: # - 10.0.0.2:9300 # 最低master节点数 discovery.zen.minimum_master_nodes: 1 # 主节点+数据节点 node.master: true node.data: true # 设置队列长度 thread_pool.bulk.queue_size: 2000 thread_pool.index.queue_size: 2000 # 支持跨域 http.cors.allow-origin: "*" http.cors.enabled: true http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization http.cors.allow-credentials: true
-
jvm.options
- 设置jvm内存,请根据本机内存设置
-Xms4g -Xmx4g
- 设置jvm内存,请根据本机内存设置
配置systemctl管理
-
修改系统参数vm.max_map_count
- 创建文件/usr/lib/sysctl.d/elasticsearch.conf
vm.max_map_count=262144
- 加载配置文件
sysctl -p /usr/lib/sysctl.d/elasticsearch.conf - 查看参数
sysctl -a | grep vm.max_map_count,如果修改成功则ok
- 创建文件/usr/lib/sysctl.d/elasticsearch.conf
-
添加systemctl配置文件
- 创建文件/usr/lib/systemd/system/elasticsearch.service
[Unit] Description=Elasticsearch Documentation=http://www.elastic.co Wants=network-online.target After=network-online.target [Service] RuntimeDirectory=elasticsearch Environment=ES_HOME=/data/soft/elasticsearch-6.2.4 Environment=ES_PATH_CONF=/data/soft/elasticsearch-6.2.4/config Environment=PID_DIR=/var/run/elasticsearch EnvironmentFile=-/etc/sysconfig/elasticsearch WorkingDirectory=/data/soft/elasticsearch-6.2.4 User=elasticsearch Group=elasticsearch ExecStart=/data/soft/elasticsearch-6.2.4/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet # StandardOutput is configured to redirect to journalctl since # some error messages may be logged in standard output before # elasticsearch logging system is initialized. Elasticsearch # stores its logs in /var/log/elasticsearch and does not use # journalctl by default. If you also want to enable journalctl # logging, you can simply remove the "quiet" option from ExecStart. StandardOutput=journal StandardError=inherit # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Specifies the maximum number of processes LimitNPROC=4096 # Specifies the maximum size of virtual memory LimitAS=infinity # Specifies the maximum file size LimitFSIZE=infinity # Disable timeout logic and wait until process is stopped TimeoutStopSec=0 # SIGTERM signal is used to stop the Java process KillSignal=SIGTERM # Send the signal only to the JVM rather than its control group KillMode=process # Java process is never killed SendSIGKILL=no # When a JVM receives a SIGTERM signal it exits with code 143 SuccessExitStatus=143 [Install] WantedBy=multi-user.target
- 创建文件/usr/lib/systemd/system/elasticsearch.service
-
systemctl管理
systemctl start elasticsearch.service
systemctl stop elasticsearch.service
systemctl restart elasticsearch.service
systemctl status elasticsearch.service
注意事项
- elasticsearch不能使用root用户启动
- 如果使用elasticsearch用户启动,请确保elasticsearch用户对 elasticsearch6.2.4目录有权限
- 注意系统参数有未修改成功,比如:vm.max_map_count
- jvm.options配置文件里的-Xms4g、-Xmx4g参数根据自己机器内存设置成合适的值
网友评论