ElasticSeach(二、部署运行)

ES版本:7.6.1

elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------
# 集群名称,同一集群名称需一致,默认:elasticsearch
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
# 节点名称,集群内节点名称需唯一
node.name: node-1
# 自定义属性
#node.attr.rack: r1
# 当前节点是否储存数据
node.data: true
# 是否是主节点
node.master: true
# ----------------------------------- Paths ------------------------------------
# 索引数据存放地址
path.data: /path/to/data
# 日志文件存放地址
path.logs: /path/to/logs
# ----------------------------------- Memory -----------------------------------
# 是否锁住物理内存
bootstrap.memory_lock: true
# ---------------------------------- Network -----------------------------------
# 监听地址用于访问es
network.host: 0.0.0.0
# 对外提供的http端口
http.port: 9200
# --------------------------------- Discovery ----------------------------------
# es7新配置,写入候选主节点的设备地址,在开启服务后可被选为主节点
discovery.seed_hosts: ["10.32.16.195:9300", "10.32.16.196:9300"]
# es7新配置,初始化一个新集群时,需要此配置来选举master
#cluster.initial_master_nodes: ["node-1", "node-2"]
# ---------------------------------- Gateway -----------------------------------
#gateway.recover_after_nodes: 3
# ---------------------------------- Various -----------------------------------
#action.destructive_requires_name: true

jvm.options

配置文件jvm.options里配置jvm等相关信息,默认是1g,若本地测试可相对改小,不超过内存的50%

-Xms256m
-Xmx256m

windows单机版部署

执行bin/elasticsearch.bat

访问http://127.0.0.1:9200/地址可看到返回的json

 

 

 linux单机部署

解压文件

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz

es不能用root角色启动,新建用户es

useradd es

赋予文件夹权限

chown -R es:es /user/local/elasticsearch-7.6.1

用es启动

su es

./elasticsearch -d

此处注意:因为我本机安装了JDK8,而es需要jdk11以上,虽然兼容,不影响使用。es7以上内置了JDK12,不需要本地安装JDK。

 集群部署

es集群部署只需要修改只需要设置elasticsearch.yml文件,其他的无须设置,例如:

节点一:

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: escluster
# 设置节点名称,集群内节点名称必须唯一。
node.name: node1
# 监听地址,用于访问该es
network.host: 172.16.100.1
discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
cluster.initial_master_nodes: ["node1", "node2", "node3"]

节点二:

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: escluster
# 设置节点名称,集群内节点名称必须唯一。
node.name: node2
# 监听地址,用于访问该es
network.host: 172.16.100.2
discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
cluster.initial_master_nodes: ["node1", "node2", "node3"]

节点三:

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: escluster
# 设置节点名称,集群内节点名称必须唯一。
node.name: node3
# 监听地址,用于访问该es
network.host: 172.16.100.3
discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
cluster.initial_master_nodes: ["node1", "node2", "node3"]

启动常见问题

1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

换回root用户,修改/etc/security/limits.conf文件,在后面追加:

es hard nofile 65536

es soft nofile 65536

es就是启动用户

2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

/etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

3. the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

取消注释保留一个节点
cluster.initial_master_nodes: ["node-1"]

Kibana

es可视化操作页面

config/kibana.yml中配置 elasticsearch.url的值为 ES的访问地址

启动bin/kibana 默认端口是5601

posted @ 2020-03-26 09:11  学霸王先森  阅读(231)  评论(0编辑  收藏  举报