シンクのバランスをとる水路・フェイルオーバーシンクプロセッサのフェイルオーバーと負荷分散ロード

1を接続しますhttps://www.cnblogs.com/jhxxb/p/11579518.html

使用用いシンクグループにシンクそれぞれFlume2 Flume3当接Flume1ポートモニタ、  フェイルオーバーシンクプロセッサ、フェイルオーバー機能を実現します。

まず、プロファイルを作成します

1.flume-のnetcat-flume.conf

構成1チャネルのnetcatソースは、シンクグループ(2番目のシンク)は、それぞれ、及びflumeflume-CONSOLE2 - [コンソールをflumeflumeに供給されます。

#このエージェントのコンポーネント名前
a1.sources = R1 
a1.channels = C1 
a1.sinkgroups = G1 
a1.sinks = K1とK2の

#説明/ソースを設定
a1.sources.r1.type = netcatを
a1.sources.r1.bindを= 127.0.0.1 
a1.sources.r1.port = 4444 

#シンクグループ
a1.sinkgroups.g1.processor.type =フェイルオーバー
a1.sinkgroups.g1.processor.priority.k1 = 5 
a1.sinkgroups.g1.processor.priority。 K2 = 10 
a1.sinkgroups.g1.processor.maxpenalty = 10000 

#シンク記述
a1.sinks.k1.typeを=アブロ
a1.sinks.k1.hostname = h136 
a1.sinks.k1.port = 4141 
a1.sinks.k2 .TYPE =アブロ
a1.sinks.k2.hostname = h136 
a1.sinks.k2.port = 4142

#は、チャネル記述
a1.channels.c1.type =メモリ
a1.channels.c1.capacity = 1000 
a1.channels.c1.transactionCapacity = 100 

#バインドソースをチャネルに沈む
a1.sources.r1.channels = C1 
A1 .sinkgroups.g1.sinks = K1 K2の
a1.sinks.k1.channel = C1 
a1.sinks.k2.channel = C1
コードの表示

2.flume-水路-console1.conf

ソースの設定上に水路の出力は、ローカルコンソールに出力されます。

#このエージェントのコンポーネント名前
a2.sources = R1 
a2.sinks = K1を
a2.channelsの= C1は

#説明/設定ソース
a2.sources.r1.type =アブロ
a2.sources.r1.bind = h136 
a2.sources。 r1.port = 4141 

#シンク記述
a2.sinks.k1.typeを=ロガー

#は、チャネル記述
a2.channels.c1.typeを=メモリ
a2.channels.c1.capacity = 1000 
a2.channels.c1.transactionCapacity = 100 

#チャネルにソースとシンクを結合
a2.sources.r1.channels = C1 
a2.sinks.k1.channel = C1
コードの表示

3.flume-水路-console2.conf

ソースの設定上に水路の出力は、ローカルコンソールに出力されます。

#このエージェントのコンポーネント名前
a3.sources = R1 
a3.sinks = K1を
a3.channelsの= C2は

#説明/設定ソース
a3.sources.r1.type =アブロ
a3.sources.r1.bind = h136 
a3.sources。 r1.port = 4142 

#シンク記述
a3.sinks.k1.typeを=ロガー

#は、チャネル記述
a3.channels.c2.typeを=メモリ
a3.channels.c2.capacity = 1000 
a3.channels.c2.transactionCapacity = 100 

#チャネルにソースとシンクを結合
a3.sources.r1.channels = C2 
a3.sinks.k1.channel = C2
コードの表示

 

第二に、テスト

1.フェイルオーバー

水路-のnetcat-flume.confがデータを受信するために他の二つ、すなわち、水路、水路-console1.confや水路、水路-console2.confサーバーにデータを送信するので、あなたは水路-のnetcat-flume.conf前に開始する必要があります。

CDは/ opt / apacheの-flume- 1.90 - ビン

ビン /水路-ngのエージェント--confのconf / --name A3 --conf- ファイル -Dflume.root.logger = /tmp/flume-job/group2/flume-flume-console2.conf INFO、コンソール
ビン /水路-ngのエージェント--confのconf / --name A2 --conf- ファイル -Dflume.root.logger = /tmp/flume-job/group2/flume-flume-console1.conf INFO、コンソール
ビン /水路-NGエージェント--confのconf / --name A1 --conf- ファイル -Dflume.root.logger = INFO、コンソール/tmp/flume-job/group2/flume-netcat-flume.conf

起動後、コンソール2よりも高い優先度コンソール1フリューム-のnetcat-flume.conf構成ので、優先接続をコンソール1であろう。

監視ポートにメッセージを送ります

yumを -y インストールNC 
NC 127.00.1  4444 

123456

唯一のnetcatコンソール1を見てデータを受信することができ、その後、最後にはコンソール1故障シミュレーションをオフコンソール1と、自動的にコンソール2のnetcatをを接続するには、この時間は、その後、メッセージを送信し、唯一のnetcatコンソール2の受信データです。

2.ロードバランシング

使用するシンクを負荷分散し、完成フェイルオーバーとはほとんど、だけでなく、ときに接続コンソール1が、コンソール1とCONSOLE2を切り替えます。

水路-のnetcat-flume.conf設定を変更するには

#このエージェントのコンポーネント名前
a1.sources = R1 
a1.channels = C1 
a1.sinkgroups = G1 
a1.sinks = K1とK2の

#説明/ソースを設定
a1.sources.r1.type = netcatを
a1.sources.r1.bindを= 127.0.0.1 
a1.sources.r1.port = 4444 

#シンクグループ
a1.sinkgroups.g1.sinks = K1 K2の
a1.sinkgroups.g1.processor.type = LOAD_BALANCE 
a1.sinkgroups.g1.processor.backoff =真
A1。 sinkgroups.g1.processor.selector =ランダム

#説明シンク
a1.sinks.k1.type =アブロ
a1.sinks.k1.hostname = h136 
a1.sinks.k1.port = 4141 
a1.sinks.k2.type =アブロ
A1 .sinks.k2.hostname = h136 
a1.sinks.k2.port = 4142

#は、チャネル記述
a1.channels.c1.type =メモリ
a1.channels.c1.capacity = 1000 
a1.channels.c1.transactionCapacity = 100 

#バインドソースをチャネルに沈む
a1.sources.r1.channels = C1 
A1 .sinkgroups.g1.sinks = K1 K2の
a1.sinks.k1.channel = C1 
a1.sinks.k2.channel = C1
コードの表示

テストおよびフェイルオーバー同じが、ランダムに固定されていないNCとのメッセージを送信する前記コンソール1 CONSOLE2に送られます。

おすすめ

転載: www.cnblogs.com/jhxxb/p/11580351.html