安装jdk8以上
参考:http://www.linuxidc.com/Linux/2014-09/106218.htm
安装eleasticsearch
地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.tar.gz
配置eleasticsearch
修改文件:elasticsearch-5.4.0/config/elasticsearch.yml
network.host: 0.0.0.0
在执行命令 sysctl -p
使用head视图插件配置
http.cors.enabled: true
http.cors.allow-origin: "*"
安装插件
视图管理
http://mobz.github.io/elasticsearch-head
sql查询
https://github.com/NLPchina/elasticsearch-sql
报错解决
http://blog.csdn.net/qq942477618/article/details/53414983
每次重启机器都要配置,不知道为什么,可以写成脚本
#sudo vim /etc/profile
追加到文件后面
sudo sh -c "ulimit -n 65536 && exec su $LOGNAME"
sudo sysctl -p
使用
查询
封装的elasticseach-php类
$res = Elasticsearch::query("select * from blog/ariticle where title ='New version of Elasticsearch released!'");
http://192.168.33.13:9200/_sql/?sql=select * from blog/
与mysql 同步
使用logstash-input-jdbc
下载logstash,下载logstash后才能安装logstash-input-jdbc
下载mysql-connector-java-6.0.6-bin.jar(版本没关系吧)
http://download.csdn.net/download/baidu_38353818/98604493
进入到logstash的bin下
./logstash-plugin install logstash-input-jdbc
等待一段时间就安装成功
配置logstash-input-jdbc与mysql同步
编辑文件config-mysql/mysql.conf ,修改成你自己环境的配置
input {
stdin {
}
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
jdbc_user => "root"
jdbc_password => "root"
jdbc_driver_library => "/usr/lib/mysql-connector-java-6.0.6-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#statement_filepath => "config-mysql/test02.sql"
statement => "select * from user"
schedule => "* * * * *"
#索引的类型
type => "user"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
# index名
index => "test"
# 需要关联的数据库中有有一个id字段,对应索引的id号
document_id => "%{id}"
}
stdout {
codec => json_lines
}
执行同步
./logstash -f config-mysql/mysql.conf
会输出对接的字段,就成功了。