使用阿里云elasticsearch服务

1.购买阿里云的elasticsearch服务,使用时需要有一台阿里云的ECS实例,且ECS与ES处在同一个专有网络中

2.使用ssh登录到ecs下使用 curl命令进行操作或者在阿里云es控制页面使用kibana控制台操作(官方测试文档https://help.aliyun.com/document_detail/57877.html?spm=5176.doc57876.6.546.thKnQf)

3.使用java客户端连接访问,出现问题连接不上问题如下

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{GhODZqueQwmUR7xT6xqLdA}{es-cn-mp90fvscd0010lq1m.elasticsearch.aliyuncs.com}{172.17.125.65:9200}]]

但是同样的程序在云服务器下却可以连接。我认为 es处在专有网络中,无法使用外网访问,

4使用logstash同步mysql数据到elasticsearch中

 需要 jdk1.8、 logstash、和mysql驱动包后两个我使用的版本是logstash-5.5.0和mysql-connector-java-5.1.41-bin.jar

在logstash的bin目录下安装logstash-input和logstash-output

使用的命令是 ./logstash-plugin install logstash-input-jdbc和 ./logstash-plugin install logstash-output-elasticsearch

在数据库中建表CREATE TABLE USER(
  id INT PRIMARY KEY,
  NAME VARCHAR(20),
  age INT,
  updatetime TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

updatetime字段主要用于数据库的数据同步到elasticsearch

配置作业文件 logstash-mysql-es.conf 文件内容

input{
     jdbc {
          jdbc_driver_library => "mysql-connector-java-5.1.41-bin.jar"
          jdbc_driver_class => "com.mysql.jdbc.Driver"
         jdbc_connection_string => "jdbc:mysql://数据库地址/数据库名"
         jdbc_user => "用户名"
         jdbc_password => "密码"
         jdbc_paging_enabled => "true"
         jdbc_page_size => "1000"
         jdbc_default_timezone =>"Asia/Beijing"
         schedule => "* * * * *"
         statement => "select * from user where updatetime > :sql_last_value"
          use_column_value => true
          tracking_column => "updatetime"
         last_run_metadata_path => "./logstash_jdbc_last_run"
       }
}
output{
      elasticsearch {
          hosts => "es实例id.elasticsearch.aliyuncs.com:9200"
          user => "es用户名"
          password => "es密码"
          index => "my_user"
          document_id => "%{id}"
      }
      stdout {
         codec => json_lines
      }
  }

 将该文件和mysql驱动都放在logstash的bin目录下

执行命令 ./logstash -f logstash-mysql-es.conf

当在数据库中插入一条数据时,在刚才的的执行结果下有

{"@timestamp":"2018-01-23T00:47:00.500Z","name":"张三","@version":"1","id":13,"updatetime":"2018-01-                     23T08:45:56.000Z","age":31}



 



你可能感兴趣的:(使用阿里云elasticsearch服务)