centos7安装Elasticsearch及相关插件详细教程

导读:本篇文章讲解 centos7安装Elasticsearch及相关插件详细教程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

1. Windows安装

1.1 环境准备

  • JDK1.8起步
  • node相关环境

1.2 ES安装

1.2.1 软件下载

直接前往官网下载,如果下载相关插件,务必版本一致!

image-20211204105256674

1.2.2 安装

直接解压即可。

image-20211204105337677

1.2.3 启动

进入bin目录双击elasticsearch.bat即可。

image-20211204105410527

1.2.4 测试

浏览器输入http://localhost:9200/.

image-20211204105509479

1.2.5 相关配置

  • 跨域问题

    修改elasticsearch.yml,添加以下内容

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

1.3 可视化界面head安装

将其视为数据库可视化工具即可。

image-20211204105857712

  • 下载

    https://github.com/ouyangzhengit/elasticsearch-head

  • 解压进入之后直接npm install

  • 通过 npm run start 启动(需要开启跨域,否则会链接失败。)

image-20211204110547925

Centos安装

1. 环境准备

  • 防火墙开放对应端口

  • 自备JDK1.8

  • node及npm环境

  • 修改虚拟机配置,vi /etc/security/limits.conf ,追加内容:

    * soft nofile 131072
    * hard nofile 131072
    * soft nproc 131072 
    * hard nproc 131072
    

    修改vi /etc/sysctl.conf,追加内容 :

    vm.max_map_count=655360
    

    设置限制数量,第一列表示用户,* 表示所有用户

    soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。

    hard xxx : 代表严格的设定,不允许超过这个设定的值。

    nproc : 是操作系统级别对每个用户创建的进程数的限制

    nofifile : 是每个进程可以打开的文件数的限制

    soft nproc :单个用户可用的最大进程数量(超过会警告);

    hard nproc:单个用户可用的最大进程数量(超过会报错);

    soft nofifile :可打开的文件描述符的最大数(超过会警告);

    hard nofifile :可打开的文件描述符的最大数(超过会报错);

    举例:soft 设为1024,hard设为2048 ,则当你使用数在1~1024之间时可以随便使用,

    1024~2048时会出现警告信息,大于2048时,就会报错。

    注:

    ①一般soft的值会比hard小,也可相等。

    ② /etc/security/limits.d/ 里面配置会覆盖 /etc/security/limits.conf 的配置

    ③只有root用户才有权限修改/etc/security/limits.conf

    ④如果limits.conf没有做设定,则默认值是1024

  • 虚拟内存设置

    修改vi /etc/sysctl.conf,追加内容 :

    vm.swappiness=1
    vm.max_map_count=655360
    
  • 立即生效

    sysctl -p
    

