本次配置基于ELK 7.13.1版本
- elasticsearch 配置启动
elasticsearch下载完后解压,执行bin目录的elasticsearch.bat 即可启动elasticsearch服务,但此时只能通过127.0.0.1端口访问,正常情况下需通过本地或内网地址都可以,需要更改config\elasticsearch.yml的配置内容如下:
network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_nodes: ["node-1"]
- elasticsearch 使用内置jdk
在bin目录的elasticsearch-env.bat文件中增加set JAVA_HOME="%ES_HOME%\jdk" 配置,如下
rem comparing to empty string makes this equivalent to bash -v check on env var rem and allows to effectively force use of the bundled jdk when launching ES rem by setting JAVA_HOME= rem 此行设置让es使用内置的jdk set JAVA_HOME="%ES_HOME%\jdk" if defined ES_JAVA_HOME ( set JAVA="%ES_JAVA_HOME%\bin\java.exe" set JAVA_TYPE=ES_JAVA_HOME ) else if defined JAVA_HOME ( rem fallback to JAVA_HOME echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2 set JAVA="%JAVA_HOME%\bin\java.exe" set "ES_JAVA_HOME=%JAVA_HOME%" set JAVA_TYPE=JAVA_HOME ) else ( rem use the bundled JDK (default) set JAVA="%ES_HOME%\jdk\bin\java.exe" set "ES_JAVA_HOME=%ES_HOME%\jdk" set JAVA_TYPE=bundled JDK )
- elasticsearch 集群配置,下面以单集群2个节点,说明配置文件
节点一配置文件
cluster.name: my-application #集群名称 node.name: node-1001 #节点名称 network.host: 0.0.0.0 #IP http.port: 9201 transport.tcp.port: 9301 #tcp监听端口 node.master: true #可以是主节点 node.data: true #可以是数据节点 #跨域配置 #action.destructive_requires_name: true http.cors.enabled: true http.cors.allow-origin: "*" #查找第一个启动的节点 discovery.seed_hosts: ["172.17.36.206:9301","172.17.36.206:9302"] #超时时间设为2分钟,超过6次心跳没有回应,则认为该节点脱离master,每隔30s发送一次心跳 discovery.zen.fd.ping_timeout: 120s discovery.zen.fd.ping_retries: 6 discovery.zen.fd.ping_interval: 30s #集群内的可以被选为主节点的节点列表 cluster.initial_master_nodes: ["node-1001","node-1002"] #是否启用对同一分片在同一个主机上出现多个分配实例的检测。默认false。这个选项只有在同一个node上启动多个es实例的情况下才有意义 #cluster.routing.allocation.same_shard.host: true
节点二配置文件
cluster.name: my-application #集群名称 node.name: node-1002 #节点名称 network.host: 0.0.0.0 #IP http.port: 9202 transport.tcp.port: 9302 #tcp监听端口 node.master: true #可以是主节点 node.data: true #可以是数据节点 #跨域配置 #action.destructive_requires_name: true http.cors.enabled: true http.cors.allow-origin: "*" #查找第一个启动的节点 discovery.seed_hosts: ["172.17.36.206:9301","172.17.36.206:9302"] #超时时间设为2分钟,超过6次心跳没有回应,则认为该节点脱离master,每隔30s发送一次心跳 discovery.zen.fd.ping_timeout: 120s discovery.zen.fd.ping_retries: 6 discovery.zen.fd.ping_interval: 30s #集群内的可以被选为主节点的节点列表 cluster.initial_master_nodes: ["node-1001","node-1002"] #是否启用对同一分片在同一个主机上出现多个分配实例的检测。默认false。这个选项只有在同一个node上启动多个es实例的情况下才有意义 #cluster.routing.allocation.same_shard.host: true