Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建

  • 1. elasticSearch 7.4.2 安装
    • 1.1 关于jdk
    • 1.2 安装ES
  • 2 集群的搭建
    • 2.1 配置文件
    • 2.2 中文分词及可视化
      • 2.2.1 可视化elasticHD
      • 2.2.2 可视化Kibana
      • 2.2.2 中文分词

由于课程上的要求,需要做一个电影推荐系统,然后需要实现搜索功能,第一次配置分布式的小白如我还是碰到了各种各样的问题… 还是太菜,很多东西也不太懂,跌跌撞撞地实现了,以防以后要用到,在此做一个记录。

1. elasticSearch 7.4.2 安装

1.1 关于jdk

es7不需要依赖java的环境了,其中已经整合了java环境,但是应用过程中还是碰到了一些插件需要依赖java环境的情况。

用yum安装jdk:安装了默认的jdk1.8.0版本

yum install java

1.2 安装ES

基于能用命令完成的事就不去自己下载的懒人思想,还是用yum以系统服务的方式下载安装。

  1. yum更新
    yum update

  2. 在目录/etc/yum.repos.d/ 目录下创建一个名为elasticsearch.repo的文件,内容如下:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. 然后执行sudo yum install elasticsearch
  2. 配置和启动ES服务器进程
/sbin/chkconfig --add elasticsearch #用于添加到开机自启动
systemctl start elasticsearch
  1. 测试是否成功部署 执行
curl -X GET localhost:9200

返回类似如下内容即成功

