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

2023-10-26

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

 3、修改elasticsearch-env文件

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

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

6、安装ElasticSearch服务

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

  7、配置SSL证书

        启动node节点的服务

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

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

        输入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 

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

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

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

        在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确定,然后输入每个账户的密码和确认密码即可,如下图所示:

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

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



集群ElasticSearch

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

1、安装集群

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

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

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

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节点的服务即可完成。

 7、配置SSL证书

        启动3个节点的服务

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

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

        输入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 

        

      重点:

        在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(该密码为上面生成证书设置的密码)

 

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

        在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确定,接下来就可以修改各个账户的密码了,如下图所示:

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



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

        然后输入.\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按钮即完成,此时去查看系统服务有多了一个叫ElasticSearch-KibanaService的服务了

 

4、浏览验证

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

        到此,Kibana的安装和配置就完成了,关于更多或详细的Kibana安装配置可参见:https://blog.csdn.net/qubernet/article/details/107396854

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows中安装ElasticSearch(单机+集群+Kibana) 的相关文章

随机推荐