2. 安装ES

  • 创建目录

    首先,在你的运行环境下创建一个安装目录

    mkdir es ,创建一个名为es的包。

  • 下载

    https://www.elastic.co/cn/elasticsearch/

    到官网下载并上传到指定目录

    https://github.com/elastic/elasticsearch/releases

    或者前往github下载

  • 解压

     tar -zxvf elasticsearch-6.8.4.tar.gz 
    

    如果解压报错,请注意,可能是文件类型不对,可以fifile elasticsearch-6.8.4.tar.gz 查看一下文件类型

    再或者不是gzip格式,可以不加z .直接tar -zxvf elasticsearch-6.8.4.tar.gz

    安装包目录:

    bin:存放es的一些可执行脚本,比如用于启动进程的elasticsearch命令,以及用于安装插件的

    elasticsearch-plugin插件

    conf:用于存放es的配置文件,比如elasticsearch.yml,这里面存放了很多我们相关的生产上会

    使用到的配置,比如预防我们集群脑裂,过度移动导致网络带宽被消耗等问题。 还存放了我们

    log4j的一些配置。

    data:用于存放es的数据文件,就是每个索引的shard的数据文件

    logs:用于存放es的日志文件

    plugins:用于存放es的插件

    script:用于存放一些脚本文件

    在这里我们可以测试启动一下ES,看我们的ES会出什么样的错误

  • 不能以root用户启动服务

    # 创建用户组和用户
    
    groupadd esgroup
    
    useradd esuser -g esgroup -p 123456
    
    chown -R esuser:esgroup es/es目录
    
    
  • 修改相关配置文件

    elasticsearch的confifig文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是

    es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里

    的设置按普通log4j配置文件来设置就行了。

    conf文件夹下:elasticsearch.yml

    #配置服务器远程连接
    
    network.host:服务器IP或者0.0.0.0
    
    http.port:9200
    
    #是否支持跨域
    
    http.cors.enabled: true
    
    #支持所有域名
    
    http.cors.allow-origin: "*"
    

    配置详解

    cluster.name:

    配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。

    node.name:

    节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义

    的名称,方便管理

    一个或多个节点组成一个cluster集群,集群是一个逻辑的概念,节点是物理概念,后边章节会

    详细介绍。

    path.conf:

    设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认

    在/etc/ elasticsearch

    path.data:

    设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔

    开。

    path.logs:

    设置日志文件的存储路径,默认是es根目录下的logs文件夹

    path.plugins:

    设置插件的存放路径,默认是es根目录下的plugins文件夹

    bootstrap.memory_lock: true

    设置为true可以锁住ES使用的内存,避免内存与swap分区交换数据。

    network.host:

    设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问,生产环境建议设置为

    具体的ip。

    http.port: 9200

    设置对外服务的http端口,默认为9200。

    transport.tcp.port: 9300 集群结点之间通信端口

    node.master:

    指定该节点是否有资格被选举成为master结点,默认是true,如果原来的master宕机会重新选

    举新的master。

    node.data:

    指定该节点是否存储索引数据,默认为true。

    #es7.x 之后新增的配置,节点发现

    discovery.seed_hosts: [“localhost:9700”,“localhost:9800”,“localhost:9900”]

    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master

    cluster.initial_master_nodes: [“node1”, “node2”,“node3”]

    node.max_local_storage_nodes:

    单机允许的最大存储结点数,通常单机启动一个结点建议设置为1,开发环境如果单机启动多个节

    点可设置大于1。

  • 配置ES内存

    vi /config/jvm.options
    
    在配置文件中设置 -Xms8g -Xmx8g 根据生产情况设定。建议-Xms与-Xmx配置成一样
    默认都是1G,我们可以根据自己实际情况来设置
    
  • 切换用户并启动 elasticsearch

    su esuser
    ./bin/elasticsearch -d
    
  • 切换JDK(7.0以上版本)

    7.0以上版本可能启动会提示你不能使用1.8版本的JDK,所以需要指定JDK路径。ES已经为我们提供了JDK。可以再es解压目录中找到。

    然后我们需要再启动脚本中指定JDK目录。

     vim bin/elasticsearch
    

    添加如下命令

    # 配置自带的JDK
    export JAVA_HOME=/es目录中自带jdk的路径/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    
    #添加JDK判断
    if [ -x "$JAVA_HOME/bin/java"]; then
    	JAVA="/es路径/jdk/bin/java"
    else
    	JAVA='which java'
    fi
    
  • 启动成功

    image-20211203133138668

3. 安装ES-Head插件

ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。

3.1 环境检查

Es-head插件运行需要node环境,确保安装有node,如果未安装,自行安装

node -v npm -v

3.2 安装运行

  • 下载elasticsearc-head插件

    去下面地址下载插件项目的zip包

    地址:https://github.com/mobz/elasticsearch-head.git

    将下载的项目zip包上传到服务器

  • 安装zip支持

    yum install -y unzip zip
    
  • 解压

    unzip elasticsearch-head-master.zip
    
  • 进入目录

     cd elasticsearch-head-master
    
  • 修改Gruntfile.js

    vim Gruntfile.js
    

    在此处添加hostname: '0.0.0.0',

    image-20211203134424165

  • 进入_site目录,编辑app.js文件

    搜索9200跳转至如下位置,修改localhost为主机ip地址;

    通过/搜索;

    image-20211203134555343

  • 在安装目录下执行npm install

  • 启动

    npm run start
    
    后台运行:
    nohup npm run start > head.log 2>&1 &
    

3.3 可能遇到的问题

  • 跨域问题
    在文件:elasticsearch.yml末尾添加:

    如果es没有设置密码,将第三行注释掉

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
  • 安装时权限不足问题

    用sudo执行sudo npm install
    需要在/usr/bin目录中添加npm的连接
    先进入/usr/bin目录
    之后执行
    sudo ln -s /root/node-v13.9.0-linux-x64/bin /usr/bin/npm
    注意文件路径

  • 安装时提示phantomjs-prebuilt@2.1.16 install: node install.js

    npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
    

4. 安装分词器

分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.4

4.1 为ik分词器的安装准备环境

# create plugin folder
cd your-es-root/plugins/ && mkdir ik

4.2 下载ik分词器 注意!要下载和ElasticSearch版本一致的

如果不能下载则去官网自行下载然后上传至服务器

https://github.com/medcl/elasticsearch-analysis-ik/releases

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.8.4.zip

4.3 解压ik分词器安装包

如果没有安装unzip解压,使用yum install unzip命令安装
unzip elasticsearch-analysis-ik-6.8.4.zip

4.4 重新启动ElasticSearch

 ps aux|grep elastic
 kill -9 PID

4.5 查看是否安装成功

curl http://localhost:9200/_cat/plugins
node1 analysis-ik 6.6.0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16788.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!