专栏首页LaravelCodeUbuntu 安装 Elasticsearch 和 elasticsearch-analysis-ik 分词

Ubuntu 安装 Elasticsearch 和 elasticsearch-analysis-ik 分词

Ubuntu 安装 Elasticsearch 和 elasticsearch-analysis-ik 分词

假设你已经安装了 JDK ,如没有请查看这篇文章进行安装JDK

安装 Elasticsearch

官方文档

1、下载 Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz

2、 解压

tar -xzf elasticsearch-6.4.0.tar.gz

3.、启动

cd elasticsearch-6.4.0/
./bin/elasticsearch  

或者 作为守护进程运行

./bin/elasticsearch -d -p pid

Elasticsearch 会在默认的9200端口运行

curl localhost:9200

可能遇到的问题:

1、使用非 root用户启动ES,而该用户的文件权限不足而被拒绝执行

Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
[2018-09-01T08:41:24,515][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.0.jar:6.4.0]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.0.jar:6.4.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.0.jar:6.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.0.jar:6.4.0]
        ... 6 more

解决方式:

sudo chown -R vagrant:vagrant /var/elasticsearch-6.4.0

重新启动

./bin/elasticsearch -d

查看是否启动

curl localhost:9200

如返回如下格式,即表示安装启动成功

{
  "name" : "iK2w1Zv",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "u8XYlB1ZQACw0b1W0MA0Pw",
  "version" : {
    "number" : "6.4.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "595516e",
    "build_date" : "2018-08-17T23:18:47.308994Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
  1. Text file busy Could not rename log file 'logs/gc.log' to 'logs/gc.log.03' (Text file busy) 解决方式:

找出占用该文件的进程:

sudo fuser 文件名

杀死占用该文件的进程

sudo kill -9 进程id

安装 elasticsearch-analysis-ik 分词

官方文档

我们安装的 Elasticsearch 版本为 6.4.0,该版本匹配的版本号也是6.4.0 如果复制文档地址可能会报如下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 6.3.0 but version 6.4.0 is running
        at org.elasticsearch.plugins.PluginsService.verifyCompatibility(PluginsService.java:339)
        at org.elasticsearch.plugins.InstallPluginCommand.loadPluginInfo(InstallPluginCommand.java:717)
        at org.elasticsearch.plugins.InstallPluginCommand.installPlugin(InstallPluginCommand.java:792)
        at org.elasticsearch.plugins.InstallPluginCommand.install(InstallPluginCommand.java:775)
        at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:231)
        at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:216)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
        at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:77)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
        at org.elasticsearch.cli.Command.main(Command.java:90)
        at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:47)

所以到 这里 复制6.4.0 的链接地址

安装

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip

重新启动 elasticsearch

./bin/elasticsearch -d

查看效果:

curl -H 'Content-Type: application/json'  -XGET 'localhost:9200/_analyze?
pretty' -d '{"analyzer":"ik_max_word","text":"贺德强"}'

正常的话 会返回如下内容:

{
  "tokens" : [
    {
      "token" : "贺",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "CN_CHAR",
      "position" : 0
    },
    {
      "token" : "德",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "CN_CHAR",
      "position" : 1
    },
    {
      "token" : "强",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "CN_CHAR",
      "position" : 2
    }
  ]
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Mac 安装 iTerm2 和 oh-my-zsh

    zsh-users/zsh-autosuggestions 即可实现命令行自动提示

    hedeqiang
  • PHP 使用高德接口获取地理编码和逆地理编码

    地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。

    hedeqiang
  • Ubuntu 16.04 配置 Let's Encrypt 实现站点 SSL

    安装完 Nginx 和 Certbot 之后,需要简单配置 Nginx 以便于 Let's Encrypt 能起作用:

    hedeqiang
  • Elasticsearch(一)——环境配置

    elasticsearch 的官方中文网址:https://www.elastic.co/cn/products/elasticsearch.点击downloa...

    羊羽shine
  • ELK总结——第一篇elaticsearch的搭建

    ES=elaticsearch简写, Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展...

    胡齐
  • ElasticSearch 6.x head插件安装

    ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。

    用户2398817
  • es的安装

    2、不能以root身份运行,因此需要新建一个用户专门运行elasticSearch

    爱撒谎的男孩
  • Java开发环境系列:全文搜索引擎elasticsearch的安装(windows、linux)

    Elastic Search要求使用较高版本JDK,本文使用D:\DevTools\jdk1.8.0_131,并配置环境变量

    架构师小跟班
  • Elasticsearch 教程(1)安装【CentOS版】

    我们首先要配置java环境,这个需要Java8或者更新的包。一般执行以下命令时可以看看Java版本是否符合:

    魔王卷子
  • 使用IDEA调试ES(Elasticsearch)源码教程

    本文以Elasticsearch v6.4.3 为例,介绍使用IDEA调试Elasticsearch源码的方法。

    morningchen

扫码关注云+社区

领取腾讯云代金券