ヘラジカデータ同期MySQLとelasticsearchを達成

1、インストールelasticsearch

まずjdk8インストール(の設定環境変数jdk8)

ダウンロード:

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz

タール-zxvf elasticsearch-7.5.1-linuxの-x86_64.tar.gzのコーデック

設定ファイルを変更します。

#======================== Elasticsearch設定======================= ==
#注:Elasticsearchは、ほとんどの設定のための合理的なデフォルトが付属しています。
あなたが微調整し、調整に設定を行う設定#する前に、必ず作ります
#何を達成しようとしているとの結果を理解しています。
#ノードを構成する主な方法は、このファイルを経由しています。このテンプレートの一覧
#最も重要な設定は、本番クラスタ用に設定することもできます。
#設定オプションの詳細については、ドキュメントを参照してください:
#https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  集まる  -  -  -  -  -  -  - ---------------------
#クラスタの記述名を使用します。
cluster.name:myes #------------------------------------ノード------------ ------------------------ #ノードの記述名を使用します。 node.name:ノード-1 #ノードにカスタム属性を追加します。 #node.attr.rack:R1 #-----------------------------------パス------------- ----------------------- #ここで、データを(カンマで区切り、複数の場所)を格納するディレクトリへのパス: path.data:/パス/に/データ #ログファイルへのパス: path.logs:/パス/ /ログへ #-----------------------------------メモリ------------- ---------------------- #起動時にメモリをロック: bootstrap.memory_lock:偽 bootstrap.system_call_filter:偽 #ことを確認し、ヒープサイズが利用できるメモリの半分程度に設定されていること システム上のプロセスの所有者がこれを使用することが許可されている# #限度。 システムがメモリを交換したとき#Elasticsearchのパフォーマンスが低下。 # - - - - - - - - - - - - - - - - - 通信網 - - - - - - - --------------------- #特定のIP(IPv4またはIPv6)にバインドアドレスを設定します。 network.host:192.168.0.117 xpack.ml.enabled:偽 #HTTP用のカスタムポートを設定します。 たhttp.port:9200 transport.tcp.port:9300 #詳細については、ネットワークモジュールのマニュアルを参照してください。 #---------------------------------発見--------------- ------------------- このノードが開始されたときに#ディスカバリを実行するホストの最初のリストを渡します。 #ホストのデフォルトリストがある[ "127.0.0.1"、 "[:: 1]"] #discovery.seed_hosts:[ "HOST1"、 "ホスト2"] #ブートストラップマスター適格ノードの最初のセットを使用してクラスタ: cluster.initial_master_nodes:[ "ノード1"] #詳細については、発見とクラスター形成モジュールのマニュアルを参照してください。 #----------------------------------ゲートウェイ-------------- --------------------- 完全なクラスタの再起動後に#ブロックの初期の回復は、N個のノードが開始されるまで: #gateway.recover_after_nodes:3 #詳細については、ゲートウェイモジュールのマニュアルを参照してください。 #----------------------------------各種-------------- --------------------- インデックスを削除するとき#明示的な名前が必要: #action.destructive_requires_name:真
cluster.name:これは、クラスタノードの名前であるmyes 
ノードノード1の名前:node.name
/パス/に/データの格納場所データ:path.data
path.logs:/パス/に/ログログ

bootstrap.memory_lock:偽
bootstrap.system_call_filter:偽

network.host:192.168.0.117これは、サーバーのアドレスがある
xpack.ml.enabled:偽

たhttp.port:9200これは、アドレスのhttpアクセスがページ訪問のアドレスである
。これは、接続コードは、時間と接続することでポート9300:transport.tcp.port

cluster.initial_master_nodes:[「ノード1」]はマスターノードを指定します

 

私たちは、/etc/sysctl.confの
加えます

vm.max_map_count = 655360 
保存した後に実行
にsysctl -pを
私たちの/etc/security/limits.confを
コードの最後の行では、次の
*ハードNOFILE 131072
*ソフトNOFILE 65536
*ソフトNPROC 4096
*ハードNPROC 4096

 

エラーは、実装する際に遭遇することができます

JVMは、IS 万一のクライアントVM [VMは、Java HotSpot(TM)クライアント]を使用してでも、BE 使用してVM Aサーバー最高のパフォーマンスを実現するために、クライアントがJVM VM [は、Java HotSpot(TM)クライアントVM]を使用しているが、最高のパフォーマンスを得るため、あなたは、サーバーVMを使用する必要があります

 

あなたは間違って持っている場合

VMは、サーバーVMに設定されています:示されているように、1行目と2行目を入れ替えることができ、上記である:JREのインストールディレクトリ/ libに/ i386の/jvm.cfgファイル、JVMのデフォルトのクライアントバージョンを見つけます。現在、サーバーのVM

 

 

 

 

 

起動時にバックグラウンドに-d ./elasticsearch実行がビンディレクトリES 

ダウンロードをkibana
https://artifacts.elastic.co/downloads/kibana/kibana-7.5.1-linux-x86_64.tar.gz
configディレクトリのkibana次kibanaを入力します。このファイルを.yml
server.port:5601
server.host:「192.168.0.117」これは、マシンの現在のIPです
elasticsearch.hosts:[ "http://192.168.0.117:9200"]これは、ESのサイトです
kibanaは先頭に新しいユーザーを作成するので、開始するにはrootユーザーのために払っていません
groupaddのESは、グループを作成します
useraddのliuchao -g ES -p 123456ユーザーおよび割り当てグループを作成します
chownコマンド-R liuchao:許可されたESのES elasticsearchカタログ全体
 chownコマンド-R liuchao:ES kibana kibana新しい権限のあるユーザーにディレクトリ全体
 SU liuchaoスイッチユーザー

nohup ../bin/kibana &  后台启动 kibana

 

インストール設定logstashの
ダウンロード:
https://artifacts.elastic.co/downloads/logstash/logstash-7.5.1.tar.gz
直接抽出
binディレクトリに
 
vimの/usr/local/logstash-5.5.2/bin/ mysqltoes.conf
 
 

入力{

 
 

STDIN {}

 
 

JDBC {

 
 

データベースを同期する必要性#

 
 

jdbc_connection_string => "jdbc:mysql://192.168.0.23:3306/demo"

 
 

 

 
 

jdbc_user => "root"

 
 

 

 
 

jdbc_password => "123456"

 
 

 

 
 

#本地jar包

 
 

jdbc_driver_library => "/usr/local/es/mysql-connector-java-3.1.12-bin.jar"

 
 

 

 
 

jdbc_driver_class => "com.mysql.jdbc.Driver"

 
 

 

 
 

jdbc_paging_enabled => "true"

 
 

 

 
 

jdbc_page_size => "50000"

 
 

 

 
 

#获取到记录的SQL查询语句

 
 

statement => "SELECT * FROM user"

 
 

 

 
 

#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新

 
 

schedule => "* * * * *"

 
 

}

 
 

}

 
 

 

 
 

output {

 
 

stdout {

 
 

codec => json_lines

 
 

}

 
 

elasticsearch {

 
 

#ESIP地址与端口

 
 

hosts => ["192.168.0.117:9200"]

 
 

 

 
 

#ES索引名称(自己定义的)

 
 

index => "logdemo"

 
 

 

 
 

#文档类型

 
 

document_type => "user"

 
 

 

 
 

#文档类型id,%{userid}意思是取查询出来的userid的值,并将其映射到es中_id字段中

 
 

document_id => "%{id}"

 
 

}

 
 

}

 
 

启动:./logstash -f mysqltoes.conf




おすすめ

転載: www.cnblogs.com/dkws/p/12162916.html