ElasticSearch 说明
本章,我们主要以在 Windows 中对ElasticSearch 安装进行介绍!
1、???? 下载 ElasticSearch
这里我们下载的版本为7.17.4
为例进行介绍。
下载 ElasticSearch 的地址为:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-windows-x86_64.zip
下载 Kibana 的地址为:https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-windows-x86_64.zip
更多历史版本请到https://www.elastic.co/cn/downloads/past-releases进行浏览下载:
2、???? 安装 ElasticSearch
新建目录D:\Net_Program\Net_ElasticSearch
,将下载下来的 elasticsearch-7.17.4-windows-x86_64.zip 解压到该目录下。
3、???? 修改环境变量
因为新版的 ElasticSearch 已经弃用了 JAVA_HOME 环境变量,转而使用了 ES_JAVA_HOME 环境变量,并且在新版的安装包中已经提供了 Java 运行环境,因此我们需要增加 ES_JAVA_HOME 这个环境变量,不然在后续配置中可能会出现“warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME”的警告信息。
我们在系统变量中新建变量名为ES_JAVA_HOME
,值为D:\Net_Program\Net_ElasticSearch\jdk
的环境变量,如下图所示:
4、???? 修改 elasticsearch-env 文件
修改 D:\Net_Program\Net_ElasticSearch\bin 下的elasticsearch-env文件(注意是没有后缀的这个文件),注释掉关于 JAVA_HOME 相关的部分,目的就是让 ElasticSearch 使用自带的 ES_JAVA_HOME,如下图所示:
5、???? 修改 elasticsearch.yml 文件
编辑D:\Net_Program\Net_ElasticSearch\config\elasticsearch.yml
文件,在文件末尾增加如下配置:
#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]
#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/logs
#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.3.200"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1"]
#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#内部服务端口
transport.port: 9300
#启动地址,如果不配置,只能本地访问
network.host: 192.168.3.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"
6、???? 修改 JVM 内存
如果你的服务器内存有限,则需要根据实际情况设置 ElasticSearch 的内存限制。
编辑 config 文件夹中的jvm.options文件,增加如下配置即可,此处我设置的是 4G 范围内。
特别说明:此步骤需要注意,建议最好根据服务器的内存情况进行设置,以免后期再来调整。同时此步骤需要在将 ElasticSearch 安装为服务前进行设置,否则安装服务后,即便是重启服务也不会生效。
#设置最小内存
-Xms4g
#设置最大内存
-Xmx4g
:::warning 注意
我们在设置-Xms
和-Xmx
属性的时候,一定要设置为相同的值,否则在启动服务的时候出现如下的错误,倒是启动 ElasticSearch 服务失败。
比如我们都可以设置为 4g,-Xms4g 和 -Xmx4g
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] initialized
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] starting ...
[2022-10-19T09:47:57,438][INFO ][o.e.x.s.c.f.PersistentCache] [node-1] persistent cache index loaded
[2022-10-19T09:47:57,438][INFO ][o.e.x.d.l.DeprecationIndexingComponent] [node-1] deprecation component started
[2022-10-19T09:47:57,660][INFO ][o.e.t.TransportService ] [node-1] publish_address {110.185.107.18:9300}, bound_addresses {110.185.107.18:9300}
[2022-10-19T09:47:57,973][INFO ][o.e.b.BootstrapChecks ] [node-1] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2022-10-19T09:47:57,989][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: initial heap size [4294967296] not equal to maximum heap size [16106127360]; this can cause resize pauses
[2022-10-19T09:47:57,989][INFO ][o.e.n.Node ] [node-1] stopping ...
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] stopped
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] closing ...
[2022-10-19T09:47:58,051][INFO ][o.e.n.Node ] [node-1] closed
[2022-10-19T09:47:58,051][INFO ][o.e.x.m.p.NativeController] [node-1] Native controller process has stopped - no new native processes can be started
:::
7、???? 安装 ElasticSearch 服务
以管理员身份运行 CMD 并定位到 ElasticSearch 的 bin 目录,执行如下命令,执行完后 Windows 服务中就多了一个显示名称为 Elasticsearch 7.17.4 (elasticsearch-service-x64)的服务,如下图所示:
elasticsearch-service.bat install
8、???? 配置 SSL 证书
-
启动刚才安装的Elasticsearch 7.17.4 (elasticsearch-service-x64)服务。
-
在D:\Net_Program\Net_ElasticSearch目录下新建certs文件夹,用于存放生成的 CA 证书。
-
CMD 定位到 bin 目录,输入如下命令:
elasticsearch-certutil ca
接着输入 ca 证书输出地址和密码(如果设置了密码,请记住,下面会用到):
ca 证书地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12
ca 证书密码:
123456
-
输入如下命令:
elasticsearch-certutil cert --ca D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12
接着分别输入上一步生成 CA 证书的密码、此集群证书的输出地址和密码(如果设置了密码,请记住,下面会用到)
ca 证书密码:
123456
此集群证书的输出地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-certificates.p12
此集群证书的密码:
123456
-
分别输入如下命令:
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
接着输入密码 123456(该密码为上面生成证书设置的密码)
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
接着输入密码 123456(该密码为上面生成证书设置的密码)
-
此时,SSL 证书生成完成,我们将 certs 文件夹拷贝到 config 下:
-
在 elasticsearch.yml 文件中增加如下配置:
#开启xpack xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true #证书配置 xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
9、???? 设置账户密码
重启服务,以管理员身份运行 CMD 并定位到 ElasticSearch 的 bin 目录,执行如下命令,然后紧接着输入 y 确定,然后输入每个账户的密码和确认密码即可,如下图所示:
elasticsearch-setup-passwords interactive
此时我们在浏览器中访问http://192.168.3.200:9200/发现要求输入账户和密码,这是我们输入 elastic(账户)和 123456(密码,刚才设置的密码)即可访问成功。
到此,ElasticSearch 的安装就完成了!
10、???? Kibana 安装
10.1、???? 安装 Kibana
将下载下来的kibana-7.17.4-windows-x86_64.zip
解压到D:\Net_Program\Net_ElasticSearchKibana
文件夹下
10.2、???? 修改文件
编辑 D:\Net_Program\Net_ElasticSearchKibana\config\kibana.yml 文件,在文件末尾增加如下配置:
单机模式:
#设置中文显示
i18n.locale: "zh-CN"
#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"
#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.3.200:9200"]
#IP访问地址和端口号
server.host: "192.168.3.200"
server.port: 5601
集群模式:
#设置中文显示
i18n.locale: "zh-CN"
#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"
#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.3.200:9200", "http://192.168.3.200:9201", "http://192.168.3.200:9202"]
#IP访问地址和端口号
server.host: "192.168.3.200"
server.port: 5601
注意:为了避免访问 Kibana 出现server.publicBaseUrl 缺失,在生产环境中运行时应配置。某些功能可能运行不正常。
的提示,请在上述配置文件中增加如下的配置(具体可参考官网说明:https://www.elastic.co/guide/en/kibana/7.17/settings.html#server-publicBaseUrl):
server.publicBaseUrl: "http://192.168.3.200:5601/"
10.3、???? 安装 Kibana 服务
这里我们使用的是 NSSM 工具将 Kibana 安装为 Windows 服务。
-
在 nssm.exe 所在文件夹鼠标右键,选择“在此处打开 Powershell 窗口(s)”选项,如下图所示:
-
然后输入如下命令调出设置窗体
.\nssm install
在弹出的窗体中,Application 选项卡中设置各个参数值:
-
Path:选择 kibana.bat 所在的路径,如
D:\Net_Program\Net_ElasticSearchKibana\bin\kibana.bat
-
Startup directory:选择 Path 后,Startup directory 选择会自动填充
-
Argument:为启动服务的参数,此处为空即可
-
Service name:服务名称,如
ElasticSearch-KibanaService
设置完成后点击
Install service
按钮即完成,此时去查看系统服务有多了一个叫ElasticSearch-KibanaService
的服务了 -
10.4、???? 浏览验证
启动刚才安装的ElasticSearch-KibanaService
服务, 浏览器中输入http://192.168.3.200:5601/进行访问,登录账号 elastic 和密码 123456,如下图所示: