一、下载elasticsearch
下载地址
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
根据情况下载对应的版本
二、安装配置elasticsearch
解压
tar -xf elasticsearch-7.10.2.tar.gz
创建es用户,es要求不能用root用户启动
#创建es用户
useradd es
#设置密码
echo "123456"|passwd --stdin es
#修改elasicsearch目录的拥有者
chown -R es elasticsearch-6.4.0
修改Linux系统的限制配置,将文件创建数修改为65536个。
1、修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。
2. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为
4096+。因为ES至少需要4096的线程池预备。
vi /etc/security/limits.conf
#新增如下内容在limits.conf文件中
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096
修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存。
vi /etc/sysctl.conf
#新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小
vm.max_map_count=262144
#让系统控制权限配置生效
sysctl -p
配置elasticsearch
vim elasticsearch.yml
#集群名称
cluster.name: my-application-fcy
#节点名称
node.name: node-1
#允许访问的网络IP地址,0.0.0.0 就是允许所有
network.host: 0.0.0.0
#设置服务启动的端口号
http.port: 19200
#集群初始化时启动的节点,如果有多个节点就填写多个,不同节点之间用逗号隔开。
cluster.initial_master_nodes: ["node-1"]
配置jvm参数
vim elasticsearch-6.8.4/config/jvm.options
启动elasticsearch
#调整xms xmx 根据情况调整、这两个值默认要调整为一样的
-Xms3g
-Xmx3g
#加上-d 为后台启动,不加为前台
./elasticsearch-7.10.2/bin/elasticsearch -d
配置elasticsearch密码认证及创建用户
生成证书
[root@fcy-fpsc-1 bin]# ./elasticsearch-certutil ca
Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可
Enter password for certs : #这里直接回车即可,不要设置密码
设置完毕后,会在es家目录下看到新生成的文件:
elastic-stack-ca.p12
ps:
假如在生成证书的时候设置了密码,会导致无法启动ES,报错:
ElasticsearchSecurityException[failed to load SSL configuration [xpack.security.transport.ssl]]; nested: ElasticsearchException[failed to create trust manager]; nested: ElasticsearchException[failed to initialize SSL TrustManager]; nested: IOException[keystore password was incorrect]; nested: UnrecoverableKeyException[failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.];
Likely root cause: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
生成p12秘钥
#使用第一步生成的证书,生成p12秘钥
[root@fcy-fpsc-1 bin]# ./elasticsearch-certutil cert --ca elastic-stack-ca.p12
下面三项直接回车即可:
……
Enter password for CA (elastic-stack-ca.p12) :
Please enter the desired output file [elastic-certificates.p12]:
Enter password for elastic-certificates.p12 : #这里直接回车即可,不要设置密码,否则后面ES会启动不了
Certificates written to /software/es7.10/elasticsearch-7.10.2/elastic-certificates.p12
设置完毕后,会在es目录下下看到新生成的文件:
elastic-certificates.p12
拷贝p12秘钥文件
cd /software/es7.10/elasticsearch-7.10.2/config
mkdir certs
cp /software/es7.10/elasticsearch-7.10.2/elastic-certificates.p12 certs/
将p12认证文件拷贝到其他节点上
scp /software/es7.10/elasticsearch-7.10.2/config/certs/elastic-certificates.p12 192.168.1.2:/usr/local/ElasticSearch/config/certs/elastic-certificates.p12
修改所有ES节点的配置文件
后面添加
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /software/es7.10/elasticsearch-7.10.2/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /software/es7.10/elasticsearch-7.10.2/config/certs/elastic-certificates.p12
cluster.max_shards_per_node: 900000
重启es
设置密码
./bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
下载kibana
下载地址:
https://www.elastic.co/cn/downloads/past-releases#kibana
安装配置Kinbana
解压
tar -xf kibana-7.10.2-linux-x86_64.tar.gz
修改配置文件
vim kibana-7.10.2-linux-x86_64/config/kibana.yml
#服务端口
server.port: 15601
#服务地址
server.host: "0.0.0.0"
#es连接地址
elasticsearch.hosts: ["http://localhost:19200"]
#连接es时使用的用户名密码
elasticsearch.username: "kibana_system"
elasticsearch.password: "ysIgdF"
#设置kibana界面为中文
i18n.locale: "zh-CN"
启动
./kibana-7.10.2-linux-x86_64/bin/kibana
启动后输入ip地址和端口号浏览器出现该页面
elasticsearch的一些设置:
https://blog.csdn.net/u012743772/article/details/111255281?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control&dist_request_id=beb2cb69-d9e8-4bb9-af18-d65790f0ec15&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control