java软件安装之Elasticsearch

Posted 枕微凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java软件安装之Elasticsearch相关的知识,希望对你有一定的参考价值。

文章目录

前言

Elasticsearch作为主流的搜索引擎,在分布式系统中被广泛的使用,本篇主要就是介绍它的安装

简介

官网地址:https://www.elastic.co/cn/elasticsearch/

Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。Elasticsearch 可以理解成一种数据库,类似mysql,也可以对数据进行增删改查,它优势是搜索速度快,如果表中有上亿级别的数据,使用ES检索数据要远远快于传统的关系型数据库。

Elasticsearch安装

因为Elasticsearch 不允许使用root用户,所以我们需要新建一个用户,新建的用户主要是用来启动ES服务。

  • 新建用户

    useradd es
    
  • 配置密码

    passwd 12345678
    

    本人的安装都是在 /usr/local目录下

  • 上传和解压(版本elasticsearch-7.6.1-linux-x86_64.tar.gz)下载地址:https://registry.npmmirror.com/binary.html

    tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
    
  • 重命名目录

    mv elasticsearch-7.6.1/ elasticsearch
    
  • 进入目录

    cd elasticsearch
    
  • 新建目录(数据目录及日志目录)

    mkdir data
    mkdir logs
    
  • 修改配置(进入config目录,编辑elasticsearch.yml文件)

    cd config
    vim elasticsearch.yml
    
    添加内容
    path.data: /usr/local/elasticsearch/data # 数据目录位置
    path.logs: /usr/local/elasticsearch/logs # 日志目录位置
    修改绑定的ip
    network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
    
  • 切换用户

切换用户前先给es用户授予root权限及目录操作权限

vim /etc/sudoers                        #进入编辑
es ALL=(ALL)  ALL                       #授予root权限
chown -R es /usr/local/elasticsearch    #为elasticsearch 目录授权
su es									#切换用户
  • 运行(在/usr/local/elasticsearch目录下)

    ./bin/elasticsearch
    

    可能出现以下错误:

错误1:权限不足【max file descriptors…】

切换为root用户,修改配置文件:

vim /etc/security/limits.conf

添加以下内容

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

错误2:线程数不足【max number of threads … 】

修改配置文件:

vim /etc/security/limits.d/20-nproc.conf

修改以下内容

* soft nproc 1024
改为:
* soft nproc 4096

错误3:进程虚拟内存不足【max virtual memory…】

修改配置文件:

vim /etc/sysctl.conf

添加以下内容

vm.max_map_count=655360

执行命令

sysctl -p

错误4:参数需要设置默认值【the default discovery settings 】

修改配置文件:

vim /usr/local/elasticsearch/config/elasticsearch.yml

设置默认参数

cluster.name: wooola-es
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
  • 回到es用户,再次启动ES

出现这两个端口信息则表示成功

9300:集群节点间通讯接口
9200:客户端访问接口

若出现java.nio.file.AccessDeniedException: /usr/local/elasticsearch/config/jvm.options 错误,则表示es账户权限不足,需要为目录授权。

  • 测试

    在浏览器中访问 虚拟机ip地址:9200 可以看到对应的版本号信息

安装Kibana

Kibana是ES的客户端工具(不能使用root账户启动噢!)

  • 安装node.js 下载地址:https://registry.npmmirror.com/binary.html

    tar -vxf node-v12.18.2-linux-x64.tar.xz
    mv node-v12.18.2-linux-x64 nodejs
    ln -s /usr/local/nodejs/bin/node /usr/local/bin
    ln -s /usr/local/nodejs/bin/npm /usr/local/bin
    node -v
    
  • 解压kibana

    tar -vxfkibana-7.6.1-linux-x86_64.tar.gz
    mv kibana-7.6.1-linux-x86_64 kibana
    
  • 修改配置文件并添加内容

    vim /usr/local/kibana/config/kibana.yml 
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://机器IP:9200"]
    
    

    ps:若安装的Kibana的版本低一点,则将elasticsearch.hosts 改为elasticsearch.url: “http://机器IP:9200”

  • 启动(切换es用户,在kibana目录下启动,若出现权限不足情况,则再次给es用户授权)

    ./bin/kibana
    

    kibana启动若报错后会自动杀死elasticsearch的进程,但是kibana需要在elasticsearch启动后再启动,所以需要重新启动elasticsearch

    此时可能出现以下错误:

错误1:虚拟机分配内存太大【Cannot allocate memory…】

1)进入elasticsearch的jvm.options文件中

vim /usr/local/elasticsearch/config/jvm.options

2)修改分配的内存大小

-Xms256m
-Xmx256m
  • 重新启动,出现listening则表示安装成功

访问5601端口

安装分词器

分词器能把一个字符串拆分成多个单词,搜索时再按每个单词分别索引,这样能大大提高搜索效率。

安装步骤

  • 下载分词器文件,其版本需要与ES版本对应==>elasticsearch-analysis-ik-7.6.1.zip
  • 在elasticsearch的plugins目录下新增一个目录ik用来放分词器文件,解压elasticsearch-analysis-ik-7.6.1.zip
unzip elasticsearch-analysis-ik-7.6.1.zip

解压完成后记得删除ik目录下的安装包文件,重新启动elasticsearch与kibana

1)此时elasticsearch可能再次报错无权限,只需要重新授权一下即可

2)若kibana出现 The Reporting plugin encountered issues launching Chromium in a self-test. You may have trouble generating reports.

安装以下软件包,然后重新启动 kibana即可

yum install ipa-gothic-fonts
yum install xorg-x11-fonts-100dpi
yum install xorg-x11-fonts-75dpi
yum install xorg-x11-utils
yum install xorg-x11-fonts-cyrillic
yum install xorg-x11-fonts-Type1
yum install xorg-x11-fonts-misc
yum install fontconfig
yum install freetype

  • 使用kibana测试分词器

到此全部安装结束!!!!

以上是关于java软件安装之Elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章

如何开发自己的搜索帝国之ES图形化Kibana安装与使用

ElasticSearch之常用插件安装命令

ElasticSearch之Windows下安装

大数据之ES系列——第一篇 ElasticSearch2.2 集群安装部署

大数据之ES系列——第一篇 ElasticSearch2.2 集群安装部署

ElasticSearch之Kibana安装及使用