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

  • 相关阅读:
    Linux netstat 命令入门知识
    Linux文件预读对系统的影响
    Ubuntu下配置Hadoop环境
    Debian Wheezy 安装Nginx+HHVM
    Linux Glibc库严重安全漏洞检测与修复方案
    关于系统时间的几个问题
    C语言的整型溢出问题
    Django Nginx配置
    linux上安装mysql5.7
    日期、时间选择器
  • 原文地址:https://www.cnblogs.com/ingxx/p/10271185.html
Copyright © 2011-2022 走看看