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

网友投稿 1005 2022-09-16

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

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

系统版本:Windows 10

ElasticSearch版本:7.15.2(​​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#对外提供服务的端口9200#内部服务端口transport.port: 9300#启动地址,如果不配置,只能本地访问network.host: 192.168.2.200#跨域支持true#跨域访问允许的域名地址"*"

​ 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文件中增加如下配置:

#开启xpackxpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true#证书配置xpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.client_authentication: requiredxpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

​8、设置账户密码​

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

此时我们在浏览器中访问​​["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#对外提供服务的端口9200#内部服务端口transport.port: 9300#启动地址,如果不配置,只能本地访问network.host: 192.168.2.200#跨域支持true#跨域访问允许的域名地址"*"

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#对外提供服务的端口9201#内部服务端口transport.port: 9301#启动地址,如果不配置,只能本地访问network.host: 192.168.2.200#跨域支持true#跨域访问允许的域名地址"*"

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#对外提供服务的端口9202#内部服务端口transport.port: 9302#启动地址,如果不配置,只能本地访问network.host: 192.168.2.200#跨域支持true#跨域访问允许的域名地址"*"

​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文件中增加如下配置:

#开启xpackxpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true#证书配置xpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.client_authentication: requiredxpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

​8、设置账户密码  ​

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

验证,此时我们可以在浏览器中输入其中一个节点的地址​​"zh-CN"#设置访问用户elasticsearch.username: "elastic"#设置访问密码elasticsearch.password: "123456"#ElasticSearch连接地址elasticsearch.hosts: [""192.168.2.200"server.port: 5601

ElasticSearch为集群时的配置:

#设置中文显示i18n.locale: "zh-CN"#设置访问用户elasticsearch.username: "elastic"#设置访问密码elasticsearch.password: "123456"#ElasticSearch连接地址elasticsearch.hosts: [""""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​

​4、浏览验证​

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C# 插件式编程
下一篇:Windows中使用Docker安装ClickHouse
相关文章

 发表评论

暂时没有评论,来抢沙发吧~