单机单节点配置
cluster.name: esbest
node.name: node127-9200
node.master: true
path.data: /esdata/data-9200
path.logs: /eslog/log-9200
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
http.port: 9200
transport.tcp.port: 9300
network.host: 0.0.0.0
discovery.type: single-node
xpack.security.enabled: false
单机多节点配置
1. 节点1:9200es节点的配置文件内容
cluster.name: esbest
node.name: node127-9200
node.master: true
path.data: /esdata/data-9200
path.logs: /eslog/log-9200
bootstrap.memory_lock: false
network.host: 0.0.0.0 //四个0表示所有IP
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true //# 开启跨域访问支持,默认为false
http.cors.allow-origin: “” //# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
node.max_local_storage_nodes: 2 //单机上最大允许运行的es节点个数
discovery.zen.ping.unicast.hosts: [“10.10.10.168:9300”,“10.10.10.168:9301”]
action.destructive_requires_name: true
cluster.routing.allocation.same_shard.host: true //如果是多节点的话,为防止索引分片丢失,需要开启这个参数。
discovery.seed_hosts: [“10.10.10.168:9200”,“10.10.10.168:9201”]
cluster.initial_master_nodes: [“node127-9200”]
2. 节点2:9201es节点的配置文件内容
cluster.name: esbest
node.name: node127-9201
path.data: /esdata/data-9201
path.logs: /eslog/log-9201
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: “”
node.max_local_storage_nodes: 2
discovery.zen.ping.unicast.hosts: [“10.10.10.168:9300”,“10.10.10.168:9301”]
action.destructive_requires_name: true
cluster.routing.allocation.same_shard.host: true
注:9200和9201节点的配置文件,区别就是数据存放目录、日志存放目录、服务端口、集群间相互通信的端口不同,其余都一样;数据目录和日志目录都需手动创建,属主数组都是elasticsearch用户。
注:“cluster.routing.allocation.same_shard.host: true”参数的作用,es天生集群特性,用户只管往es集群里存放数据,es主节点会把数据分布到各个节点,目的是为了保证节点宕机后数据不丢失。如果一台机器上起多个es节点的话,因为es集群默认不知道这个机器上有多个es节点,所以可能会出现把本该分散放到多个机器的某些索引分片,都集中放到了这个多节点的机器上,因为es以为这几个多节点是分布在不同的机器上,假如这个多节点的机器宕机,那就可能会造成丢失数据。上面那个参数的作用就是,允许es主节点探测该物理机是不是存在多个节点,如果存在多个节点,则只给这个机器一份独立数据,也就是说es集群存储数据时,会把这些在一台机器上的多个节点当做一个节点来对待。
注:es多节点的好处,因为JVM局限性,es最大分配内存不要超过32G,否则jvm垃圾回收会严重影响性能。es节点最大给32G内存,而物理机内存很大,所以就可以启动多个节点,来提高整个es集群的性能。
后台方式运行ES
./elasticsearch -d