構成の前提条件 1
1.1 kafka にデータをインポートする 1.2 flume でデータを読み取る msyql5.7 をインストールする必要があります。
#1 フォルダーを解凍し、指定した場所に移動します cd /opt/jar tar -zxf flume-ng-1.6.0-cdh5.14.2.tar.gz mv apache-flume-1.6.0-cdh5.12.0-bin/ /opt/ Soft/flume160 tar -zxf kafka_2.11-2.0.0.tgz mv kafka_2.11-2.0.0 /opt/soft/kafka200 # 2 Kafka 設定ファイルを設定します vim /opt/soft/kafka200/config/ server.properties <<======================================>> listeners=PLAINTEXT:/ /192.168 .64.210:9092 log.dirs=/opt/soft/kafka200/datazookeeper.connect =192.168.64.210:2181 <<===================== == ================>> # 3 flume 設定ファイルを設定する cp flume-env.sh.template flume.env.sh vim /opt/soft/flume160/conf/ /flume -env.sh <=====================================> エクスポート JAVA_HOME=/opt/soft/jdk180 # 3 つのパーティション <======================================> # 4 環境変数を構成する vim /etc /プロファイル ====================================== #kafka env export KAFKA_HOME=/opt/soft /kafka200 エクスポート PATH=$PATH:$KAFKA_HOME/bin #flume env エクスポート FLUME_HOME=/opt/soft/flume160 エクスポート PATH=$PATH:$FLUME_HOME/bin ============== == ======================= #設定 ソース /etc/profileをアクティブ化#5 Zuokeper zkServer.sh を開始 # 6 kafka を開始 kafka-server-start.sh /opt/soft/kafka200/config/server.properties kafka-topics.sh --create --zookeeper 192.168.64.210:2181 --topicevent_attendess_raw --replication-factor 1 --partitions 3
構成設定ファイル
#查看ソース文件大小 cd /opt/data/attendees/ ls wc -levent_attendees.csv.COMPLETED catevent_attendees.csv.COMPLETED # 構成第一文件(event_attendees.conf) a1.channels= c1 a1.sources= s1 a1.sinks= k1 a1.sources.s1.type = spooldir a1.sources.s1.channels= c1 a1.sources.s1.spoolDir= /opt/data/attendees a1.sources.s1.deserializer.maxLineLength=120000 a1 .sources.s1.interceptors=i1 a1.sources.s1.interceptors.i1.type=regex_filter a1.sources.s1.interceptors.i1.regex=event.* a1.sources.s1.interceptors.i1.excludeEvents= true a1.channels.c1.type = メモリ a1.sinks.k1.channel = c1 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic =event_attendees_raw a1.sinks.k1.kafka.bootstrap.servers = 192.168.64.210:9092 a1.sinks .k1.kafka.flumeBatchSize = 20 a1.sinks.k1.kafka.Producer.acks = 1 # 構成第二文件(user_friends.conf) a1.channels= c1 a1.sources= s1 a1.sinks= k1 a1.sources.s1.type= spooldir a1.sources.s1.channels= c1 a1.sources.s1.spoolDir= /opt/data/uf a1.sources.s1.deserializer.maxLineLength=60000 a1.sources.s1.interceptors =i1 a1.sources.s1.interceptors.i1.type=regex_filter a1.sources.s1.interceptors.i1.regex=event.* a1.sources.s1.interceptors.i1.excludeEvents=true a1.channels.c1.type = メモリ a1.sinks.k1.channel = c1 a1.sinks.k1.type = org.apache.flume.sink.kafka .KafkaSink a1.sinks.k1.kafka.topic = user_friends_raw a1.sinks.k1.kafka.bootstrap.servers = 192.168.64.210:9092 a1.sinks.k1.kafka.flumeBatchSize = 20 a1.sinks.k1.kafka.Producer .acks = 1
#ファイル数を表示 cd /opt/data/uf wc -l user_friends.csv
イベントをkafkaにアップロードする
#構成第三の文件(events_raw.conf) a1.channels= c1 a1.sources= s1 a1.sinks= k1 a1.sources.s1.type = spooldir a1.sources.s1.channels= c1 a1.sources.s1 .spoolDir= /opt/data/events a1.sources.s1.interceptors=i1 a1.sources.s1.interceptors.i1.type=regex_filter a1.sources.s1.interceptors.i1.regex=event.* a1.sources。 s1.interceptors.i1.excludeEvents=true a1.channels.c1.type = メモリ a1.sinks.k1.channel = c1 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1。 Sinks.k1.kafka.topic = events_raw a1.sinks.k1.kafka.bootstrap.servers = 192.168.64.210:9092 a1.sinks.k1.kafka.flumeBatchSize = 20 a1.sinks.k1.kafka.Producer.acks = 1
メッセージキューを削除する
#削除するには true に設定する必要があります
vim /opt/soft/kafka200/config/server.properties
delete.topic.enable=true
#トピック数を表示
kafka-topics.sh --zookeeper 192.168.64.210:2181 -- list #
トピックを削除
kafka-topics.sh --zookeeper 192.168.64.210:2181 --topic events_raw --delete # ファイルヘッダー
を表示
cd /opt/data/events
cat events.csv.COMPLETED | head -1
イベントファイルの読み取り
#最初のステップは、kafka を監視することです kafka-console-consumer.sh --bootstrap-server 192.168.64.210:9092 --topic events_raw # 2 番目のステップ Flume はファイルの書き込みを開始します flume-ng Agent -n a1 -c /opt/ Soft /flume160/conf/ -f /opt/flumecfg/events.conf -Dflume.root.looger=INFO,console # 3 番目のステップは、kafka のデータを表示することです kafka-run-class.sh kafka.tools.GetOffsetShell --broker -list 192.168.64.210:9092 --topic events_raw #トピック数を 表示 kafka-topics.sh --zookeeper 192.168.64.210:2181 --list # トピック を削除 kafka-topics.sh --zookeeper 192.168 .64.210:2181 - -topic events_raw --delete # 削除ログを表示 cd /opt/soft/kafka200/kafka-logs ls
user_friends ファイルを読み込みます
#最初のステップは、kafka を監視することです kafka-console-consumer.sh --bootstrap-server 192.168.64.210:9092 --topic user_friends_raw # 2 番目のステップ Flume はファイルの書き込みを開始します flume-ng Agent -n a1 -c /opt/ Soft /flume160/conf/ -f /opt/flumecfg/user_friends.conf -Dflume.root.looger=INFO,console # 3 番目のステップは、kafka のデータを表示することです kafka-run-class.sh kafka.tools.GetOffsetShell --broker -list 192.168.64.210:9092 --topic user_friends_raw #トピック数 を表示 kafka-topics.sh --zookeeper 192.168.64.210:2181 --list # トピック を削除 kafka-topics.sh --zookeeper 192.168 .64.210:2181 - -topic user_friends.csv --delete # 削除ログを表示 cd /opt/soft/kafka200/kafka-logs ls
events_attendees ファイルを読む
#最初のステップは、kafka を監視することです kafka-console-consumer.sh --bootstrap-server 192.168.64.210:9092 --topicevent_attendess_raw #2 番目のステップ Flume はファイルの書き込みを開始します flume-ng Agent -n a1 -c /opt/soft / flume160/conf/ -f /opt/flumecfg/event_attendees.conf -Dflume.root.looger=INFO,console #3 番目のステップは、kafka のデータを表示することです kafka-run-class.sh kafka.tools.GetOffsetShell -- Broker-list 192.168.64.210:9092 --topicevent_attendess_raw #トピック数を表示 kafka-topics.sh --zookeeper 192.168.64.210:2181 --list # トピックを削除 kafka-topics.sh --zookeeper 192.168.64.210:2181 --topicevent_attendess_raw - -delete #削除ログを表示します cd /opt/soft/kafka200/kafka-logs ls