|
@@ -47,7 +47,7 @@ spec:
|
|
|
# topologyKey: kubernetes.io/hostname
|
|
|
containers:
|
|
|
- name: realtime-yuewen-v2
|
|
|
- image: hub.evbj.easou.com/qa/realtime-yuewen-v2:r190976
|
|
|
+ image: hub.evbj.easou.com/qa/realtime-yuewen-v2:r190978
|
|
|
imagePullPolicy: IfNotPresent
|
|
|
env:
|
|
|
- name: MY_NODE_NAME
|
|
@@ -99,7 +99,7 @@ spec:
|
|
|
port: 8080
|
|
|
initialDelaySeconds: 40
|
|
|
periodSeconds: 15
|
|
|
- - image: hub.evbj.easou.com/dev/flume:1.7.0-20230811
|
|
|
+ - image: hub.evbj.easou.com/dev/flume-test:1.7.0-20230811
|
|
|
imagePullPolicy: IfNotPresent
|
|
|
name: flume
|
|
|
volumeMounts:
|
|
@@ -108,13 +108,6 @@ spec:
|
|
|
# - name: flume-config
|
|
|
# mountPath: /app/soft/flume-1.7.0/conf/flume.conf
|
|
|
# subPath: flume.conf
|
|
|
- volumes:
|
|
|
- - name: flume-config
|
|
|
- configMap:
|
|
|
- name: flume-config-realtime-yuewen-v2
|
|
|
- items:
|
|
|
- - key: flume.conf
|
|
|
- path: flume.conf
|
|
|
|
|
|
volumeClaimTemplates:
|
|
|
- metadata:
|
|
@@ -141,43 +134,5 @@ spec:
|
|
|
name: "main"
|
|
|
selector:
|
|
|
app: realtime-yuewen-v2
|
|
|
----
|
|
|
-apiVersion: v1
|
|
|
-kind: ConfigMap
|
|
|
-metadata:
|
|
|
- name: flume-config-realtime-yuewen-v2
|
|
|
- namespace: qa
|
|
|
-data:
|
|
|
- flume.conf: |
|
|
|
- a1.channels.c1.type = org.apache.flume.channel.kafka.KafkaChannel
|
|
|
- a1.channels.c1.kafka.bootstrap.servers = 10.26.27.71:8092,10.26.22.102:8092,10.26.22.120:8092,10.26.22.121:8092,10.26.22.122:8092
|
|
|
- a1.channels.c1.kafka.topic = yuewen_buydetail
|
|
|
- a1.channels.c1.kafka.consumer.group.id = flume2kafka
|
|
|
-
|
|
|
- # Define an Avro source called r1 on a1 and tell it
|
|
|
- # to bind to 0.0.0.0:41414. Connect it to channel c1.
|
|
|
- #注意这里分出2个channel出来,一个是到k1,一个到k2
|
|
|
- #如果这里只出一个channel c1的话,下面2个sink channel都为c1,则消息就会随机分到2个sink上,而不是2个sink都有一份
|
|
|
- a1.sources.r1.channels = c1
|
|
|
- a1.sources.r1.type = exec
|
|
|
- a1.sources.r1.command = tail -F /data/logs/app/access.log
|
|
|
- a1.sources.r1.restart = true
|
|
|
- a1.sources.r1.selector.optional = c1
|
|
|
- a1.sources.r1.batchSize = 100000
|
|
|
- a1.sources.r1.interceptors = i1 i2 i3
|
|
|
- a1.sources.r1.interceptors.i1.type = timestamp
|
|
|
- a1.sources.r1.interceptors.i2.type = host
|
|
|
- a1.sources.r1.interceptors.i2.useIP = false
|
|
|
- a1.sources.r1.interceptors.i3.type = regex_filter
|
|
|
- a1.sources.r1.interceptors.i3.regex = ^\\s*$
|
|
|
- a1.sources.r1.interceptors.i3.excludeEvents = true
|
|
|
- #默认是replicationg,还有multiplexer
|
|
|
- #a1.sources.r1.selector.type = replicationg
|
|
|
-
|
|
|
- # Finally, now that we've defined all of our components, tell
|
|
|
- # a1 which ones we want to activate.
|
|
|
- a1.sources = r1
|
|
|
- a1.channels = c1
|
|
|
- a1.sinks =
|
|
|
|
|
|
|