zoukankan      html  css  js  c++  java
  • 阿里云服务器Linux系统安装配置ElasticSearch搜索引擎

    近几篇ElasticSearch系列:

    1、阿里云服务器Linux系统安装配置ElasticSearch搜索引擎

    2、Linux系统中ElasticSearch搜索引擎安装配置Head插件

    3、ElasticSearch搜索引擎安装配置中文分词器IK插件

    4、ElasticSearch搜索引擎安装配置拼音插件pinyin

    5、ElasticSearch搜索引擎在JavaWeb项目中的应用

    ElasticSearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

    不过ElasticSearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

      a:分布式的实时文件存储,每个字段都被索引并可被搜索

      b:分布式的实时分析搜索引擎

      c:可以扩展到上百台服务器,处理PB级结构化或非结构化数据

    一、下载与解压

      1、ElasticSearch是需要Java支持,所以安装配置前需要Java环境。这里我安装的JDK是1.8版本,ElasticSearch是6.3.2版本。选择TAR格式(如下图所示),下载完成之后还是通过之前两篇提到的MobaXterm软件上传至home目录下,再解压至/usr/java/elasticsearch/目录(如下图所示)。下载地址

           

    命令如下图所示:

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# tar -xzf /home/elasticsearch-6.3.2.tar.gz -C /usr/java/elasticsearch/

      2、官方文档上说ElasticSearch不适合在root管理员帐号下运行,所以要先建立一个账号专门运行ElasticSearch。以下是创建esUser组和其下用户esUser。

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# groupadd esUser
    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# useradd -g esUser esUser
    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# passwd esUser

      3、修改limits.conf与sysctl.conf文件的系统参数,如下图所示。

         

      a、编辑 limits.conf 文件并添加内容:

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /etc/security/limits.conf
    1 root soft nofile 65535
    2 root hard nofile 65535
    3 
    4 #esUser
    5 esUser  soft nofile 65536
    6 esUser  hard nofile 65536
    7 
    8 * soft nofile 65535
    9 * hard nofile 65535

      b、编辑 sysctl.conf 文件并添加内容,因为max virtual memory areas vm.max_map_count increase to at least [262144]

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /etc/sysctl.conf
    1 vm.max_map_count=262144

      c、最后执行如下命令:

    1 sysctl -p

    二、安装与配置

      a、解压完成后,进入config目录,编辑elasticsearch.yml文件。该文件配置需要注意!!!将下述代码中标红“你的IP地址”更改为 自己的IP地址,添加配置时需注意配置文件":"后要有空格。如下所示。

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /usr/java/elasticsearch/elasticsearch-6.3.2/config/elasticsearch.yml
     1 #这是集群名字,起名为elasticsearch
     2 #es启动后会将具有相同集群名字的节点放到一个集群下。
     3 cluster.name:  elasticsearch
     4 #
     5 #节点名字。
     6 node.name: "node1"
     7 #
     8 # 数据存储位置,配置之后该目录会自动生成
     9 path.data: /usr/java/elasticsearch/elasticsearch-6.3.2/data
    10 #
    11 # 日志文件的路径,配置之后该目录会自动生成
    12 path.logs: /usr/java/elasticsearch/elasticsearch-6.3.2/logs
    13 #
    14 #
    15 #设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0
    16 #network.bind_host: xxxxxx
    17 #
    18 #设置其它节点和该节点交互的ip地址,如果不设置它会自动设置,值必须是个真实的ip地址
    19 #network.publish_host: xxxxxx
    20 #
    21 #同时设置bind_host和publish_host上面两个参数,该地址为默认地址
    22 network.host: 0.0.0.0
    23 #
    24 #
    25 # 设置节点间交互的tcp端口,默认是9300
    26 #transport.tcp.port: 9300
    27 #
    28 # 设置是否压缩tcp传输时的数据,默认为false,不压缩
    29 transport.tcp.compress: true
    30 #
    31 # 设置对外服务的http端口,默认为9200
    32 #http.port: 9200
    33 #
    34 # 使用http协议对外提供服务,默认为true,开启
    35 #http.enabled: false
    36 #
    37 #discovery.zen.ping.unicast.hosts:["节点1的 ip","节点2 的ip","节点3的ip"]
    38 #这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测
    39 discovery.zen.ping.unicast.hosts: ["你的IP地址"]
    40 #
    41 #指定集群中的节点中有几个有master资格的节点。
    42 #对于大集群可以写(2-4)。
    43 discovery.zen.minimum_master_nodes: 1
    44 #解决head的集群健康值问题,后续会安装head插件
    45 http.cors.enabled: true
    46 http.cors.allow-origin: "*"
    47 http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

      b、若服务器运行内存不大,也可能还有一个错误是关于Jvm内存分配的问题,需要修改Jvm配置。如下所示。

    1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /usr/java/elasticsearch/elasticsearch-6.3.2/config/jvm.options

    三、启动与测试

    上述安装配置均是在root用户下进行的,下面将切换至esUser用户,来启动ElasticSearch,即运行bin目录下的elasticsearch文件,若看到[node1] started表示启动成功。

    这时若是Ctrl+C退出后,则ElasticSearch将终止正在运行的程序。下面是在后台启动ElasticSearch,进程会一直在运行,除非特殊情况,如内存不够会自动结束运行。

    下面是查看ElasticSearch进程情况,可以执行命令: kill -9 进程ID 来结束程序。

    下面是测试是否有如下提示:

    1 [esUser@izwz9eu3mkqq1njlkrfhc8z root]$ curl http://localhost:9200/?pretty

    或在浏览器中查看,输入:服务器IP地址:9200

    本文部分学习参考了:https://www.cnblogs.com/cheyunhua/p/8087658.html#undefined

    至此是关于介绍在Linux系统中安装配置ElasticSearch搜索引擎,后续会介绍ElasticSearch-Head、ElasticSearch中文分词器IK插件、ElasticSearch拼音插件pinyin。

    如有疏漏错误之处,还请不吝赐教!

  • 相关阅读:
    7-6-有向图强连通分量的Kosaraju算法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    7-5-无向图生成树-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    7-4-无向图的邻接多重表存储结构-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    7-3-有向图的十字链表存储结构-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    7-2-图的邻接表存储-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    7-1-图、表的数组(邻接矩阵)表示法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
    树和二叉树-第6章-《数据结构题集》习题解析-严蔚敏吴伟民版
    6-11-N皇后问题-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版
    6-10-幂集-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版
    6-9-哈夫曼树(HuffmanTree)-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版
  • 原文地址:https://www.cnblogs.com/yijialong/p/9707238.html
Copyright © 2011-2022 走看看