1 前期预备
1.1 环境预备
麒麟ARM 64位操作系统
1.2 安装包预备
Elasticsearch下载地址: https://www.elastic.co/cn/downloads/elasticsearch
2 部署elasticsearch
2.1 创建es专用用户
注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。
创建一个es专门的用户(必须),如:isearch
使用root用户在三台机器执行以下命令
- useradd isearch
- passwd isearch
复制代码 2.2 上传压缩包,然后解压
- tar -zxvf elasticsearch-7.17.7-linux-aarch64.tar.gz -C /rpa/
复制代码
创建软毗连(方便日后升级)
- ln -s /rpa/elasticsearch-7.17.7 /rpa/elasticsearch
复制代码 2.3 修改配置文件
- cd /rpa/elasticsearch/config/
- vi elasticsearch.yml
复制代码- # 集群名称
- cluster.name: my-elasticsearch
-
- # 节点名称
- node.name: node-1
-
- # 是否可以成为master节点
- node.master: true
-
- # 是否允许该节点存储数据,默认开启
- node.data: true
- # 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
- path.data: /rpa/datas/elasticsearch
- # 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
- path.logs: /rpa/logs/elasticsearch/
-
- # 网络绑定,绑定 0.0.0.0,代表支持外网访问
- network.host: 192.168.12.33
-
- # 设置对外服务的http端口,默认为9200
- http.port: 9200
-
- # 设置节点间交互的tcp端口,默认是9300
- transport.tcp.port: 9300
-
- # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
- cluster.initial_master_nodes: ["node-1"]
-
- # 设置集群自动发现机器ip的集合
- discovery.seed_hosts: ["192.168.12.33:9300"]
- # 设置允许跨域资源共享(CORS)
- http.cors.enabled: true
- # 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
- http.cors.allow-origin: "*"
- # 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
- http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
- # 设置定义了哪些HTTP头部可以在跨域请求中使用
- http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
- # 设置控制是否锁定Elasticsearch进程的内存
- bootstrap.memory_lock: false
- # 设置用于禁用系统调用过滤器
- bootstrap.system_call_filter: false
- # 设置启用了X-Pack安全功能,它提供了身份验证、授权、加密通信和基于角色的访问控制等功能
- xpack.security.enabled: true
- # 设置启用了传输层(节点间通信)的SSL/TLS加密
- xpack.security.transport.ssl.enabled: true
复制代码 2.4 启动es
- nohup /rpa/elasticsearch/bin/elasticsearch -d
复制代码 2.5 配置elasticsearch登录认证
切换到Elasticsearch的bin目录,然后执行以下命令来设置暗码:
- cd /rpa/elasticsearch/bin
- ./elasticsearch-setup-passwords interactive
复制代码 这个命令会提示你为不同的用户设置暗码。这些用户通常包括elastic、apm_system、kibana、kibana_system、logstash_system、beats_system和remote_monitoring_user等。你需要按照提示输入每个用户的暗码。
2.6 浏览器中访问es页面
链接: http://192.168.12.33:9200/
3 修改es暗码
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/apm_system/_password -d '{"password":"isa1qaz2wsx"}'
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/kibana/_password -d '{"password":"isa1qaz2wsx"}'
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/logstash_system/_password -d '{"password":"isa1qaz2wsx"}'
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/beats_system/_password -d '{"password":"isa1qaz2wsx"}'
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/remote_monitoring_user/_password -d '{"password":"isa1qaz2wsx"}'
- curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/elastic/_password -d '{"password":"isa1qaz2wsx"}'
复制代码 刷新浏览器页面,验证新暗码精确,暗码修改完成
4 es集群搭建
4.1 复制安装包
另外再预备两台elasticsearch服务器,将单机环境的es目录,复制两份,分别放到另外两台服务器上
(没有那么多资源,可以放在不同的目录下)
- cp -r /rpa/elasticsearch-7.17.7 es-cluster-01
- cp -r /rpa/elasticsearch-7.17.7 es-cluster-02
- cp -r /rpa/elasticsearch-7.17.7 es-cluster-03
复制代码
4.2 修改每台服务器的配置
该集群暂不设置暗码,以是先删除以下两行配置
- # 设置启用了X-Pack安全功能,它提供了身份验证、授权、加密通信和基于角色的访问控制等功能
- xpack.security.enabled: true
- # 设置启用了传输层(节点间通信)的SSL/TLS加密
- xpack.security.transport.ssl.enabled: true
复制代码 4.2.1 es-cluster-01的配置:
- # 集群名称
- cluster.name: my-elasticsearch
-
- # 节点名称
- node.name: node-1
-
- # 是否可以成为master节点
- node.master: true
-
- # 是否允许该节点存储数据,默认开启
- node.data: true
- # 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
- path.data: /rpa/datas/elasticsearch1
- # 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
- path.logs: /rpa/logs/elasticsearch1
-
- # 网络绑定,绑定 0.0.0.0,代表支持外网访问
- network.host: 192.168.12.33
-
- # 设置对外服务的http端口,默认为9200
- http.port: 9201
-
- # 设置节点间交互的tcp端口,默认是9300
- transport.tcp.port: 9301
-
- # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
- cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
-
- # 设置集群自动发现机器ip的集合
- discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]
- # 设置允许跨域资源共享(CORS)
- http.cors.enabled: true
- # 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
- http.cors.allow-origin: "*"
- # 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
- http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
- # 设置定义了哪些HTTP头部可以在跨域请求中使用
- http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
- # 设置控制是否锁定Elasticsearch进程的内存
- bootstrap.memory_lock: false
- # 设置用于禁用系统调用过滤器
- bootstrap.system_call_filter: false
复制代码 4.1.1 es-cluster-02的配置:
- # 集群名称
- cluster.name: my-elasticsearch
-
- # 节点名称
- node.name: node-2
-
- # 是否可以成为master节点
- node.master: true
-
- # 是否允许该节点存储数据,默认开启
- node.data: false
- # 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
- path.data: /rpa/datas/elasticsearch2
- # 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
- path.logs: /rpa/logs/elasticsearch2
-
- # 网络绑定,绑定 0.0.0.0,代表支持外网访问
- network.host: 192.168.12.33
-
- # 设置对外服务的http端口,默认为9200
- http.port: 9202
-
- # 设置节点间交互的tcp端口,默认是9300
- transport.tcp.port: 9302
-
- # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
- cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
-
- # 设置集群自动发现机器ip的集合
- discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]
- # 设置允许跨域资源共享(CORS)
- http.cors.enabled: true
- # 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
- http.cors.allow-origin: "*"
- # 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
- http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
- # 设置定义了哪些HTTP头部可以在跨域请求中使用
- http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
- # 设置控制是否锁定Elasticsearch进程的内存
- bootstrap.memory_lock: false
- # 设置用于禁用系统调用过滤器
- bootstrap.system_call_filter: false
复制代码 4.1.3 es-cluster-03的配置:
- # 集群名称
- cluster.name: my-elasticsearch
-
- # 节点名称
- node.name: node-3
-
- # 是否可以成为master节点
- node.master: false
-
- # 是否允许该节点存储数据,默认开启
- node.data: true
- # 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
- path.data: /rpa/datas/elasticsearch3
- # 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
- path.logs: /rpa/logs/elasticsearch3
-
- # 网络绑定,绑定 0.0.0.0,代表支持外网访问
- network.host: 192.168.12.33
-
- # 设置对外服务的http端口,默认为9200
- http.port: 9203
-
- # 设置节点间交互的tcp端口,默认是9300
- transport.tcp.port: 9303
-
- # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
- cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
-
- # 设置集群自动发现机器ip的集合
- discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]
- # 设置允许跨域资源共享(CORS)
- http.cors.enabled: true
- # 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
- http.cors.allow-origin: "*"
- # 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
- http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
- # 设置定义了哪些HTTP头部可以在跨域请求中使用
- http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
- # 设置控制是否锁定Elasticsearch进程的内存
- bootstrap.memory_lock: false
- # 设置用于禁用系统调用过滤器
- bootstrap.system_call_filter: false
复制代码 4.3 启动服务
分别执行命令启动3台elasticsearch 服务
- nohup ./es-cluster-01/bin/elasticsearch -d
- nohup ./es-cluster-02/bin/elasticsearch -d
- nohup ./es-cluster-03/bin/elasticsearch -d
复制代码
使用ps命令检察全部启动乐成
4.3 集群验证
浏览器访问链接: http://192.168.12.33:9201/
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |