1.获取elasticsearch-head

http://mobz.github.io/elasticsearch-head/

下载并解压

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip

2.安装node,使用head 插件,需要node.js的支持,所以先安装node.js

下载并解压

wget https://npm.taobao.org/mirrors/node/latest-v9.x/node-v9.0.0-linux-x64.tar.gz
tar -zxvf tar -zxvf node-v9.0.0-linux-x64.tar.gz

配置环境变量

vim /etc/profile
#添加
export NODE_HOME=/usr/local/node-v9.0.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules

3.安装

npm install

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功:

v9.0.0

4.安装中文分词插件ik

下载并解压至elasticsearch的插件目录下

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
unzip elasticsearch-analysis-ik-6.3.2.zip

5.启动

启动elasticsearch

sh ./elasticsearch-6.3.2/bin/elasticsearch -d

启动node插件

npm run start

效果

安装elasticsearch-analysis-ik中文分词插件

1.在elasticsearch下的plugins文件夹中创建ik文件夹  下载并解压ik至

mkdir ik

2.下载并解压ik到ik文件夹

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
unzip elasticsearch-analysis-ik-6.3..zip -d /elasticsearch-6.3./plugins/ik

3.重启elasticsearch,可以看到启动信息中有加载插件ik

4.测试ik提供的简单案例

.create a index

curl -XPUT http://localhost:9200/index
.create a mapping curl -XPOST http://localhost:9200/index/fulltext/_mapping -H 'Content-Type:application/json' -d'
{
"properties": {
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
} }'
.index some docs curl -XPOST http://localhost:9200/index/fulltext/1 -H 'Content-Type:application/json' -d'
{"content":"美国留给伊拉克的是个烂摊子吗"}
'
curl -XPOST http://localhost:9200/index/fulltext/2 -H 'Content-Type:application/json' -d'
{"content":"公安部:各地校车将享最高路权"}
'
curl -XPOST http://localhost:9200/index/fulltext/3 -H 'Content-Type:application/json' -d'
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
'
curl -XPOST http://localhost:9200/index/fulltext/4 -H 'Content-Type:application/json' -d'
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
'
.query with highlighting curl -XPOST http://localhost:9200/index/fulltext/_search -H 'Content-Type:application/json' -d'
{
"query" : { "match" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}
'
Result {
"took": ,
"timed_out": false,
"_shards": {
"total": ,
"successful": ,
"failed":
},
"hits": {
"total": ,
"max_score": ,
"hits": [
{
"_index": "index",
"_type": "fulltext",
"_id": "",
"_score": ,
"_source": {
"content": "中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"
},
"highlight": {
"content": [
"<tag1>中国</tag1>驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首 "
]
}
},
{
"_index": "index",
"_type": "fulltext",
"_id": "",
"_score": ,
"_source": {
"content": "中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"
},
"highlight": {
"content": [
"均每天扣1艘<tag1>中国</tag1>渔船 "
]
}
}
]
}
}

 注意事项及遇到的问题

1.显示集群健康值:未连接

修改配置文件  vim /elasticsearch-5.6.3 /config/elasticsearch.yml  添加配置

#如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求
http.cors.enabled: true
#如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处
http.cors.allowed.origin: "*"

2.ik的

在ik提供的案例中,第一步创建了索引后,第二步一直提示错误

{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Mapper for [content] conflicts with existing mapping in other types:\n[mapper [content] has different [analyzer]]"
}
],
"type": "illegal_argument_exception",
"reason": "Mapper for [content] conflicts with existing mapping in other types:\n[mapper [content] has different [analyzer]]"
},
"status":
}

从错误提示上来看是说要创建的映射已经存在了,问题的关键就在于我没有创建过叫index的索引.中文站是废了,最终老歪给出了回复,大致原因应该是我在创建了索引后,没有创建mapping前查询过该索引,那么es就会自动为该索引创建一个mapping.

Elasticsearch 配置属性
属性 缺省值 描述
cluster.name federated_cluster Elasticsearch 集群名称。使用集群可将单独 Process Federation Server 绑定到单个分布式系统中。参与集群的所有服务器都必须具有相同的集群名称。
node.name node1 Elasticsearch 节点名。集群中的每个 Process Federation Server 都必须具有唯一节点名。
node.master true 指示某个节点是否符合成为主节点的条件。主节点管理 Elasticsearch 集群的状态。在运行时,Elasticsearch 服务会自动提名某一个合格的集群成员成为主节点。

仅当您想要对专用主节点和数据节点采用高级配置时,才将该值设置为 false。此类型的配置并不常用。

node.data true 指示节点是否为数据节点。数据节点包含并管理索引的一部分。

仅当您想要对专用主节点和数据节点采用高级配置时,才将该值设置为 false。此类型的配置并不常用。

http.enabled false 指示是否为 Elasticsearch 服务启用 HTTP。如果您要通过使用 Elasticsearch REST 请求来直接查询 Elasticsearch 数据,那么可以启用 HTTP 端口。

限制:Elasticsearch HTTP 端口不支持安全连接。
htttp.port 9200 如果启用了 HTTP 端口,那么此属性指定由 Elasticsearch 服务使用的端口。
http.cors.enabled true 如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。
http.cors.allowed.origin localhost 如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。
transport.tcp.port 9300 用于某个集群中 Elasticsearch 节点之间的通信的端口。
discovery.zen.minimum_master_nodes 1 指示某个集群定额所需的 Process Federation Server 的数量。

缺省值为 1 表示单服务器环境。对于生产环境,请将该值设置为组成定额所需的 Process Federation Server 的数量。例如,如果在集群中总计有三个 Process Federation Server,请将该值设置为“2”,如果在集群中总计有五个 Process Federation Server,请将该值设置为“3”。

有关更多信息,请参阅 Elasticsearch 文档

discovery.zen.ping.multicast.enabled false 通过发送节点所接收和响应的一个或多个多点广播请求来提供对其他 Elasticsearch 服务节点的多点广播 ping 发现功能。有关更多信息,请参阅 Elasticsearch 文档
discovery.zen.ping.unicasts.hosts localhost 提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。

例如:

discovery.zen.ping.unicast.hosts="localhost:9300,localhost:9301,localhost:9302

有关更多信息,请参阅 Elasticsearch 文档

discovery.zen.ping.timeout 3s Elastic 搜索节点等待加入 Elasticsearch 集群的时间。

linux安装elasticsearch-head和elasticsearch-analysis-ik及遇到的各种问题的更多相关文章

  1. Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,

    Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...

  2. Linux安装Elasticsearch

    本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...

  3. Linux 安装elasticsearch、node.js、elasticsearch-head

    前提:下载es的安装包 官网可以下载 es官网 安装elasticsearch 1 新建两个文件夹 一个存放安装文件,一个存放解压后的文件 mkdir -p /export/software //存放 ...

  4. docker 安装ElasticSearch的中文分词器IK

    首先确保ElasticSearch镜像已经启动 安装插件 方式一:在线安装 进入容器 docker exec -it elasticsearch /bin/bash 在线下载并安装 ./bin/ela ...

  5. Linux安装ElasticSearch启动报错的解决方法

    Linux安装ElasticSearch后,ElasticSearch是不能用root用户启动的,以root用户启动会报错Refer to the log for complete error det ...

  6. elasticsearch在linux上的安装,Centos7.X elasticsearch 7.6.2

    本文环境:Elasticsearch7.6.2目前最先版本   centos7.X     JDK1.8 elasticsearch介绍 官网:https://www.elastic.co/cn/pr ...

  7. elasticsearch在linux上的安装,Centos7.X elasticsearch 7.6.2安装

    本文环境:Elasticsearch7.6.2目前最先版本   centos7.X     JDK1.8 elasticsearch介绍 官网:https://www.elastic.co/cn/pr ...

  8. linux安装elasticsearch及遇到的各种问题

    1.获取elasticsearch https://www.elastic.co/downloads/elasticsearch 终端输入赋值的下载链接进行下载 wget https://artifa ...

  9. linux 安装elasticsearch

    一.检测是否已经安装的elasticsearch ps aux|grep elasticsearch. 二.下载elasticsearch.tar.gz并上传至服务器usr/local/文件夹下 三. ...

  10. linux安装Elasticsearch详细步骤

    坑都已经踩好了 照着步骤一次成功  不多废话 走起 # ## 安装java运行环境 elasticsearch是用Java实现的 跑elasticsearch必须要有jre支持 所以必须先安装jre ...

随机推荐

  1. Vue Watch 的原理 和 $nextTick() 通俗理解

    网上watch和$nextTick()解释比较复杂,涉及到promise,h5的dom发生变化的新api等复杂代码,下列就是两个参考. [watch原理] [$nextTick()] 首先,看遇到问题 ...

  2. 5、Flutter 实现 ViewPager、bottomNavigationBar 界面切换

    1.前言 首先我们想一下,如果在 Android 中实现 布局切换,通常的思路是: 做一个 viewpager 一组 Fragment 每个 Fragment 绑定一个 xml 最后填充至 viewp ...

  3. docker容器与镜像

    就像cad图层概念 数据卷就是为了完成数据持久化操作

  4. 【JVM】-NO.114.JVM.1 -【JDK11 HashMap详解-3-put-treeifyBin()-AVL】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  5. python进阶(三) 内建函数getattr工厂模式

    getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.  传入不同的字符串,调用的方法不一样. 原型:getattr(对象,方法名) 举个栗子: pyMethod类 ...

  6. python实现获取身份证号码的方法

    记录瞬间 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.2.地址码 表示编码 ...

  7. 0003-20180422-自动化第三章-python基础学习笔记

    3章 内容回顾: 1. 计算机组成 2. 程序编译器 3. 变量 4. 条件 5. 循环 6. py2与py3区别 - 默认编码, - 除法, - input ,raw_input 7. 位,字节关系 ...

  8. py-faster-rcnn

    踩坑: 1. 服务器上训练: sh ./experiments/scripts/faster_rcnn_end2end.sh 会各种报错 有说是因为#!/bin/bash的问题,改过,不行. 改成如下 ...

  9. C#计算重重字符串,出现的次数

    int bac = System.Text.RegularExpressions.Regex.Matches(“字符串”, @"要计算的").Count;        //字符串 ...

  10. spring 的web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java ...