博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【商城】Elasticsearch搜索引擎
阅读量:4119 次
发布时间:2019-05-25

本文共 3157 字,大约阅读时间需要 10 分钟。

Elasticsearch作为商城核心框架,主要应用在商城搜索、商品搜索、订单搜索、店铺搜索等搜索场景,起到支撑核心业务的重要作用。下面以为Elasticsearch 6.x为例搭建一套完整的搜索引擎。

1、系统参数配置

1.1 配置资源限制

打开/etc/security/limits.conf 在文件最后添加如下配置:

`如Elasticsearch使用appuser用户部署` appuser -memlock unlimited appuser -nofile 100000 appuser -nproc 32768 appuser -as unlimited
1.2 配置网络缓冲区和虚拟内存

打开/etc/sysctl.conf 在文件最后添加如下配置:

net.ipv4.tcp_syncookies=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 net.ipv4.tcp_synack_retries=2 net.ipv4.tcp_syn_retries=2 net.ipv4.tcp_max_orphans=3276800 net.ipv4.tcp_fin_timeout=30 vm.max_map_count=1048575 vm.swappiness=5

让配置生效: sysctl -p

2、ES中间件部署

将Elasticsearch 6.x解压到指定的目录,并进入config目录,修改elasticsearch.yml文件配置

  • cluster.name: es-cluster #集群名称,同一集群保持名称一致
  • node.name: node-1 #建议按照IP地址尾号命名,如node-123
  • path.data:/appuser/elasticsearch/data #文件路径
  • path.logs:/nas/elasticsearch/logs #日志路径
  • network.host:0.0.0.0
  • network.publish_host:192.168.0.1 #当前主机实际IP地址
  • http.port:9200
  • descovery.zen.unicast.hosts:[“192.168.0.1:9300”,“192.168.0.2:9300”,“192.168.0.3:9300”] #集群的ip集合,启动新节点时,通过这个ip列表进行节点发现,组建集群
  • discovery.zen.minimum_master_nodes:2 #通过配置此参数来防止集群“脑裂现象”(集群节点总数/2+1),可根据集群规模适当调整到3
2.1 jvm.options调优

可根据宿主机内存大小进行调整,以下是以16G内存大小的主机为例配置:

-Xms8g-Xmx8g-XX:NewRatio=1-XX:+AlwaysPreTouch#GC垃圾回收期,默认是MARK清除垃圾回收期,此处使用G1-XX:+UseG1GC-XX:G1RSetUpdatingPauseTimePercent=5-XX:MaxGCPauseMillis=500-XX:InitiatingHeapOccupancyPercent=70-XX:ParallelGCThreads=16-XX:ConcGCThreads=16       #默认是并行ParallelGCThreads的1/4,设置相同减少STW#其他Print参数使用默认即可;#Heap Dumps配置`-XX:HeapDumpPath`=/heapdump   #具体地址`-XX:ErrorFile`=/applog/logs/hs_err_pid%p.log
2.2 更多调优,

3、启动ES

进入bin目录,执行命令./elasticsearch -d 即可启动

3.1 查看集群状态

(1)进入path.logs查看日志文件

(2)浏览器输入http://ip:9200,其中ip为任意主机的ip地址,可以查看对应的节点信息

{   "nome":"node-1",   "cluster_name":"es-cluster",   "cluster_uuid":"wSNcWcAVT1ik8pffGMRgKg",   "version":{       "number":"6.x",       "build_flavor":"default",       "build_type":"tar"       ....等等   },   "tagline":"You Know,for Search" }

(3)浏览器输入http://ip:9200/_cat/nodes 可查看集群状态,有*的为集群的主节点

192.168.0.1 52 89 1 0.00 0.02 0.05 dilm - node-1192.168.0.2 52 78 2 0.00 0.15 0.12 dilm * node-2192.168.0.3 52 92 3 0.00 0.20 0.16 dilm - node-3

4、IK分词器安装

4.1 中文分词器

下载,注意ik分词器安装包的版本与ES的版本要一致,安装的时候,每台ES宿主机都需要安装

(1)安装ik分词器前,停止所有的es服务,可以kill掉所有ES进程;
(2)进入es目录

  • cd elasticsearch-6.x

在该目录下执行如下命令:

  • ./bin/elasticsearch-plugin install file:/appuser/…/elasticsearch-analysis-ik-6.x.zip

其中,file:后面的是ik分词器安装包安装的绝对路径,对每一个节点执行以上操作,即可完成整个集群ik分词器的安装部署。

4.2 中文拼音分词器

下载,安装时候,每台ES宿主机执行相同操作。

(1)安装ik分词器前,停止所有的es服务,可以kill掉所有ES进程;
(2)进入es目录

  • cd elasticsearch-6.x
    在该目录下执行如下命令:
  • ./bin/elasticsearch-plugin install file:/appuser/…/elasticsearch-analysis-pinyin-6.x.zip
    其中,file:后面的是pingyin分词器安装包安装的绝对路径,对每一个节点执行以上操作,即可完成整个集群pingyin分词器的安装部署。
4.3 ik分词器验证

完成所有节点ik安装后,启动ES集群,查看ES每个节点的日志(路径path.logs:配置),可以看到类似下面的内容,说明ik分词器安装成功。

[2021-01-20T14:01:53,584][INFO][o.e.p.PluginsService][node-1]loaded plugin [analysis-ik]

注:为了确保插件成功安装,请一一排除ES集群每个节点。

5、Kibana 6.x安装

可选择性安装,只需要为ES集群中的某一个节点安装Kibana即可。解压后配置kibana.yml文件

#访问kibana的端口server.port=5601#安装kibana的机器IPserver.host:"192.168.0.1"#kibana访问的ES地址elasticsearch.url:192.168.0.1:9200xpack.security.enabled:false

(1)启动Kibana

  • ./bin/kibana

(2)访问kibana

  • http://ip:5601

转载地址:http://vccpi.baihongyu.com/

你可能感兴趣的文章
从山寨Spring中学习Spring IOC原理-自动装配注解
查看>>
实例区别BeanFactory和FactoryBean
查看>>
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>
微信小程序中使用npm过程中提示:npm WARN saveError ENOENT: no such file or directory
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
Vue项目中使用img图片和background背景图的使用方法
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>