zoukankan      html  css  js  c++  java
  • Elasticsearch使用

    配置服务器静态IP

    #这里我的网卡是ens 33
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    #加入一下配置
    IPADDR=192.168.25.10 #根据设置的子网IP配置 GATEWAY=192.168.25.2 #根据设置的网关配置 NETMASK=255.255.255.0 #根据配置的子网掩码设置 DNS1=8.8.8.8 #DNS服务器 #修改下面两个配置 ONBOOT=yes BOOTPROTO=static
    #重启服务
    service network restart
    关闭防火墙
    # 关闭防火墙
    systemctl stop firewalld.service
    # 禁止防火墙开机启动
    systemctl disable firewalld.service

    安装JDK

    #下载JDK
    wget --no-check-certificate https://soft.ryana.cn/%E5%BC%80%E5%8F%91%E7%9B%B8%E5%85%B3/JDK/Jdk_1.8/jdk-8u144-linux-x64.rpm
    #安装JDK
    rpm -ivh jdk-8u144-linux-x64.rpm
    #配置环境变量
    # 编辑 /etc/profile 文件
    vi /etc/profile
    # 在文本中新增以下内容
    export JAVA_HOME=/usr/java/jdk1.8.0_144
    export JRE_HOME=/usr/java/jdk1.8.0_144/jre
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    使环境变量生效
    source /etc/profile

    安装 ElasticSearch

    #新建文件夹
    mkdir /elasticsearch
    cd /elasticsearch
    #下载 elasticsearch 6.5.4 版本
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
    #解压
    tar -xvf elasticsearch-6.5.4.tar.gz
    #es不支持root用户启动
    # 创建 组
    groupadd elsearch
    # 创建 用户
    useradd elsearch -g elsearch
    chown -R elsearch:elsearch elasticsearch-6.5.4
    #配置配置文件 注意这里遵从yml语法
    vim elasticsearch-6.5.4/config/elasticsearch.yml
    #修改 允许所有IP链接
    network.host: 0.0.0.0
    #因为对内存有要求所以
    vim /etc/sysctl.conf
    # 添加下面配置
    vm.max_map_count=655360
    # 编辑完,使命令生效
    sysctl -p
    # 编辑文件
    vi /etc/security/limits.conf
    # 修改并加入下面配置
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
    #切换用户
    su elsearch
    #启动  -d参数为守护进程启动
    ./elasticsearch-6.5.4/bin/elasticsearch 

    访问 ip:9200

    安装IK分词器

     因为不支持中文分词所以需要安装ik分词器

    Github链接

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

    进入plugins目录

    #下载ik分词器
    wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip 
    #解压ik分词器
    unzip -d ik-analysis elasticsearch-analysis-ik-6.5.4.zip
    #可能没有unzip命令
    yum install -y unzip
    #删除压缩包
    rm -rf elasticsearch-analysis-ik-6.5.4.zip

    测试

    安装kibana

    #下载
    wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz
    #解压
    tar -xzvf kibana-6.5.4-linux-x86_64.tar.gz
    #修改配置文件
    vim kibana-6.5.4-linux-x86_64/config/kibana.yml 
    #!!!这里遵循yml规范
    #配置端口
    server.port: 5601
    #elasticsearch地址
    elasticsearch.url: "http://192.168.25.10:9200"
    #默认索引?
    kibana.index: ".kibana"
    #允许哪些ip链接 这里是所有ip 生产环境请修改
    server.host: "0.0.0.0"

    启动端口为5601

    ./kibana-6.5.4-linux-x86_64/bin/kibana

    安装logstash

    #下载
    wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.4.tar.gz
    #解压
    tar -xzvf logstash-6.5.4.tar.gz

    安装jdbc插件

    #进入logstacsh目录
    cd logstash-6.5.4
    #安装插件
    bin/logstash-plugin install logstash-input-jdbc

    下载jdbc jar包

    #下载
    wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
    #解压
    tar -xzvf  mysql-connector-java-5.1.47.tar.gz

    进入 logstacsh下的config目录 新建jdbc.conf

    vim jdbc.conf
    
    input {
      jdbc {
        jdbc_driver_library => "jdbc jar包路径"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://<mysql_host>:3306/rta"
        jdbc_user => "<username>"
        jdbc_password => "<password>"
        schedule => "* * * * *"
        statement => "SELECT * FROM table"
        use_column_value => true
        tracking_column_type => "timestamp"
        tracking_column => "update_time"
      }
    }

    output {
      elasticsearch {
        hosts => ["host1:9200", "host2:9200"]
        user => "<user>"
        password => "<password>"
        index => "索引名"
        document_id => "%{id}"

        document_type =>"类型名"
      }
    }

    ----------------------------------------------------------------------------------------
    jdbc_driver_library: jdbc mysql 驱动的路径,在上一步中已经下载
    jdbc_driver_class: 驱动类的名字,mysql 填 com.mysql.jdbc.Driver 就好了
    jdbc_connection_string: mysql 地址
    jdbc_user: mysql 用户
    jdbc_password: mysql 密码
    schedule: 执行 sql 时机,类似 crontab 的调度
    statement: 要执行的 sql
    use_column_value: 使用递增列的值
    tracking_column_type: 递增字段的类型,numeric 表示数值类型, timestamp 表示时间戳类型
    tracking_column: 递增字段的名称,这里使用 update_time 这一列,这列的类型是 timestamp

      hosts: es 集群地址
      user: es 用户名
      password: es 密码
      index: 导入到 es 中的 index 名,这里我直接设置成了 mysql 表的名字
      document_id: 导入到 es 中的文档 id,这个需要设置成主键,否则同一条记录更新后在 es 中会出现两条记录,%{id} 表示引用 mysql 表中 id 字段的值

     

     执行

    ./bin/logstash -f ./config/jdbc.conf 

     Docker安装es

    安装docker

    yum install docker
    #或者 参考
    https://docs.docker.com/install/linux/docker-ce/centos/#install-using-the-repository

    由于默认使用国外仓库所以

    mkdir /etc/docker
    vim /etc/docker/daemon.json

    添加

    {
        "registry-mirrors": ["https://registry.docker-cn.com"],
        "live-restore": true
    }
    systemctl docker start  #启动docker
    systemctl start docker  #开机启动
    #因为对内存有要求所以
    vim /etc/sysctl.conf
    # 添加下面配置
    vm.max_map_count=655360
    # 编辑完,使命令生效
    sysctl -p
    # 编辑文件
    vi /etc/security/limits.conf
    # 修改并加入下面配置
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096

    以开发模式启动

    docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.5.4

    生产环境请参考

    https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docker.html#docker-prod-cluster-composefile

  • 相关阅读:
    第二十九课 循环链表的实现
    第二十八课 再论智能指针(下)
    第二十七课 再论智能指针(上)
    第二十六课 典型问题分析(Bugfix)
    普通new和placement new的重载
    leetcode 581. Shortest Unsorted Continuous Subarray
    leetcode 605. Can Place Flowers
    leetcode 219. Contains Duplicate II
    leetcode 283. Move Zeroes
    leetcode 217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/ingxx/p/10271185.html
Copyright © 2011-2022 走看看