centos7搭建ELK之linux安装elasticsearch7.6.2图文教程(一)

1.elasticsearch简介

  • ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

2.elasticsearch官网(官网打开速度有点慢)

3.elasticsearch下载安装

下载elasticsearch安装包

解压elasticsearch7.x

  • tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz

运行elasticsearch7.x(出现异常信息请看下面elasticsearch7.x异常信息解决 

  • (bin目录下)./elasticsearch -------------------------------- (启动)
  • (bin目录下)./elasticsearch  -d -------------------------------- (后台启动)
  • curl 127.0.0.1:9200 --------------------------------------------- (访问es)

4.elasticsearch7.x异常信息解决 

异常信息一:

  • OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000000074a660000, 3046768640, 0) failed; error='Not enough space' (errno=12) 
  • 错误原因jvm内存溢出,需要修改jvm.options文件的-Xms1g-Xmx1g(根据自身机器情况修改,es运行很占内存,建议虚拟机的话就多分配点内存,云服务就购买运行内存大一点的机器)
  • (config目录下) vim jvm.options
  • -Xms1g-Xmx1g(默认是1g)

异常信息二: 

  • java.lang.RuntimeException: can not run elasticsearch as root
  • 错误原因是es不能使用root用户进行启动
  • useradd xxx   ---------------------------------------------------------- 新建用户
  • passwd xxx   -----------------------------------------------------------设置密码
  • su xxx            -----------------------------------------------------------切换用户

异常信息三:

  • Exception in thread "main" java.nio.file.AccessDeniedException: /home/temp/elasticsearch7.x/elasticsearch-7.6.2/config/jvm.options
  • 错误原因该用户没有可执行权限
  • su root ------------------------------------------------------------------ 切换回root用户
  • chmod -R 777 /home/temp/elasticsearch7.x ------------------ 给予执行权限

异常信息四:

  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  • elasticsearch用户拥有的内存权限太小,至少需要262144;解决方法修改sysctl.conf,追加vm.max_map_count = 655360
  • su root ----------------------------------------------------(切换回root用户在进行操作)
  • vim /etc/sysctl.conf
  • vm.max_map_count = 655360
  • sysctl -p

异常信息五:

  • 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
  • 需要配置[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]任意一项
  • (config目录) vim elasticsearch.yml
  • cluster.initial_master_nodes: ["127.0.0.0", "[::1]"]

5.设置外网访问(出现异常信息请看异常信息四和异常信息五)

修改elasticsearch.yml配置

  • (config目录) vim elasticsearch.yml
  • network.host: 0.0.0.0
  • cluster.initial_master_nodes: ["127.0.0.0", "[::1]"]

 这时候如果你是第一次安装,没有开放防火墙端口,则通过IP是无法进行连接的,阿里云配置安全组即可!!

  • firewall-cmd --permanent --add-port=9200/tcp  --------------------(开放9200端口)
  • firewall-cmd --reload  ----------------------------------------------------- (重启防火墙)

6.elasticsearch7.x集群配置

  • -----------------------------------node1--------------------------------------------------------
  • cluster.name: my-es
  • node.name: node-1
  • http.port: 9200
  • ----------------------------------------------------------------------------------------------------
  • -----------------------------------node2--------------------------------------------------------
  • cluster.name: my-es
  • node.name: node-2
  • http.port: 9201
  • ----------------------------------------------------------------------------------------------------
  • (bin目录下)./elasticsearch  -d -------------------------------- (后台启动)

查看是否配置成功

  • curl http://127.0.0.1:9200/_cluster/health?pretty=true

 ps:es集群配置非常简单,只要在同一网段启动的es就会自动加入集群配置,简单配置只要修改下节点名称即可(这样配置请不要设置network.host和cluster.initial_master_nodes,不然则需要相应的配置)详细配置如下图

#集群名称
cluster.name: elasticsearch
#节点名称
node.name: node-a
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#网关地址
network.host: 192.168.11.220
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.11.220:9300","192.168.11.220:9301","192.168.11.220:9302"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-a", "node-b","node-c"]
#数据存储路径
path.data: /home/es/software/es/data
#日志存储路径
path.logs: /home/es/software/es/logs

猜你喜欢

转载自blog.csdn.net/weixin_44096448/article/details/106056184
今日推荐