{"name" : "node-1","cluster_name" : "movies","cluster_uuid" : "tKLNYk-dTGOut-cI8CWcTA","version" : {"number" : "7.4.2","build_flavor" : "default","build_type" : "rpm","build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96","build_date" : "2019-10-28T20:40:44.881551Z","build_snapshot" : false,"lucene_version" : "8.2.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

2 集群的搭建

上面我们提到的安装是在一个机器上面的es部署,并且采用的默认配置。接下来的工作就是将三台服务器作为一个集群,一个是master节点另外两个是slave节点。

用的是阿里云服务器,一开始因为一些端口没有设置对外开放的问题走了很多弯路,三台机器怎么都无法互相识别,找了各种办法,后来发现三个机器是在一个网段里面的。

这里是用到的几个检测进程状态的方法:

  1. 查找es进程: ps -ef | grep elastic
  2. 杀死某一个进程: Kill -9 进程pid
  3. 查看端口监听状态: netstat -lnpt
  4. systemctl stop firewalld.service 停止firewall
    systemctl disable firewalld.service 禁止firewall开机启动
    firewall-cmd --state 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2.1 配置文件

和其他方法不太一样,使用yum方式安装的es把配置文件放在了这个目录下/etc/elasticsearch/elasticsearch.yml,用vim编辑:

vim /etc/elasticsearch/elasticsearch.yml

然后假设三个服务器的内网ip分别是:172.26.240.210(master)、172.26.240.223、172.26.240.220
然后master服务器的yml文件内容如下:(初始内容里面的注释就没放过来了)

cluster.name: movies #cluster名字三个服务器要一样
node.name: node-1 #节点名称
node.master: true  #作为主节点
node.data: true  #同时存放数据path.data: /var/lib/elasticsearch #数据路径
path.logs: /var/log/elasticsearch  #日志路径network.host: 0.0.0.0 #允许所有ip访问http.port: 9200
transport.tcp.port: 9300 #不同节点的通信端口
#向两个slave服务器 单播
discovery.zen.ping.unicast.hosts: ["172.26.240.223:9300","172.26.240.220:9300"] 

对于slave服务器1

cluster.name: movies #cluster名字三个服务器要一样
node.name: node-2 #节点名称
node.master: false  #不作为主节点
node.data: true  #存放数据path.data: /var/lib/elasticsearch #数据路径
path.logs: /var/log/elasticsearch  #日志路径network.host: 0.0.0.0 #允许所有ip访问http.port: 9200
transport.tcp.port: 9300 #不同节点的通信端口
#向两个slave服务器 单播
discovery.zen.ping.unicast.hosts: ["172.26.240.210:9300"] 

另外一个slave服务器与之类似。配置好了之后启动

2.2 中文分词及可视化

2.2.1 可视化elasticHD

之前采用elasticHD插件进行可视化

  1. 首先下载Zip压缩包 : https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/
  2. 修改权限:chmod -R 777 ElasticHD
  3. 运行: ./ElasticHD -p 127.0.0.1:9800

出现问题:
exec: "xdg-open": executable file not found in $PATH
原因: 没有安装xdg-open

安装xdg-utils之后,xdg-open命令就可以使用了.
yum install xdg-utils

因为我是在服务器部署,在本地打ip+端口访问一直访问不了。怀疑是不是有ip访问限制。
改成./ElasticHD -p 0.0.0.0:9800 启动,再远程访问,一切正常。果然-p参数是ip访问限制。

2.2.2 可视化Kibana

后来发现es官方有出综合可视化和数据分析的工具Kibana。
安装部署在master服务器上,并开放9301端口用于节点和索引的状态查看和管理。将kibana下载并解压后,进入kibana.yml配置文件配置相关信息,允许任何人访问,且端口为9301:

server.host: "0.0.0.0"
server.port: 9301

2.2.2 中文分词

  • 由于es自带的四种analyzer中不包含对中文的分词处理,对于中文的处理仅仅是简单的按字分词,最终搜索效果不佳,因此选用了流行的IK分词器针对中文进行分词。
  • IK插件需要在三台服务器上分别部署。下载的版本与es的版本需要完全一致
  • 可以使用es的plugin install方法安装:
/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6..0/elasticsearch-analysis-ik-7.4.2.zip

速度实在太慢,放弃了。到ik的github网页,下载对应的版本release并解压。在es的plugin文件夹下新建ik的文件夹并将解压内容拷贝进来。

  • 这里需要注意,不能直接把内容放到plugin文件夹下,要在里面创建一个ik的文件夹,把内容放进去,否则识别不了。文件结构应该为plugin/ik/ik解压出来的各种文件

Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建相关推荐

  1. docker之es+es-head+kibana+ik分词器安装

    一.es 第一步:搜索 docker search elasticsearch 第二步:下载镜像 第三步:创建数据文件夹和配置文件 宿主服务器创建文件夹 mkdir -p /docker/es1/da ...

  2. 3.5.CentOS7下安装配置Zookeeper集群与一键启动小脚本

    python编程快速上手(持续更新中-) 推荐系统基础 文章目录 python编程快速上手(持续更新中-) 推荐系统基础 一.事前准备 1.VMware下CentOS7虚拟机(三台) 2.Zookee ...

  3. solrloud集群的配置,zoookeeper+IK分词器+solrcloud,以及集群连接,分片管理

    什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要 ...

  4. citus介绍和centos7安装部署和集群搭建

    文章目录 citus 简介 citus主要特性 部署 centos单节点版本部署启动 centos集群部署启动 要在所有节点上执行的步骤 要在协调器节点上执行的步骤 常用语句 遇到的问题 参考 cit ...

  5. CentOS7下安装配置zookeeper集群及设置开机自启

    1.在做zookeeper集群之前需要有至少三台centos机器或虚拟机 一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程 ...

  6. Elasticsearch+elasticsearch-head的安装+Kibana环境搭建+ik分词器安装

    一.安装JDK1.8 二.安装ES 三个节点:master.slave01.slave02 1.这里下载的是elasticsearch-6.3.1.rpm版本包 https://www.elastic ...

  7. 服务器安装配置elasticsearch,kibana,IK分词器和拼音分词器,集群搭建教程

    docker安装配置elasticsearch,kibana和IK分词器 elasticsearch文章系列 前置安装docker 创建docker网络 安装Elasticsearch 运行elast ...

  8. ik分词器安装_Elasticsearch-analysis-ik-7.4.0_Linux_安装

    ik分词器安装_Elasticsearch-analysis-ik-7.4.0 文章目录 ik分词器安装_Elasticsearch-analysis-ik-7.4.0 IK分词器安装 1.环境准备 ...

  9. ElasticSearch IK分词器安装

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch 默认是带分词器了,对英文是按固定的英文的空格,或者"-"进行分词,但是对中文分 ...

最新文章

  1. 解决:No configuration found. Configuring ehcache from ehcache-failsafe.xml 问题
  2. 【QwQ】乱七八糟的置顶
  3. python字符串、列表和文件对象总结
  4. python判断图片模糊
  5. 野火开发版屏幕_盘一盘那些年我们常用的物联网开发板!
  6. JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位
  7. 这些Windows 10隐藏秘技,你知道几个?
  8. springboot自动配置的原理_SpringBoot实战:详解SpringBoot自动配置原理
  9. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)...
  10. MyEclipse插件不能安装原因
  11. 如何用微信自动添加wifi连接服务器地址,微信服务号如何实现扫码自动连接WIFI?详细步骤介绍!...
  12. dos从优盘启动计算机,对老旧电脑升级很重要,教你制作纯DOS的U盘启动盘
  13. 原理与结构解析——智能门锁方案
  14. 3.2Abstraction data type
  15. fastboot与fastbootd介绍
  16. EasyCVR通过GB28181级联到紫光华智综合安防应用平台无法注册成功问题排查
  17. CSS的背景——颜色,图片,背景图片位置,
  18. python如何画散点图
  19. java中socket实现一对一聊天
  20. android禁止输入字符,Android输入框禁止输入表情符号、特殊字符

热门文章

  1. 盈余贝分享网赚项目的思维和观念
  2. 最好用的六款虚拟机软件,赶紧收藏
  3. makefile往tcl中传递参数
  4. 阿里面试题-判断是不是一个IP地址的测试用例设计(Python实现)
  5. Android 仿微信发送坐标,Android最新版高德地圖poi檢索仿微信發送位置
  6. html excel导出的路径,html 导出多个excel表格数据-如何将html页面中的表格导出到excel表格...
  7. Godot Shader:无需建模用一张图片在Godot中生成一座山
  8. 2021福建漳州高考成绩查询,2021年漳州高考成绩排名及成绩公布时间什么时候出来...
  9. 第七届ArcGIS暨ERDAS用户大会
  10. 2018手机江湖之战:OPPO的变与不变