Kafka 节点镜像制作
安装 agent
下载青云提供的 app agent Linux 版本, Windows 版本,解压后运行 ./install.sh (Windows 下双击 install.bat)创建 /etc/confd/conf.d/server.properties.toml
[template] src = "server.properties.tmpl" dest = "/opt/kafka/config/server.properties" keys = [ "/", ] reload_cmd = "/opt/kafka/bin/kafka-server-restart.sh"
创建 /etc/confd/templates/server.properties.tmpl
{% raw %} # fixed params log.segment.bytes=1073741824 socket.send.buffer.bytes=202400 num.network.threads=3 log.cleaner.enable=false port=9092 num.recovery.threads.per.data.dir=1 log.dirs=/data/kafka/kafka-logs log.flush.interval.messages=10000 zookeeper.connection.timeout.ms=6000 log.retention.check.interval.ms=300000 zookeeper.session.timeout.ms=6000 log.flush.interval.ms=1000 replica.fetch.max.bytes=1000000 # params input by user {{range gets "/env/*"}}{{$v := .Value}}{{ if gt ( len ( $v ) ) 0 }} {{base .Key}}={{.Value}}{{end}}{{end}} # dependency {{if exists "/links/zk_service/cluster/endpoints/client/port"}}{{$port := getv "/links/zk_service/cluster/endpoints/client/port"}} zookeeper.connect={{range $i, $host := ls (printf "/links/zk_service/hosts")}}{{$ip := printf "/links/zk_service/hosts/%s/ip" $host}}{{if $i}},{{end}}{{getv $ip}}:{{$port}}{{end}}/kafka/{{getv "/cluster/cluster_id"}} {{else}} zookeeper.connect={{range $i, $host := ls (printf "/links/zk_service/hosts")}}{{$ip := printf "/links/zk_service/hosts/%s/ip" $host}}{{if $i}},{{end}}{{getv $ip}}:2181{{end}}/kafka/{{getv "/cluster/cluster_id"}} {{end}} # self host.name={{getv "/host/ip"}} broker.id={{getv "/host/sid"}} {{$ahost := getv "/env/advertised.host.name"}}{{ if le ( len ( $ahost ) ) 0 }}advertised.host.name={{getv "/host/ip"}}{{end}} {% endraw %}
创建 /opt/kafka/bin/kafka-server-restart.sh
#! /bin/bash pid=`ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep| awk '\{print $1\}'` if [ "x$pid" = "x" ] then echo "zk server is not running" 1>&2 return fi /opt/kafka/bin/kafka-server-stop.sh sleep 10 /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties if [ $? -eq 0 ]; then echo "Restart Kafka server successful" exit 0 else echo "Failed to restart Kafka server" 1>&2 exit 1 fi