系统版本:Windows 10

ElasticSearch版本:7.15.2(​​https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-windows-x86_64.zip​​)

Kibana版本:7.15.2(​​https://artifacts.elastic.co/downloads/kibana/kibana-7.15.2-windows-x86_64.zip​​)


单机ElasticSearch

1、安装ElasticSearch

        将下载下来的elasticsearch-7.15.2-windows-x86_64.zip文件解压到某文件夹下,如:D:\Net_Program\Net_ElasticSearch\node

2、修改环境变量

        因为新版的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\node\jdk​的环境变量,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic

 3、修改elasticsearch-env文件

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

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_02

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_03

4、修改elasticsearch.yml文件

        编辑D:\Net_Program\Net_ElasticSearch\node\config\elasticsearch.yml文件,在文件末尾增加如下配置:

#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]

#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/node/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/node/logs

#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.2.200"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1"]

#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#内部服务端口
transport.port: 9300

#启动地址,如果不配置,只能本地访问
network.host: 192.168.2.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"

 5、修改JVM内存

        如果你的服务器内存有限,则需要根据实际情况设置ElasticSearch的内存限制。

        编辑config文件夹中的jvm.options文件,增加如下配置即可,此处我设置的是1G范围内。

        ​特别说明:此步骤需要注意,建议最好根据服务器的内存情况进行设置,以免后期再来调整。同时此步骤需要在将ElasticSearch安装为服务前进行设置,否则安装服务后,即便是重启服务也不会生效。

#设置最小内存
-Xms1g
#设置最大内存
-Xmx1g

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_04

6、安装ElasticSearch服务

        以管理员身份运行CMD并定位到ElasticSearch的bin目录,执行​elasticsearch-service.bat install​命令,执行完后Windows服务中就多了一个显示名称为Elasticsearch 7.15.2 (elasticsearch-service-x64)的服务,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_05

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_06

  7、配置SSL证书

        ​启动node节点的服务​。

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

Windows中安装ElasticSearch(单机+集群+Kibana)_java_07

        CMD定位到node节点的bin目录,输入​elasticsearch-certutil ca​命令,接着输入ca证书输出地址和密码(如果设置了密码,请记住,下面会用到):

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

            123456 

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_08

        输入​elasticsearch-certutil cert --ca D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12​,接着分别输入上一步生成CA证书的秘密、此集群证书的输出地址和密码(如果设置了密码,请记住,下面会用到):

            123456

            D:\Net_Program\Net_ElasticSearch\certs\elastic-certificates.p12

            123456 

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_09

        输入elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password,接着输入密码123456(该密码为上面生成证书设置的密码)

        输入elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password,接着输入密码123456(该密码为上面生成证书设置的密码)

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_10

         此时,SSL证书生成完成,我们将​certs​文件夹分别拷贝到node节点的config下。

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_11

        在node节点的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

8、设置账户密码

        ​重启node节点服务​,以管理员身份运行CMD并定位到ElasticSearch的bin目录,执行​elasticsearch-setup-passwords interactive​命令,然后紧接着输入​y​确定,然后输入每个账户的密码和确认密码即可,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_elasticsearch_12

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

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_13

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_14

        到此,ElasticSearch的单机版安装就完成了!



集群ElasticSearch

说明:集群安装配置和单机配置类似。

1、安装集群

        在D:\Net_Program\Net_ElasticSearch目录下创建node、node2和node3文件夹用来部署第一、第二和第三集群节点,将ElasticSearch文件分别解压到node、node2和node3中。

Windows中安装ElasticSearch(单机+集群+Kibana)_elasticsearch_15

2、修改环境变量

        具体修改,参见上述“单机ElasticSearch”的第2点。

3、修改elasticsearch-env文件

        具体修改,参见上述“单机ElasticSearch”的第3点。

4、修改配置

        分别修改node、node2和node3中的配置文件,主要修改了(和单机的区别):​path.data、path.logs、node.name、discovery.seed_hosts、cluster.initial_master_nodes、http.port、transport.port​,具体如下所示:

        node:

#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]

#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/node/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/node/logs

#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.2.200:9300", "192.168.2.200:9301", "192.168.2.200:9302"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#内部服务端口
transport.port: 9300

#启动地址,如果不配置,只能本地访问
network.host: 192.168.2.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"

        node2:

#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]

#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/node2/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/node2/logs

#节点名称
node.name: node-2
#节点列表
discovery.seed_hosts: ["192.168.2.200:9300", "192.168.2.200:9301", "192.168.2.200:9302"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9201
#内部服务端口
transport.port: 9301

#启动地址,如果不配置,只能本地访问
network.host: 192.168.2.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"

         node3:

#设置快照存储地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]

#数据存放路径(可不设置,默认就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/node3/datas
#日志存放路径
path.logs: D:/Net_Program/Net_ElasticSearch/node3/logs

#节点名称
node.name: node-3
#节点列表
discovery.seed_hosts: ["192.168.2.200:9300", "192.168.2.200:9301", "192.168.2.200:9302"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9202
#内部服务端口
transport.port: 9302

#启动地址,如果不配置,只能本地访问
network.host: 192.168.2.200
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"

5、修改JVM内存

        如果你的服务器内存有限,则需要根据实际情况设置每个ElasticSearch集群节点的内存限制。

        编辑每个节点下config文件夹中的jvm.options文件,增加如下配置即可,此处我设置的是每个节点都控制在1G范围内。

        ​特别说明:此步骤需要注意,建议最好根据服务器的内存情况进行设置,以免后期再来调整。同时此步骤需要在将ElasticSearch安装为服务前进行设置,否则安装服务后,即便是重启服务也不会生效。

#设置最小内存
-Xms1g
#设置最大内存
-Xmx1g

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_04

        设置内存配置后3个节点大致占用的内存如下图所示,基本维持在1G左右:

Windows中安装ElasticSearch(单机+集群+Kibana)_java_17

6、修改各节点安装服务文件

        打开node节点bin文件夹中的​elasticsearch-service.bat​文件,找到if "%SERVICE_ID%" == "" set SERVICE_ID=elasticsearch-service-x64代码,将elasticsearch-service-x64后面增加一个“​-1​”用于区别生成的服务名称;

        同理去修改node2和node3节点的配置;

        修改完成保存即可;

        安装服务,运行CMD(以管理员身份)并定位到node的bin目录,执行​elasticsearch-service.bat install​安装命令即可;

        同理安装node2和node3节点的服务即可完成。

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_18

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_19

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_20

 7、配置SSL证书

        ​启动3个节点的服务​。

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

Windows中安装ElasticSearch(单机+集群+Kibana)_java_07

        CMD定位到node节点的bin目录,输入​elasticsearch-certutil ca​命令,接着输入ca证书输出地址和密码(如果设置了密码,请记住,下面会用到):

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

            123456 

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_08

        输入​elasticsearch-certutil cert --ca D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12​,接着分别输入上一步生成CA证书的秘密、此集群证书的输出地址和密码(如果设置了密码,请记住,下面会用到):

            123456

            D:\Net_Program\Net_ElasticSearch\certs\elastic-certificates.p12

            123456 

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_09


      重点:

        在node、node2和node3的bin目录下分别执行如下2行命令,否则在启动集群的时候会报“​failed to load SSL configuration [xpack.security.transport.ssl]​”的错误

        输入elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password,接着输入密码123456(该密码为上面生成证书设置的密码)

        输入elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password,接着输入密码123456(该密码为上面生成证书设置的密码)

 Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_24

         此时,SSL证书生成完成,我们将​certs​文件夹分别拷贝到3个节点的config下。

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_11

        在3个节点的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

8、设置账户密码  ​       

        ​重启ElasticSearch3个节点的服务​,然后CMD定位到node节点的bin,输入​elasticsearch-setup-passwords interactive​命令,然后输入​y​确定,接下来就可以修改各个账户的密码了,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_elasticsearch_26

        验证,此时我们可以在浏览器中输入其中一个节点的地址​http://192.168.2.200:9200/​​ ,然后输入账户elastic、密码123456进行访问了,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_windows_27



Kibana安装

1、安装Kibana

        将下载下来的kibana-7.15.2-windows-x86_64.zip文件解压到某文件夹下,如:D:\Net_Program\Net_ElasticSearch\kibana

2、修改文件

        编辑D:\Net_Program\Net_ElasticSearch\kibana\config\kibana.yml文件,在文件末尾增加如下配置:

        ElasticSearch为单机时的配置:

#设置中文显示
i18n.locale: "zh-CN"

#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"

#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.2.200:9200"]

#IP访问地址和端口号
server.host: "192.168.2.200"
server.port: 5601

        ElasticSearch为集群时的配置:

#设置中文显示
i18n.locale: "zh-CN"

#设置访问用户
elasticsearch.username: "elastic"
#设置访问密码
elasticsearch.password: "123456"

#ElasticSearch连接地址
elasticsearch.hosts: ["http://192.168.2.200:9200", "http://192.168.2.200:9201", "http://192.168.2.200:9202"]

#IP访问地址和端口号
server.host: "192.168.2.200"
server.port: 5601

3、安装Kibana服务

        这里我们使用的是NSSM工具将Kibana安装为Windows服务。

        在nssm.exe所在文件夹鼠标右键,选择“在此处打开 Powershell 窗口(s)”选项,如下图所示:

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_28

        然后输入​.\nssm install​调出设置窗体

        在弹出的窗体中,Application选项卡中,

            Path:选择kibana.bat所在的路径,如​D:\Net_Program\Net_ElasticSearch\kibana\bin\kibana.bat

            Startup directory:选择Path后,Startup directory选择会自动填充

            Argument:为启动服务的参数,此处为空即可

            Service name:服务名称,如​ElasticSearch-KibanaService

        设置完成后点击Install service按钮即完成,此时去查看系统服务有多了一个叫Kibana-Service的服务了

 Windows中安装ElasticSearch(单机+集群+Kibana)_windows_29

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_30

4、浏览验证

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

Windows中安装ElasticSearch(单机+集群+Kibana)_java_31

Windows中安装ElasticSearch(单机+集群+Kibana)_elastic_32

        到此,Kibana的安装和配置就完成了,关于更多或详细的Kibana安装配置​