在linux上安装elasticsearch简称ES简单介绍安装步骤
1、简介
Elasticsearch 是⼀个分布式可扩展的实时搜索和分析引擎,⼀个建⽴在全⽂搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全⽂搜索功能,还可以进⾏以下⼯作:
分布式实时⽂件存储,并将每⼀个字段都编⼊索引,使其可以被搜索。
实时分析的分布式搜索引擎。
可以扩展到上百台服务器,处理PB级别的结构化或⾮结构化数据
像天猫、京东这样的商城,⽤户访问商城的⾸页,⼀般都会直接搜索来寻⾃⼰想要购买的商品。⽽商品的数量⾮常多,⽽且分类繁杂。
如果能正确的显⽰出⽤户想要的商品,并进⾏合理的过滤,尽快促成交易,是搜索系统要研究的核⼼。
⾯对这样复杂的搜索业务和数据量,使⽤传统数据库搜索就显得⼒不从⼼,⼀般我们都会使⽤全⽂检索技术,⽐如Solr,Elasticsearch。
Elastic官⽹:
Elastic有⼀条完整的产品线及解决⽅案:Elasticsearch、Kibana、Logstash等,前⾯说的三个就是⼤家常说的ELK技术栈。Elasticsearch(官⽹:)是Elastic Stack 的核⼼技术。详细介绍参考官⽹
Elasticsearch具备以下特点:
分布式,⽆需⼈⼯搭建集(solr就需要⼈为配置,使⽤Zookeeper作为注册中⼼)
Restful风格,⼀切API都遵循Rest原则,容易上⼿近实时搜索,数据更新在Elasticsearch中⼏乎是完全同步的。
2、安装
为了模拟真实场景,我们将在linux下安装Elasticsearch。虚拟机(需要JDK1.8以上)
2.1:先新建⼀个⽤户(出于安全考虑,elasticsearch默认不允许以root账号运⾏。)
创建⽤户:useradd esuser虚拟机linux安装jdk
设置密码:passwd esuser
2.2:下载安装包
官⽹下载,选择linux版本:
选择亦可下载,选择linux版本
2.3:上传安装包并解压
新建⽂件夹:mkdir es
我们将安装包上传到:/home/es⽬录
解压:tar -zxvf elasticsearch-7.3.2-linux-x86_ ⽬录重命名:mv elasticsearch-7.3.2 elasticsearch
完成后,查看下⽬录结构:
2.4:修改配置⽂件
cd config
需要修改的配置⽂件有两个:
Elasticsearch基于Lucene的,⽽Lucene底层是java实现,因此我们需要配置jvm参数。编辑jvm.options vi jvm.options
修改默认配置:-Xms1g -Xmx1g为
编辑l修改数据和⽇志⽬录
l
node.name: node-1 #配置当前es节点名称(默认是被注释的,并且默认有⼀个节点名)
cluster.name: my-application #默认是被注释的,并且默认有⼀个集名
path.data: /home/es/data # 数据⽬录位置
path.logs: /home/es/logs # ⽇志⽬录位置
network.host: 0.0.0.0 #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
cluster.initial_master_nodes: ["node-1", "node-2"] #默认是被注释的设置master节点列表⽤逗号分隔
进⼊es的根⽬录,然后创建logs data
mkdir data
mkdir logs
属性名说明
cluster.name配置elasticsearch的集名称,默认是elasticsearch。建议修改成⼀个有意义的名称。
node.name节点名,es会默认随机指定⼀个名字,建议指定⼀个有意义的名称,⽅便管理
elasticsearch
path.data设置索引数据的存储路径,默认是es根⽬录下的data⽂件夹,可以设置多个存储路径,⽤逗号隔开path.logs设置⽇志⽂件的存储路径,默认是es根⽬录下的logs⽂件夹
path.plugins设置插件的存放路径,默认是es根⽬录下的plugins⽂件夹
<_lock设置为true可以锁住ES使⽤的内存,避免内存进⾏swap
network.host设置bind_host和publish_host,设置为0.0.0.0允许外⽹访问
http.port设置对外服务的http端⼝,默认为9200。
么这⾥要设置为2
2.5:修改/etc/f⽂件增加配置
vi /etc/f
在⽂件最后,增加如下配置:
* soft nofile 65536
* hard nofile 65536
在/f⽂件最后添加⼀⾏ vm.max_map_count=655360 添加完毕之后,执⾏命令: sysctl -p
vi /f
sysctl -p
2.6:启动
先将es⽂件夹下的所有⽬录的所有权限迭代给esuser⽤户
chgrp -R esuser ./es
chown -R esuser ./es
chmod 777 es
启动:
先切换到esuser⽤户启动
su esuser
./bin/elasticsearch
可以看到绑定了两个端⼝:
9300:集节点间通讯接⼝
9200:客户端访问接⼝
我们在浏览器中访问
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论