我只在配置中更改了日志和Zookeeper数据的路径。
正在运行的动物园管理员:
zookeeper-server-start.bat D:\__programs\kafka_2.12-2.1.0\config\zookeeper.properties
正在运行卡夫卡:
kafka-server-start.bat D:\__programs\kafka_2.12-2.1.0\config\server.properties
正在运行的消费者:
kafka-console-consumer.bat -bootstrap-server localhost:2181 -topic mytopic
正在运行的制作人:
kafka-console-producer.bat -broker-list localhost:9092 -topic mytopic
因此,消费者只有在与生产者位于同一端口(9092)上时,才能获取消息。
这是什么问题?
答案 0 :(得分:0)
Bootstrap服务器和代理列表,两者都应指向相同的
由于您是在localhost:9092上生成事件,因此应该在使用者中使用以下内容:
kafka-console-producer.bat --broker-list localhost:9092 --topic mytopic
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic mytopic
P.S。 通常将2181
端口分配给Zookeeper进程。这里localhost:2181
是指Zookeeper。
答案 1 :(得分:0)
消费者和生产者都是Kafka服务器的客户端,因此它们都可以使用与我们在server.properties文件中配置为客户端端口的端口相同的端口。
在public class PartialTintedRoundedRectLinearLayout extends LinearLayout {
Context ctx;
RectF topPartitionRect, botPartitionRect;
RectF topBandAidRect, botBandAidRect;
Paint bgTopPaint, bgBotPaint;
int defaultCornerRadius;
float material30sdp;
public PartialTintedRoundedRectLinearLayout(Context c) {
super(c);
init(c);
}
public PartialTintedRoundedRectLinearLayout(Context c, AttributeSet a) {
super(c, a);
init(c);
}
public PartialTintedRoundedRectLinearLayout(Context c, AttributeSet a, int dsAttr) {
super(c, a, dsAttr);
init(c);
}
private void init(Context c) {
setWillNotDraw(false);
ctx = c;
defaultCornerRadius = (int)(20 * ctx.getResources().getDisplayMetrics().density);
material30sdp = ctx.getResources().getDimension(R.dimen._30sdp);
bgTopPaint = new Paint(); bgTopPaint.setColor(ContextCompat.getColor(ctx, R.color.blue_700));
bgBotPaint = new Paint(); bgBotPaint.setColor(ContextCompat.getColor(ctx, R.color.blue_500));
getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
topPartitionRect = new RectF(0, 0, getWidth(), material30sdp);
topBandAidRect = new RectF(0, defaultCornerRadius, getWidth(), material30sdp);
botPartitionRect = new RectF(0, material30sdp, getWidth(), getHeight());
botBandAidRect = new RectF(0, material30sdp, getWidth(), getHeight() - defaultCornerRadius);
invalidate();
getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRoundRect(topPartitionRect, defaultCornerRadius, defaultCornerRadius, bgTopPaint);
canvas.drawRoundRect(botPartitionRect, defaultCornerRadius, defaultCornerRadius, bgBotPaint);
canvas.drawRect(topBandAidRect, bgTopPaint);
canvas.drawRect(botBandAidRect, bgBotPaint);
}
}
文件中使用以下任一参数配置了端口
取决于配置和协议,使用者和生产者可以使用多个端口。 您可以找到代理参数here
的详细信息