校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PostgreSQL 數據同步到ES 搭建操作

PostgreSQL 數據同步到ES 搭建操作

熱門標簽:海豐有多少商家沒有地圖標注 合肥公司外呼系統運營商 外呼調研系統 打電話智能電銷機器人授權 漯河外呼電話系統 美容工作室地圖標注 地圖標注和圖片名稱的區別 辦公外呼電話系統 重慶自動外呼系統定制

安裝python 和dev 開發包

[root@rtm2 Packages]# rpm -ivh python-devel-2.7.5-58.el7.x86_64.rpm
準備中...       ################################# [100%]
正在升級/安裝...
 1:python-devel-2.7.5-58.el7  ################################# [100%]
[root@rtm2 Packages]# ls

安裝 multicorn

[root@rtm2 multicorn-1.3.5]# make
Python version is 2.7
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -I/usr/include/python2.7 -I/usr/include/python2.7 -I. -I./ -I/opt/pgsql-10/include/server -I/opt/pgsql-10/include/internal -D_GNU_SOURCE -c -o src/errors.o src/errors.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -I/usr/include/python2.7 -I/usr/include/python2.7 -I. -I./ -I/opt/pgsql-10/include/server -I/opt/pgsql-10/include/internal -D_GNU_SOURCE -c -o src/python.o src/python.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -I/usr/include/python2.7 -I/usr/include/python2.7 -I. -I./ -I/opt/pgsql-10/include/server -I/opt/pgsql-10/include/internal -D_GNU_SOURCE -c -o src/query.o src/query.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -I/usr/include/python2.7 -I/usr/include/python2.7 -I. -I./ -I/opt/pgsql-10/include/server -I/opt/pgsql-10/include/internal -D_GNU_SOURCE -c -o src/multicorn.o src/multicorn.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -shared -o multicorn.so src/errors.o src/python.o src/query.o src/multicorn.o -L/opt/pgsql-10/lib -Wl,--as-needed -Wl,-rpath,'/opt/pgsql-10/lib',--enable-new-dtags -lpthread -ldl -lutil -lm -lpython2.7 -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic
.//preflight-check.sh
cp sql/multicorn.sql sql/multicorn--1.3.5.sql
[root@rtm2 multicorn-1.3.5]# make install
Python version is 2.7
...

安裝pg-es-fdw-master

[root@rtm2 multicorn-1.3.5]# cd ../pg-es-fdw-master
[root@rtm2 pg-es-fdw-master]# ls
demo.sh dite LICENSE README.md setup.py
[root@rtm2 pg-es-fdw-master]# python setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/dite
copying dite/__init__.py -> build/lib/dite
[root@rtm2 pg-es-fdw-master]# python setup.py install
running install
running bdist_egg
running egg_info
creating dite.egg-info
writing dite.egg-info/PKG-INFO

安裝插件 multicorn

[postgres@rtm2 ~]$ psql
psql (10.3)
Type "help" for help.
postgres=# select * from pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
---------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |  10 |   11 | f    | 1.0  |   |
(1 row)
postgres=# CREATE EXTENSION multicorn;
CREATE EXTENSION
postgres=# psql
postgres=# select * from pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-----------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |  10 |   11 | f    | 1.0  |   |
 multicorn |  10 |   2200 | t    | 1.3.5  |   |
(2 rows)
postgres=# CREATE SERVER multicorn_es FOREIGN DATA WRAPPER multicorn OPTIONS(wrapper 'dite.ElasticsearchFDW');
CREATE SERVER
postgres=#

es

[root@rtm2 config]# vi elasticsearch.yml
node.name: "es-node1"
network.host: 192.168.31.121
discovery.zen.ping.unicast.hosts: ["192.168.31.121"]
[root@rtm2 config]# vi /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p
[root@rtm2 config]# vi /etc/security/limits.conf
# End of file
 root soft nofile 65536
root hard nofile 65536
root soft nproc 4096
root hard nproc 4096
~

啟動es

[root@rtm2 bin]# ls
elasticsearch  elasticsearch.in.bat elasticsearch-service-mgr.exe elasticsearch-service-x86.exe plugin.bat
elasticsearch.bat elasticsearch.in.sh elasticsearch-service-x64.exe plugin       service.bat
[root@rtm2 bin]# ./bin/elasticsearch
test=# CREATE FOREIGN TABLE pp_es (id bigint,age bigint) SERVER multicorn_es OPTIONS (host
test(# '192.168.31.121', port '9200', node 'es-node1', index 'pp');
CREATE FOREIGN TABLE
test=#

創建觸發器和外部表

test=# CREATE OR REPLACE FUNCTION index_pp() RETURNS trigger AS $def$
test$# BEGIN
test$# INSERT INTO pp_es (id, age) VALUES
test$# (NEW.id, NEW.age);
test$# RETURN NEW;
test$# END;
test$# $def$ LANGUAGE plpgsql;
CREATE FUNCTION
test=# CREATE TRIGGER es_insert_pp AFTER INSERT ON pp FOR EACH ROW EXECUTE PROCEDURE index_pp();
CREATE TRIGGER
test=#

新增數據測試

test=# insert into pp (id,age) values (1,11);
INSERT 0 1
test=# select * from pp;
 id | age
----+-----
 1 | 11
(1 row)
test=#

檢查es數據

[root@rtm2 ~]# curl 'http://192.168.31.121:9200/es-node1/_search?q=*:*pretty'
{
 "took" : 104,
 "timed_out" : false,
 "_shards" : {
 "total" : 5,
 "successful" : 5,
 "failed" : 0
 },
 "hits" : {
 "total" : 2,
 "max_score" : 1.0,
 "hits" : [ {
  "_index" : "es-node1",
  "_type" : "pp",
  "_id" : "1",
  "_score" : 1.0,
  "_source":{"age": "11"}
 }, {
  "_index" : "es-node1",
  "_type" : "pp",
  "_id" : "2",
  "_score" : 1.0,
  "_source":{"age": "22"}
 } ]
 }
}
[root@rtm2 ~]#

創建更新觸發器

test=# CREATE OR REPLACE FUNCTION updadeIndex_pp() RETURNS trigger AS $def$
BEGIN
UPDATE pp_es SET
id = NEW.id,
age = NEW.age
where id =NEW.id;
RETURN NEW;
END;
$def$ LANGUAGE plpgsql;
CREATE FUNCTION
test=# ^C
test=#
test=# CREATE TRIGGER es_update_pp AFTER UPDATE OF id, age ON pp FOR EACH ROW WHEN (OLD.* IS DISTINCT
test(# FROM NEW.*)EXECUTE PROCEDURE updadeIndex_pp();
CREATE TRIGGER
test=#

更新表數據

test=# select * from pp;
 id | age
----+-----
 1 | 11
 2 | 22
 3 | 22
(3 rows)
test=# update pp a set a.age = 33 where a.id = 3;
ERROR: column "a" of relation "pp" does not exist
LINE 1: update pp a set a.age = 33 where a.id = 3;
      ^
test=# update pp set age = 33 where id = 3;
UPDATE 1
test=# select * from pp;
 id | age
----+-----
 1 | 11
 2 | 22
 3 | 33
(3 rows)
test=#

es查詢變更

[root@rtm2 ~]# curl 'http://192.168.31.121:9200/es-node1/_search?q=*:*pretty'
{
 "took" : 4,
 "timed_out" : false,
 "_shards" : {
 "total" : 5,
 "successful" : 5,
 "failed" : 0
 },
 "hits" : {
 "total" : 3,
 "max_score" : 1.0,
 "hits" : [ {
  "_index" : "es-node1",
  "_type" : "pp",
  "_id" : "1",
  "_score" : 1.0,
  "_source":{"age": "11"}
 }, {
  "_index" : "es-node1",
  "_type" : "pp",
  "_id" : "2",
  "_score" : 1.0,
  "_source":{"age": "22"}
 }, {
  "_index" : "es-node1",
  "_type" : "pp",
  "_id" : "3",
  "_score" : 1.0,
  "_source":{"age": "33"}
 } ]
 }
}
[root@rtm2 ~]# 

補充:logstash同步pgsql數據到Elasticsearch

一、對于logstash的配置我就不在多說,主要是三部分,input、filter、output的配置

二、配置步驟

1、input配置

input {
 stdin {
 }
 jdbc {
  jdbc_connection_string => "jdbc:postgresql://127.0.0.1:5432/world"
  jdbc_user => "postgres"
  jdbc_password => "zhang123"
  jdbc_driver_library => "D:\logstash-6.4.0\bin\pgsql\postgresql-42.2.5.jar"
  jdbc_driver_class => "org.postgresql.Driver"
  jdbc_paging_enabled => "true"
  jdbc_page_size => "300000"
  use_column_value => "true"
  tracking_column => "id"
  statement_filepath => "D:\logstash-6.4.0\bin\pgsql\jdbc.sql"
 schedule => "* * * * *"
 type => "jdbc"
 jdbc_default_timezone =>"Asia/Shanghai"
 }
}

2、filter配置

filter {
 json {
  source => "message"
  remove_field => ["message"]
 }
}

3、output 配置,就是elasticsearch的基本配置

output {
 elasticsearch {
  hosts => ["localhost:9200"]
  index => "test_out"
 template => "D:\logstash-6.4.0\bin\pgsql\es-template.json"
 template_name => "t-statistic-out-logstash"
 template_overwrite => true
 document_type => "out"
  document_id => "%{id}"
 }
 stdout {
  codec => json_lines
 }
}

以上就是整個logstash 的jdbc.conf

4、es-template.json的配置

{
 "template" : "t-statistis-out-template", 
 "order":1,
 "settings": {
   "index": {
    "refresh_interval": "5s"
   }
  },
 "mappings": {
   "_default_": {
 "_all" : {"enabled":false}, 
    "dynamic_templates": [
     { 
    "message_field" : { 
    "match" : "message", 
    "match_mapping_type" : "string", 
    "mapping" : { "type" : "string", "index" : "not_analyzed" } 
    } 
   }, { 
    "string_fields" : { 
    "match" : "*", 
    "match_mapping_type" : "string", 
    "mapping" : { "type" : "string", "index" : "not_analyzed" } 
    } 
   }
    ],
    "properties": {
     "@timestamp": {
      "type": "date"
     },
     "@version": {
      "type": "keyword"
     },     
  "id": {
      "type": "keyword"
     },
  "name": {
      "type": "keyword"
     },
  "pp": {
      "type": "keyword"
     }  
    }
   }
  },
  "aliases": {}
 
}

最后就是就是下載好pgsql的連接驅動,這個官網可以下載;配置好自己的數據庫表格的數據

啟動命令:進入到logstash的bin目錄下,自己的logstash配置都是放在bin的pgsql這個目錄下面(這個自己隨意創建位置都可以)

logstash.bat -f ./pgsql/jdbc.conf

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 主備數據宕機恢復測試方案
  • PostgreSQL+Pgpool實現HA主備切換的操作
  • postgresql 如何查看pg_wal目錄下xlog文件總大小
  • postgresql之使用lsn 獲取 wal文件名的實例
  • 修改postgresql存儲目錄的操作方式
  • postgresql運維之遠程遷移操作
  • postgresql 12版本搭建及主備部署操作

標簽:烏海 珠海 晉城 錦州 蚌埠 株洲 來賓 衡陽

巨人網絡通訊聲明:本文標題《PostgreSQL 數據同步到ES 搭建操作》,本文關鍵詞  PostgreSQL,數據,同步,到,搭建,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PostgreSQL 數據同步到ES 搭建操作》相關的同類信息!
  • 本頁收集關于PostgreSQL 數據同步到ES 搭建操作的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久99精品网久久| 欧美日韩高清在线| 欧美日韩国产影片| 久久精子c满五个校花| 亚洲国产精品久久不卡毛片 | 91在线无精精品入口| 欧美精品免费视频| **欧美大码日韩| 国产成人综合在线播放| 日韩一区二区在线观看| 亚洲最大的成人av| 99久久伊人久久99| 中文字幕国产一区| 国产乱码精品一品二品| 日韩午夜精品电影| 日韩av一二三| 日韩一级片网址| 亚洲国产成人91porn| 在线视频你懂得一区二区三区| 国产亚洲午夜高清国产拍精品| 日日骚欧美日韩| 欧美日韩一区二区三区在线| 一区二区在线观看不卡| 菠萝蜜视频在线观看一区| 国产日韩欧美一区二区三区乱码| 精品无码三级在线观看视频| 欧美sm美女调教| 久久国产综合精品| 日韩免费高清视频| 久久99国产精品久久99果冻传媒| 欧美第一区第二区| 国产在线播精品第三| 久久综合色综合88| 国产成人在线色| 最新高清无码专区| 91蝌蚪porny| 亚洲高清在线精品| 欧美二区乱c少妇| 久久er99热精品一区二区| 26uuu亚洲婷婷狠狠天堂| 99精品视频在线播放观看| 国产精品久久久久久户外露出 | 亚洲黄一区二区三区| 色综合久久久久久久| 又紧又大又爽精品一区二区| 欧美日韩专区在线| 久久精品国产久精国产爱| 久久久.com| 色激情天天射综合网| 亚洲网友自拍偷拍| 精品国一区二区三区| 成人美女视频在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 久久久综合视频| www.亚洲精品| 午夜视频久久久久久| 亚洲精品一区二区在线观看| 99久久精品国产导航| 三级在线观看一区二区 | 国产精品原创巨作av| 亚洲色图色小说| 欧美一区二区黄| www.亚洲激情.com| 日本不卡一区二区| 日韩美女啊v在线免费观看| 欧美乱熟臀69xxxxxx| 国产在线视频不卡二| 亚洲一区成人在线| 国产三级精品视频| 欧美日韩免费在线视频| 国产aⅴ综合色| 五月天一区二区三区| 中文av一区二区| 日韩亚洲欧美中文三级| 99视频国产精品| 久久国产精品72免费观看| 一区二区在线观看视频在线观看| 日韩免费看的电影| 欧美三级日韩三级| heyzo一本久久综合| 激情综合网激情| 日韩一区欧美二区| 亚洲男人的天堂网| 国产丝袜美腿一区二区三区| 欧美人成免费网站| 91精品福利视频| 99精品偷自拍| 国产91富婆露脸刺激对白| 日本视频一区二区| 亚洲sss视频在线视频| 亚洲特黄一级片| 亚洲国产精品二十页| 日韩三级免费观看| 欧美日韩不卡一区二区| 一本大道av一区二区在线播放| 国产成人综合亚洲网站| 久久国产精品99精品国产| 亚洲不卡在线观看| 亚洲一区二区在线播放相泽| 欧美韩国日本不卡| 日韩美女视频一区| 中文字幕乱码一区二区免费| 久久久美女毛片| 久久综合色综合88| 久久亚洲一级片| 精品久久久久久综合日本欧美| 欧美一区二区久久久| 91精品国产欧美一区二区成人| 欧美性受xxxx| 在线观看欧美黄色| 日本久久一区二区| 色先锋资源久久综合| 一本色道**综合亚洲精品蜜桃冫 | 国产精品电影一区二区| 国产精品福利一区| 综合久久久久综合| 一区二区三区日韩欧美| 亚洲综合一区二区| 天堂在线一区二区| 久久国产剧场电影| 国产乱色国产精品免费视频| 国产成a人无v码亚洲福利| 国产激情一区二区三区桃花岛亚洲| 国产成人激情av| 95精品视频在线| 欧美日韩国产一区二区三区地区| 欧美高清视频在线高清观看mv色露露十八| 欧美网站一区二区| 日韩免费看的电影| 中文字幕欧美激情| 亚洲一区二区三区四区中文字幕| 午夜精品一区二区三区三上悠亚| 日韩电影免费在线| 国产剧情一区二区| 欧洲精品一区二区| 欧美一二三区在线| 日本一区二区三区四区在线视频 | 欧美日韩亚洲国产综合| 日韩一区二区麻豆国产| 中文成人av在线| 亚洲成av人片| 国产精品99久久久| 91九色最新地址| 精品第一国产综合精品aⅴ| 欧美激情一区在线观看| 五月天婷婷综合| 高清成人在线观看| 欧美日本精品一区二区三区| 精品1区2区在线观看| 亚洲欧美国产毛片在线| 极品少妇一区二区三区精品视频 | 欧美一区二区三区四区久久| 久久精品夜色噜噜亚洲aⅴ| 亚洲自拍都市欧美小说| 极品少妇xxxx精品少妇| 欧美在线免费视屏| 中文字幕欧美激情一区| 日本人妖一区二区| 色婷婷综合久久久中文一区二区| 日韩一级免费观看| 一区二区在线免费| 成人深夜福利app| 91精品在线麻豆| 亚洲视频一区二区免费在线观看 | 99视频有精品| 欧美精品一区二区三区久久久| 亚洲精品国产视频| 成人少妇影院yyyy| 日韩精品在线网站| 婷婷国产在线综合| 91色视频在线| 国产精品美女久久久久久2018| 麻豆高清免费国产一区| 欧美在线观看一区二区| 中文字幕中文字幕一区| 国产在线不卡一区| 欧美电影免费观看完整版| 五月天精品一区二区三区| 在线精品视频小说1| 国产精品久久久久久亚洲毛片 | 中文字幕中文字幕一区| 国产成人一区在线| 精品99一区二区| 美女视频网站久久| 欧美一级欧美一级在线播放| 亚洲成a人v欧美综合天堂| 在线视频国内自拍亚洲视频| 日韩伦理免费电影| 99re6这里只有精品视频在线观看| 久久欧美中文字幕| 国产一区三区三区| 久久一区二区视频| 国产激情一区二区三区四区| 久久亚洲私人国产精品va媚药| 久久精品国产99国产精品| 精品久久久久99| 国产不卡视频一区二区三区| 久久久不卡网国产精品一区| 国产精品888| 国产精品色婷婷|