博客搜索引擎优化教程(再玩一下elasticsearch的新版本安装的方式是什么?)

优采云 发布时间: 2021-12-10 00:15

  博客搜索引擎优化教程(再玩一下elasticsearch的新版本安装的方式是什么?)

  ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个基于 RESTful Web 界面的具有分布式多用户功能的全文搜索引擎。Elasticsearch 是用 Java 开发的,并根据 Apache 许可条款作为开源发布。它是第二大最受欢迎的企业搜索引擎。专为在云计算中使用而设计,可实现实时搜索,稳定可靠,速度快,安装使用方便。

  弹性搜索目录

  之前刚开始用elasticsearch,记得是0.9版本,现在是2.0+。

  让我们使用新版本的 elasticsearch。2.2.0 下载地址:点击下载。

  下载后,在elasticsearch的根目录下启动。

  elasticsearch-2.2.0]# ./bin/elasticsearch

  提示错误:

  Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.

at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)

at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)

at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)

Refer to the log for complete error details.

  由于版本问题,最新版本的安全级别有所提升,不允许root账号启动,所以我们要添加一个用户。

  #添加一个用户:elasticsearch

$useradd elasticsearch

#给用户elasticsearch设置密码,连续输入2次

$passwd elasticsearch

#创建一个用户组 es

groupadd es

#分配 elasticsearch 到 es 组

usermod -G elasticsearch es

#这里注意下,如果提示用户“es”不存在,那么是因为服务器版本问题,你可以换成 usermod -G es elasticsearch ,也就是用户和用户组对调一下使用。

#这里感谢【武汉|Java|竹木鸟】发现这个问题,并告知我。

#在elasticsearch 根目录下,给定用户权限。-R表示逐级(N层目录) , * 表示 任何文件

chown -R elasticsearch.es *

#切换到elasticsearch用户

su elasticsearch

  如果没有按照上面的方法给用户elasticsearch目录分配权限。然后会报如下错误。

  java.io.FileNotFoundException: /home/es/elasticsearch-2.2.0/logs/elasticsearch.log (Permission denied)

at java.io.FileOutputStream.open(Native Method)

at java.io.FileOutputStream.(FileOutputStream.java:221)

at java.io.FileOutputStream.(FileOutputStream.java:142)

at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)

at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)

at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:223)

at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)

at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)

at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)

at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)

at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)

at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648)

at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514)

at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:440)

at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:128)

at org.elasticsearch.bootstrap.Bootstrap.setupLogging(Bootstrap.java:204)

at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:258)

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)

log4j:ERROR Either File or DatePattern options are not set for appender [file].

log4j:ERROR setFile(null,true) call failed.

  修改配置文件:

  $ vi config/elasticsearch.yml

#cluster name

cluster.name: sojson-application

#节点名称

node.name: node-1

#绑定IP和端口

network.host: 123.88.88.88

http.port: 9200

  安装头部插件。

  进入

$ cd elasticsearch/bin

  目录,输入命令

  $ ./plugin –install mobz/elasticsearch-head

  安装头部插件。

  上面是错误的,新版本的安装方式是这样的。

  你有没有注意到--install不是必须的,直接安装就可以了。

  head插件的安装和具体介绍请查看后面写的博客:Elasticsearch的安装(四),elasticsearch head插件的安装和使用。

  启动弹性搜索

  $ ./bin/elasticsearch

  再次访问 {es-host}:9200/_plugin/head/

  下图是对的。

  

  完成工作后,下一篇博客将讨论tokenizers的安装,tokenizers的比较,以及使用等。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线