前言
操作系统:Kylin Linux Advanced Server release V10 (Tercel)
elasticsearch-7.15.2
只允许普通用户操作,不允许root用户
注意:因为elasticsearch有远程执行脚本的功能所以容易中木马病毒,所以不允许用root用户启动,root用户是起不来的,赋权限,用一般的用户启动
要配置network.host才能别的机器或者网卡访问,否则只能是127.0.0.1或者localhost访问,这里配置成自己的局域网ip
注意:配置yml结尾的配置文件都需要冒号后面加空格才行
一、下载与解压
官网下载:https://www.elastic.co/cn/downloads/elasticsearch
注意下载的是aarch64版本的,并不是x86的。
将elasticsearch-7.15.2-linux-aarch64.tar.gz上传到服务器,并进行解压。
上传安装包:
将elasticsearch-7.15.2-linux-aarch64.tar.gz上传到 /usr/local/src
用Xftp软件连接登录部署es的服务器,进行安装包的上传
将安装包elasticsearch-7.15.2-linux-aarch64.tar.gz拖动到/usr/local/src文件夹中
Centos中查看有哪些用户
cut -d : -f 1 /etc/passwd
创建一个新用户
adduser elasticsearch
为新用户创建初始化密码
passwd elasticsearch
root用户解压文件
tar -zxvf elasticsearch-7.15.2-linux-aarch64.tar.gz
复制到指定目录下
cp -R elasticsearch-7.15.2 /usr/local/
设置授权范围
chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-7.15.2/
二、修改配置文件
1、修改 elasticsearch.yml 设置elastic
命令:
vi /usr/local/elasticsearch-7.15.2/config/elasticsearch.yml
使用上面命令打开elasticsearch.yml,在此文件编辑如下所示相应配置:
# ======================== Elasticsearch Configuration =========================## NOTE: Elasticsearch comes with reasonable defaults for most settings.# Before you set out to tweak and tune the configuration, make sure you# understand what are you trying to accomplish and the consequences.## The primary way of configuring a node is via this file. This template lists# the most important settings you may want to configure for a production cluster.## Please consult the documentation for further information on configuration options:# https://www.elastic.co/guide/en/elasticsearch/reference/index.html## ---------------------------------- Cluster -----------------------------------## Use a descriptive name for your cluster:#cluster.name: my-application## ------------------------------------ Node ------------------------------------## Use a descriptive name for the node:#node.name: node-1## Add custom attributes to the node:##node.attr.rack: r1## ----------------------------------- Paths ------------------------------------## Path to directory where to store the data (separate multiple locations by comma):##path.data: /path/to/data## Path to log files:##path.logs: /path/to/logs## ----------------------------------- Memory -----------------------------------## Lock the memory on startup:##bootstrap.memory_lock: true## Make sure that the heap size is set to about half the memory available# on the system and that the owner of the process is allowed to use this# limit.## Elasticsearch performs poorly when the system is swapping the memory.## ---------------------------------- Network -----------------------------------## By default Elasticsearch is only accessible on localhost. Set a different# address here to expose this node on the network:#network.host: 0.0.0.0## By default Elasticsearch listens for HTTP traffic on the first free port it# finds starting at 9200. Set a specific HTTP port here:#http.port: 9200## For more information, consult the network module documentation.## --------------------------------- Discovery ----------------------------------## Pass an initial list of hosts to perform discovery when this node is started:# The default list of hosts is ["127.0.0.1", "[::1]"]## discovery.seed_hosts: ["127.0.0.1", "host2"]## Bootstrap the cluster using an initial set of master-eligible nodes:#cluster.initial_master_nodes: ["node-1"]## For more information, consult the discovery and cluster formation module documentation.## ---------------------------------- Various -----------------------------------## Require explicit names when deleting indices:##action.destructive_requires_name: true
2、配置文件说明:
#集群名称
cluster.name: my-application
#节点名称
node.name: node-1
#当前节点所绑定的本机IP
network.host: 0.0.0.0
#初始化集群主节点
cluster.initial_master_nodes: ["node-1"]
注意:如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动可以自动组成集群,
这里如果不改cluster.name则默认是cluster.name=elasticsearch,nodename随意取但是集群内的各节点不能相同。
3、编辑 /etc/security/limits.conf,追加以下内容:
* soft nofile 65536* hard nofile 65536* soft nproc 4096* hard nproc 4096
此文件修改后需要重新登录用户,才会生效
4、修改/etc/sysctl.conf:
vi /etc/sysctl.conf
使用上面命令打开/etc/sysctl.conf ,在此文件最下面加入如下所示配置:
vm.max_map_count=655360
保存后如下图所示:
执行如下所示命令:
sysctl -p
重新启动,成功。
三、启动ES
切换用户:
su elasticsearch
启动ES:
sh /usr/local/elasticsearch-7.15.2/bin/elasticsearch
后台启动:
sh /usr/local/elasticsearch-7.15.2/bin/elasticsearch -d
查看ES日志:
tail -f /usr/local/elasticsearch-7.15.2/logs/my-application.log
四、测试访问
本机访问:
[root@localhost ~]# curl 127.0.0.1:9200
局域网访问,注意:关闭防火墙
systemctl status firewalld
五、设置开机启动
1、建立服务文件
vi /lib/systemd/system/elasticsearch.service
[Unit]Description=elasticsearch[Service]LimitNOFILE=100000LimitNPROC=100000ExecStart=/usr/local/elasticsearch-7.15.2/bin/elasticsearchUser=elasticsearchGroup=elasticsearch[Install]WantedBy=multi-user.target
2、设置开机自启动
重新加载systemd的守护线程:systemctl daemon-reloadsystemctl enable elasticsearch
3、其它
启动elasticsearch.service:systemctl start elasticsearch.service查看elasticsearch.serivce状态:systemctl status elasticsearch.service
ps aux|grep
java如果出现错误可以使用如下命令查看日志:
journalctl -u elaticsearch.service