美文网首页
ElasticSearch系列文章二 ElasticSearch

ElasticSearch系列文章二 ElasticSearch

作者: 哭泣哭泣帕拉达 | 来源:发表于2020-07-16 16:55 被阅读0次

    ElasticSearch 安装与运行

    安装

    elasticsearch的运行基于java,需要先安装jdk,推荐使用jdk8以上的版本。

    es下载地址:https://www.elastic.co/cn/downloads/elasticsearch

    下载比较慢,我用的是7.6.0版本的,可以使用下面的百度云链接进行下载,也包含了对应版本的kibana和ik中文分词器包。

    链接:https://pan.baidu.com/s/1SgPe3sIPSopYXjsVFy1QoA 
    提取码:8rxp
    

    将下载好的elasticsearch安装包上传服务器 /home/software下 解压

    tar -zxvf elasticsearch-7.6.0-linux-x86_64.tar.gz 
    

    移动解压后es文件夹

    mv elasticsearch-7.6.0 /usr/local/
    

    es目录

    • bin:可执行文件
    • config:配置文件目录
    • JDK:java环境
    • lib:依赖的jar,类库
    • logs:日志文件
    • modules:es相关的模块
    • plugins:可以自己开发的插件
    • data:这个目录没有,自己新建一下,后面要用 -> mkdir data,这个作为索引目录

    修改配置文件 elasticsearch.yml

    cd /usr/local/elasticsearch-7.6.0/config
    vim elasticsearch.yml
    
    #精简配置后(单机模式下)
    cluster.name: demeter-elasticsearch
    node.name: node-1
    path.data: /usr/local/elasticsearch-7.6.0/data
    path.logs: /usr/local/elasticsearch-7.6.0/logs
    network.host: 0.0.0.0
    http.port: 9200
    cluster.initial_master_nodes: ["node-1"]
    
    • 修改集群名称,默认是elasticsearch
    • 修改当前es节点名称,名称随意,如果在集群环境中,都要有相应的名字
    • 修改data数据保存地址(需要自己新建一下目录)
    • 修改日志数据保存地址
    • 绑定es网络ip
    • 默认端口号,可以自定义修改
    • 集群节点,名字改成之前的那个节点名称

    修改jvm参数

    elasticsearch比较耗内存,可以根据自己的机器内存情况调整内存大小

    vim /usr/local/elasticsearch-7.6.0/config/jvm.options
    
    # 根据情况自行修改
    -Xms1g
    -Xmx1g
    

    添加用户

    elasticsearch不需要使用root账户操作es,需要添加用户,并赋予操作es目录文件的权限

    useradd esuser
    chown -R esuser:esuser /usr/local/elasticsearch-7.6.0
    

    切换到esuser

    su esuser
    whoami
    

    启动es

    cd /usr/local/elasticsearch-7.6.0/bin
    ./elasticsearch
    

    如果出现如下错误:

    ERROR: [3] bootstrap checks failed
    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
    [2]: max number of threads [3834] for user [esuser] is too low, increase to at least [4096]
    [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    需要切换到root用户下修改配置

    vim /etc/security/limits.conf
    
    # 加入以下内容
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
    
    vim /etc/sysctl.conf
    
    # 加入以下内容
    vm.max_map_count=262145
    

    sysctl -p 刷新配置

    在切换到esuser用户,启动

    访问ip+port,我的是192.168.25.136:9200

    {
        "name": "node-1",
        "cluster_name": "demeter-elasticsearch",
        "cluster_uuid": "-EwONdcWTpaszwPvcsd1SQ",
        "version": {
            "number": "7.6.0",
            "build_flavor": "default",
            "build_type": "tar",
            "build_hash": "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
            "build_date": "2020-02-06T00:09:00.449973Z",
            "build_snapshot": false,
            "lucene_version": "8.4.0",
            "minimum_wire_compatibility_version": "6.8.0",
            "minimum_index_compatibility_version": "6.0.0-beta1"
        },
        "tagline": "You Know, for Search"
    }
    

    停止es

    如果是命令./elasticsearch 启动的,是前台启动,ctrl+c就可以停止

    后台启动

    ./elasticsearch -d
    

    通过jps查看 Elasticsearch的进程,在通过 kill -9 进程号停止es

    [esuser@localhost bin]$ jps
    1792 Elasticsearch
    1857 Jps
    [esuser@localhost bin]$ kill -9 1792
    

    端口

    • 9200:Http协议,用于外部通讯

    • 9300:Tcp协议,ES集群之间是通过9300通讯

    可视化

    Elasticsearch Head

    方式1:

    Elasticsearch Head 插件地址

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

    1. 需要先安装node.js
    2. git clone git://github.com/mobz/elasticsearch-head.git
    3. cd elasticsearch-head
    4. npm install
    5. npm run start
    6. open http://localhost:9100/

    连接测试发现,存在跨域问题:配置elasticsearch.yml 加上下面两行代码即可

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

    方式2:

    使用谷歌插件Elasticsearch Head,不会存在跨域的问题,但是需要科学上网安装。

    Kibana

    Kibana是ELK(ElasticSearch、Logstash、Kibana)的其中之一,ElasticSearch是基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elsaticsearch/kafka等)。Kibana可以将es的数据通过友好的页面显示出来,提供实时分析的功能。

    在这里插入图片描述
    安装

    将下载好的安装包上传到服务器的 /home/software下,解压

    tar -zxvf kibana-7.6.0-linux-x86_64.tar.gz
    

    将解压后的kibana目录移动到/usr/local/

    mv kibana-7.6.0-linux-x86_64 /usr/local/
    

    修改配置

    vim /usr/local/kibana-7.6.0-linux-x86_64/config/kibana.yml
    
    server.port: 5601  # 端口号
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://192.168.25.136:9200"]   #es地址
    kibana.index: ".kibana"
    

    启动

    ./kibana
    

    报错如下:

    Kibana should not be run as root. Use --allow-root to continue.

    需要root启动的话 使用下列命令

    ./kibana --allow-root
    

    访问网址http://192.168.25.136:5601 安装成功

    在这里插入图片描述

    相关文章

      网友评论

          本文标题:ElasticSearch系列文章二 ElasticSearch

          本文链接:https://www.haomeiwen.com/subject/mufmhktx.html