1、列出进程号
ps -ef | grep elastic
2、关闭进程号
kill -9 进程号
3、重启elasticsearch
./elasticsearch -d
参数-d的含义是后台运行
1、es不能用root用户启动
异常信息:can not run elasticsearch as root
解决方案: 新建用户 adduser xxx 将es文件夹权限修改 chown -R xx|xx 文件夹
2、./elasticsearch -d 后台启动
3、安装过程注意的问题
1.修改内存
异常信息:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
解决方案: 修改/config/jvm.options文件 -Xms200m -Xmx200m
2.修改文件大小
异常信息: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3895] for user [elastic] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
1.修改/etc/security/limits.conf,修改到提示值即可
- hard nofile 65536
2.修改/etc/security/limits.d/90-nproc.conf 文件 添加
- hard nproc 4096
3.修改/etc/sysctl.conf
添加配置:vm.max_map_count=262144, 然后执行命令 sysctl -p
soft nproc: 可打开的文件描述符的最大数(软限制)
hard nproc: 可打开的文件描述符的最大数(硬限制)
soft nofile:单个用户可用的最大进程数量(软限制)
hard nofile:单个用户可用的最大进程数量(硬限制)
4、简单的集群配置
主节点配置
集群名称,其他节点就是通过这个名字找到指定的集群
cluster.name: wali
节点名称,一个集群里节点名称不能重复
node.name: master
是否为主节点
node.master: true
存放数据的位置
path.data: /home/tar/elasticsearch-6.3.2/data
存放日志的位置
path.logs: /home/tar/elasticsearch-6.3.2/logs
绑定的ip
network.host : 172.31.69.209
指示是否为 Elasticsearch 服务启用 HTTP。如果您要通过使用 Elasticsearch REST 请求来直接查询 Elasticsearch 数据,那么可以启用 HTTP 端口
http.cors.enabled: true
如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。
http.cors.allow-origin: "*"
如果启用了 HTTP 端口,那么此属性指定由 Elasticsearch 服务使用的端口。
http.port: 9200
用于某个集群中 Elasticsearch 节点之间的通信的端口
transport.tcp.port: 9300
其他节点配置
集群名称,其他节点就是通过这个名字找到指定的集群
cluster.name: wali
节点名称,一个集群里节点名称不能重复
node.name: slave2
存放数据的位置
path.data: /home/wuzhuang/data2
存放日志的位置
path.logs: /home/wuzhuang/logs2
绑定的ip
network.host : 172.31.69.209
提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。
discovery.zen.ping.unicast.hosts: ["172.31.69.209"]
elasticsearch.yml配置属性
属性 | 缺省值 | 描述 |
cluster.name | <kbd class="ph userinput">federated_cluster</kbd> | Elasticsearch 集群名称。使用集群可将单独 Process Federation Server 绑定到单个分布式系统中。参与集群的所有服务器都必须具有相同的集群名称。 |
node.name | <kbd class="ph userinput">node1</kbd> | Elasticsearch 节点名。集群中的每个 Process Federation Server 都必须具有唯一节点名。 |
node.master | <kbd class="ph userinput">true</kbd> | 指示某个节点是否符合成为主节点的条件。主节点管理 Elasticsearch 集群的状态。在运行时,Elasticsearch 服务会自动提名某一个合格的集群成员成为主节点。 |
node.data | <kbd class="ph userinput">true</kbd> | 指示节点是否为数据节点。数据节点包含并管理索引的一部分。 |
http.enabled | <kbd class="ph userinput">false</kbd> | 指示是否为 Elasticsearch 服务启用 HTTP。如果您要通过使用 Elasticsearch REST 请求来直接查询 Elasticsearch 数据,那么可以启用 HTTP 端口。 |
htttp.port | <kbd class="ph userinput">9200</kbd> | 如果启用了 HTTP 端口,那么此属性指定由 Elasticsearch 服务使用的端口。 |
http.cors.enabled | <kbd class="ph userinput">true</kbd> | 如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。 |
http.cors.allowed.origin | <kbd class="ph userinput">localhost</kbd> | 如果 http.cors.enabled 的值为 <kbd class="ph userinput">true</kbd>,那么该属性会指定允许 REST 请求来自何处。 |
transport.tcp.port | <kbd class="ph userinput">9300</kbd> | 用于某个集群中 Elasticsearch 节点之间的通信的端口。 |
discovery.zen.minimum_master_nodes | <kbd class="ph userinput">1</kbd> | 指示某个集群定额所需的 Process Federation Server 的数量。 |
discovery.zen.ping.multicast.enabled | <kbd class="ph userinput">false</kbd> | 通过发送节点所接收和响应的一个或多个多点广播请求来提供对其他 Elasticsearch 服务节点的多点广播 ping 发现功能。有关更多信息,请参阅 Elasticsearch 文档。 |
discovery.zen.ping.unicasts.hosts | <kbd class="ph userinput">localhost</kbd> | 提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。 |
discovery.zen.ping.timeout | <kbd class="ph userinput">3s</kbd> | Elastic 搜索节点等待加入 Elasticsearch 集群的时间。 |