1、安装JDK
$ yum install -y java-1.8.0-openjdk.x86_64$java -versionopenjdk version "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-b10)OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
2、下载安装ES软件
$ cd /usr/local && wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.rpm$ rpm -ivh elasticsearch-6.6.0.rpm警告:elasticsearch-6.6.0.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY准备中... ################################# [100%]Creating elasticsearch group... OKCreating elasticsearch user... OK正在升级/安装... 1:elasticsearch-0:6.6.0-1 ################################# [100%]### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service### You can start elasticsearch service by executing sudo systemctl start elasticsearch.serviceCreated elasticsearch keystore in /etc/elasticsearch
3、修改配置文件
a、$ rpm -ql elasticsearch #查看elasticsearch软件安装了哪些目录/etc/elasticsearch/elasticsearch.yml/etc/elasticsearch/jvm.options/etc/elasticsearch/log4j2.properties/etc/elasticsearch/role_mapping.yml/etc/elasticsearch/roles.yml/etc/elasticsearch/users/etc/elasticsearch/users_roles/etc/init.d/elasticsearch/etc/sysconfig/elasticsearch......b、rpm -qc elasticsearch #查看elasticsearch所有的配置文件/etc/elasticsearch/elasticsearch.yml/etc/elasticsearch/jvm.options/etc/elasticsearch/log4j2.properties/etc/elasticsearch/role_mapping.yml/etc/elasticsearch/roles.yml/etc/elasticsearch/users/etc/elasticsearch/users_roles/etc/init.d/elasticsearch/etc/sysconfig/elasticsearch/usr/lib/sysctl.d/elasticsearch.conf/usr/lib/systemd/system/elasticsearch.servicec、修改配置文件$ grep "^[a-z]" /etc/elasticsearch/elasticsearch.ymlpath.data: /var/lib/elasticsearchpath.logs: /var/log/elasticsearch更改配置:##节点名node.name: node-1##数据目录 path.data: /data/elasticsearch##日志目录path.logs: /var/log/elasticsearch##锁内存,提前占用内存bootstrap.memory_lock: true##网络ip,不配置默认为127.0.0.1,这样只能自己访问network.host: 192.168.100.29##端口,默认9200http.port: 9200d、更改使用内存$ vi /etc/elasticsearch/jvm.options-Xms1g-Xmx1g
4、创建数据目录
$ mkdir /data/elasticsearch$ chown -R elasticsearch:elasticsearch /data/elasticsearch/
5、启动ES
systemctl daemon-reloadsystemctl enable elasticsearch.servicesystemctl start elasticsearch.servicesystemctl status elasticsearch.service
6、测试
启动完毕,测试发现端口未能启动。$ curl 127.0.0.1:9200curl: (7) Failed connect to 127.0.0.1:9200; 拒绝连接您在 /var/spool/mail/root 中有新邮件$ netstat -lnupt|grep 9200$ systemctl status elasticsearch.service● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 二 2021-06-22 15:43:11 CST; 2min 22s ago Docs: http://www.elastic.co Process: 67622 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=78) Main PID: 67622 (code=exited, status=78)6月 22 15:43:04 d-prometheus systemd[1]: Started Elasticsearch.6月 22 15:43:11 d-prometheus systemd[1]: elasticsearch.service: main process exited, code=exited, status=78/n/a6月 22 15:43:11 d-prometheus systemd[1]: Unit elasticsearch.service entered failed state.6月 22 15:43:11 d-prometheus systemd[1]: elasticsearch.service failed.[root@d-prometheus local]# tail -f /var/log/elasticsearch/elasticsearch.log[2021-06-22T15:43:11,516][INFO ][o.e.n.Node ] [zQiAPFx] starting ...[2021-06-22T15:43:11,637][INFO ][o.e.t.TransportService ] [zQiAPFx] publish_address {172.17.3.201:9300}, bound_addresses {172.17.3.201:9300}[2021-06-22T15:43:11,648][INFO ][o.e.b.BootstrapChecks ] [zQiAPFx] bound or publishing to a non-loopback address, enforcing bootstrap checks[2021-06-22T15:43:11,650][ERROR][o.e.b.Bootstrap ] [zQiAPFx] node validation exception[1] bootstrap checks failed[1]: memory locking requested for elasticsearch process but memory is not locked[2021-06-22T15:43:11,682][INFO ][o.e.n.Node ] [zQiAPFx] stopping ...[2021-06-22T15:43:11,698][INFO ][o.e.n.Node ] [zQiAPFx] stopped[2021-06-22T15:43:11,698][INFO ][o.e.n.Node ] [zQiAPFx] closing ...[2021-06-22T15:43:11,709][INFO ][o.e.n.Node ] [zQiAPFx] closed......查看日志发现"memory locking requested for elasticsearch process but memory is not locked",解决方法:### 修改启动配置文件或创建新配置文件方法1: systemctl edit elasticsearch方法2: vim /usr/lib/systemd/system/elasticsearch.service### 增加如下参数[Service]LimitMEMLOCK=infinity### 重新启动systemctl daemon-reloadsystemctl restart elasticsearch#查询端口$ netstat -lnupt|grep 9200tcp6 0 0 172.17.3.201:9200 :::* LISTEN 67918/java$ curl 172.17.3.201:9200{ "name" : "zQiAPFx", "cluster_name" : "elasticsearch", "cluster_uuid" : "KFqIy1PUSNSBGl6ThSyiww", "version" : { "number" : "6.6.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "a9861f4", "build_date" : "2019-01-24T11:27:09.439740Z", "build_snapshot" : false, "lucene_version" : "7.6.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search"}