1、安装JDK

  1. $ yum install -y java-1.8.0-openjdk.x86_64
  2. $java -version
  3. openjdk version "1.8.0_292"
  4. OpenJDK Runtime Environment (build 1.8.0_292-b10)
  5. OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

2、下载安装ES软件

  1. $ cd /usr/local && wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.rpm
  2. $ rpm -ivh elasticsearch-6.6.0.rpm
  3. 警告:elasticsearch-6.6.0.rpm: V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
  4. 准备中... ################################# [100%]
  5. Creating elasticsearch group... OK
  6. Creating elasticsearch user... OK
  7. 正在升级/安装...
  8. 1:elasticsearch-0:6.6.0-1 ################################# [100%]
  9. ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
  10. sudo systemctl daemon-reload
  11. sudo systemctl enable elasticsearch.service
  12. ### You can start elasticsearch service by executing
  13. sudo systemctl start elasticsearch.service
  14. Created elasticsearch keystore in /etc/elasticsearch

3、修改配置文件

  1. a$ rpm -ql elasticsearch #查看elasticsearch软件安装了哪些目录
  2. /etc/elasticsearch/elasticsearch.yml
  3. /etc/elasticsearch/jvm.options
  4. /etc/elasticsearch/log4j2.properties
  5. /etc/elasticsearch/role_mapping.yml
  6. /etc/elasticsearch/roles.yml
  7. /etc/elasticsearch/users
  8. /etc/elasticsearch/users_roles
  9. /etc/init.d/elasticsearch
  10. /etc/sysconfig/elasticsearch
  11. ......
  12. brpm -qc elasticsearch #查看elasticsearch所有的配置文件
  13. /etc/elasticsearch/elasticsearch.yml
  14. /etc/elasticsearch/jvm.options
  15. /etc/elasticsearch/log4j2.properties
  16. /etc/elasticsearch/role_mapping.yml
  17. /etc/elasticsearch/roles.yml
  18. /etc/elasticsearch/users
  19. /etc/elasticsearch/users_roles
  20. /etc/init.d/elasticsearch
  21. /etc/sysconfig/elasticsearch
  22. /usr/lib/sysctl.d/elasticsearch.conf
  23. /usr/lib/systemd/system/elasticsearch.service
  24. c、修改配置文件
  25. $ grep "^[a-z]" /etc/elasticsearch/elasticsearch.yml
  26. path.data: /var/lib/elasticsearch
  27. path.logs: /var/log/elasticsearch
  28. 更改配置:
  29. ##节点名node.name: node-1
  30. ##数据目录
  31. path.data: /data/elasticsearch
  32. ##日志目录
  33. path.logs: /var/log/elasticsearch
  34. ##锁内存,提前占用内存
  35. bootstrap.memory_lock: true
  36. ##网络ip,不配置默认为127.0.0.1,这样只能自己访问
  37. network.host: 192.168.100.29
  38. ##端口,默认9200
  39. http.port: 9200
  40. d、更改使用内存
  41. $ vi /etc/elasticsearch/jvm.options
  42. -Xms1g
  43. -Xmx1g

4、创建数据目录

  1. $ mkdir /data/elasticsearch
  2. $ chown -R elasticsearch:elasticsearch /data/elasticsearch/

5、启动ES

  1. systemctl daemon-reload
  2. systemctl enable elasticsearch.service
  3. systemctl start elasticsearch.service
  4. systemctl status elasticsearch.service

6、测试

  1. 启动完毕,测试发现端口未能启动。
  2. $ curl 127.0.0.1:9200
  3. curl: (7) Failed connect to 127.0.0.1:9200; 拒绝连接
  4. 您在 /var/spool/mail/root 中有新邮件
  5. $ netstat -lnupt|grep 9200
  6. $ systemctl status elasticsearch.service
  7. elasticsearch.service - Elasticsearch
  8. Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
  9. Active: failed (Result: exit-code) since 2021-06-22 15:43:11 CST; 2min 22s ago
  10. Docs: http://www.elastic.co
  11. Process: 67622 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=78)
  12. Main PID: 67622 (code=exited, status=78)
  13. 6 22 15:43:04 d-prometheus systemd[1]: Started Elasticsearch.
  14. 6 22 15:43:11 d-prometheus systemd[1]: elasticsearch.service: main process exited, code=exited, status=78/n/a
  15. 6 22 15:43:11 d-prometheus systemd[1]: Unit elasticsearch.service entered failed state.
  16. 6 22 15:43:11 d-prometheus systemd[1]: elasticsearch.service failed.
  17. [root@d-prometheus local]# tail -f /var/log/elasticsearch/elasticsearch.log
  18. [2021-06-22T15:43:11,516][INFO ][o.e.n.Node ] [zQiAPFx] starting ...
  19. [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}
  20. [2021-06-22T15:43:11,648][INFO ][o.e.b.BootstrapChecks ] [zQiAPFx] bound or publishing to a non-loopback address, enforcing bootstrap checks
  21. [2021-06-22T15:43:11,650][ERROR][o.e.b.Bootstrap ] [zQiAPFx] node validation exception
  22. [1] bootstrap checks failed
  23. [1]: memory locking requested for elasticsearch process but memory is not locked
  24. [2021-06-22T15:43:11,682][INFO ][o.e.n.Node ] [zQiAPFx] stopping ...
  25. [2021-06-22T15:43:11,698][INFO ][o.e.n.Node ] [zQiAPFx] stopped
  26. [2021-06-22T15:43:11,698][INFO ][o.e.n.Node ] [zQiAPFx] closing ...
  27. [2021-06-22T15:43:11,709][INFO ][o.e.n.Node ] [zQiAPFx] closed
  28. ......
  29. 查看日志发现"memory locking requested for elasticsearch process but memory is not locked",
  30. 解决方法:
  31. ### 修改启动配置文件或创建新配置文件
  32. 方法1: systemctl edit elasticsearch
  33. 方法2: vim /usr/lib/systemd/system/elasticsearch.service
  34. ### 增加如下参数
  35. [Service]
  36. LimitMEMLOCK=infinity
  37. ### 重新启动
  38. systemctl daemon-reload
  39. systemctl restart elasticsearch
  40. #查询端口
  41. $ netstat -lnupt|grep 9200
  42. tcp6 0 0 172.17.3.201:9200 :::* LISTEN 67918/java
  43. $ curl 172.17.3.201:9200
  44. {
  45. "name" : "zQiAPFx",
  46. "cluster_name" : "elasticsearch",
  47. "cluster_uuid" : "KFqIy1PUSNSBGl6ThSyiww",
  48. "version" : {
  49. "number" : "6.6.0",
  50. "build_flavor" : "default",
  51. "build_type" : "rpm",
  52. "build_hash" : "a9861f4",
  53. "build_date" : "2019-01-24T11:27:09.439740Z",
  54. "build_snapshot" : false,
  55. "lucene_version" : "7.6.0",
  56. "minimum_wire_compatibility_version" : "5.6.0",
  57. "minimum_index_compatibility_version" : "5.0.0"
  58. },
  59. "tagline" : "You Know, for Search"
  60. }