ElasticSearch之Windows中环境安装

时间:2022-11-02 09:08:38

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进行浏览下载:

ElasticSearch之Windows中环境安装


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的环境变量,如下图所示:

ElasticSearch之Windows中环境安装


4、???? 修改 elasticsearch-env 文件

修改 D:\Net_Program\Net_ElasticSearch\bin 下的elasticsearch-env文件(注意是没有后缀的这个文件),注释掉关于 JAVA_HOME 相关的部分,目的就是让 ElasticSearch 使用自带的 ES_JAVA_HOME,如下图所示:

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装


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

ElasticSearch之Windows中环境安装

:::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

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装


8、???? 配置 SSL 证书

  • 启动刚才安装的Elasticsearch 7.17.4 (elasticsearch-service-x64)服务。

    ElasticSearch之Windows中环境安装

  • D:\Net_Program\Net_ElasticSearch目录下新建certs文件夹,用于存放生成的 CA 证书。

    ElasticSearch之Windows中环境安装

  • CMD 定位到 bin 目录,输入如下命令:

    elasticsearch-certutil ca
    

    接着输入 ca 证书输出地址和密码(如果设置了密码,请记住,下面会用到):

    ca 证书地址:

    D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12
    

    ca 证书密码:

    123456
    

    ElasticSearch之Windows中环境安装

  • 输入如下命令:

    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之Windows中环境安装

  • 分别输入如下命令:

    elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
    

    接着输入密码 123456(该密码为上面生成证书设置的密码)

    elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
    

    接着输入密码 123456(该密码为上面生成证书设置的密码)

    ElasticSearch之Windows中环境安装

  • 此时,SSL 证书生成完成,我们将 certs 文件夹拷贝到 config 下:

    ElasticSearch之Windows中环境安装

  • 在 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

ElasticSearch之Windows中环境安装


此时我们在浏览器中访问http://192.168.3.200:9200/发现要求输入账户和密码,这是我们输入 elastic(账户)和 123456(密码,刚才设置的密码)即可访问成功。

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装

到此,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)”选项,如下图所示:

    ElasticSearch之Windows中环境安装

  • 然后输入如下命令调出设置窗体

    .\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的服务了

    ElasticSearch之Windows中环境安装

    ElasticSearch之Windows中环境安装

10.4、???? 浏览验证

启动刚才安装的ElasticSearch-KibanaService服务,​ 浏览器中输入http://192.168.3.200:5601/进行访问,登录账号 elastic 和密码 123456,如下图所示:

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装

ElasticSearch之Windows中环境安装