2016-07-15 13 views
9

Tôi muốn tăng session.timeout.ms để cho phép thời gian xử lý các tin nhắn nhận được trong khoảng từ poll() cuộc gọi lâu hơn. Tuy nhiên, khi tôi thay đổi session.timeout.ms thành giá trị cao hơn 30000, không thể tạo đối tượng Người tiêu dùng và ném lỗi dưới đây.Tại sao tôi không thể tăng session.timeout.ms?

Ai đó có thể cho biết tại sao tôi không thể tăng giá trị session.timeout.ms hoặc nếu tôi thiếu gì đó?

0 [main] INFO org.apache.kafka.clients.consumer.ConsumerConfig - ConsumerConfig values: 

request.timeout.ms = 40000 
check.crcs = true 
retry.backoff.ms = 100 
ssl.truststore.password = null 
ssl.keymanager.algorithm = SunX509 
receive.buffer.bytes = 262144 
ssl.cipher.suites = null 
ssl.key.password = null 
sasl.kerberos.ticket.renew.jitter = 0.05 
ssl.provider = null 
sasl.kerberos.service.name = null 
session.timeout.ms = 40000 
sasl.kerberos.ticket.renew.window.factor = 0.8 
bootstrap.servers = [server-name:9092] 
client.id = 
fetch.max.wait.ms = 500 
fetch.min.bytes = 50000 
key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer 
sasl.kerberos.kinit.cmd = /usr/bin/kinit 
auto.offset.reset = latest 
value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer 
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] 
partition.assignment.strategy = [org.apache.kafka.clients.consumer.RangeAssignor] 
ssl.endpoint.identification.algorithm = null 
max.partition.fetch.bytes = 2097152 
ssl.keystore.location = null 
ssl.truststore.location = null 
ssl.keystore.password = null 
metrics.sample.window.ms = 30000 
metadata.max.age.ms = 300000 
security.protocol = PLAINTEXT 
auto.commit.interval.ms = 5000 
ssl.protocol = TLS 
sasl.kerberos.min.time.before.relogin = 60000 
connections.max.idle.ms = 540000 
ssl.trustmanager.algorithm = PKIX 
group.id = test7 
enable.auto.commit = false 
metric.reporters = [] 
ssl.truststore.type = JKS 
send.buffer.bytes = 131072 
reconnect.backoff.ms = 50 
metrics.num.samples = 2 
ssl.keystore.type = JKS 
heartbeat.interval.ms = 3000 

Exception in thread "main" org.apache.kafka.common.KafkaException: Không thể xây dựng Kafka tiêu dùng tại org.apache.kafka.clients.consumer.KafkaConsumer (KafkaConsumer.java.: 624) tại org.apache.kafka.clients.consumer.KafkaConsumer. (KafkaConsumer.java:518) tại org.apache.kafka.clients.consumer.KafkaConsumer. (KafkaConsumer.java:500)

+0

Bạn có thể đăng toàn bộ ngăn xếp lỗi không? không có đủ chi tiết để trợ giúp ở đây. –

Trả lời

10

Phạm vi của người tiêu dùng Thời gian chờ ession được kiểm soát bởi nhà môi giới group.max.session.timeout.ms (mặc định 30 giây) và group.min.session.timeout.ms (mặc định là 6).

Bạn nên tăng nhóm.max.session.timeout.ms trước tiên ở phía nhà môi giới, nếu không bạn sẽ nhận được "Thời gian chờ của phiên không nằm trong phạm vi có thể chấp nhận được".

+0

Cảm ơn nhưng việc thêm/thiết lập group.max.session.timeout.ms = 3600000 trong config/server.properties vẫn không giải quyết được vấn đề này. Tuy nhiên bây giờ tôi nhận được "Gây ra bởi: org.apache.kafka.common.config.ConfigException: request.timeout.ms nên lớn hơn session.timeout.ms và fetch.max.wait.ms" lỗi đó là hữu ích. – Deeps

+0

Điều này làm việc sau khi đặt request.timeout.ms thành giá trị lớn hơn session.timeout.ms. – Deeps

2
  • Những điều kiện cần thiết để được lưu ý để thay đổi session.timeout.ms:
    1. group.max.session.timeout.ms trong server.properties> session.timeout.ms trong người tiêu dùng .tính chất.
    2. group.min.session.timeout.ms trong server.properties < session.timeout.ms trong consumer.properties.
    3. request.timeout.ms> session.timeout.ms và fetch.max.wait.ms
    4. (session.timeout.ms)/3> heartbeat.interval.ms
    5. session.timeout.ms> xấu nhất thời gian xử lý hồ sơ của Consumer Records cho mỗi cuộc thăm dò của người tiêu dùng (ms).
Các vấn đề liên quan