Re: failed with LeaderNotAvailableError -
Hi David, Are you running in docker? Are you trying to connect from to a remote box? We found we could connect locally but couldn't connect from another remote host. (I've just started using kafka also) We had the same issue and found out: host.name=<%=@ipaddress%> needed to be the FQDN of the box. Thanks, Ben On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery <davidmontgom...@gmail.com > wrote: > Hi, > > I am very concerned about using kafka in production given the below > errors: > > Now issues with myt zookeeper. Other services use ZK. Only kafka fails. > I have 2 kafka servers using 8.x. How do I resolve? I tried restarting > services for kafka. Below is my kafka server.properties file > > 'Traceback (most recent call last): > File > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > line 523, in run > result = self._run(*self.args, **self.kwargs) > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > send_kafka_message > res = producer.send_messages(topic, message) > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 52, in > send_messages > partition = self._next_partition(topic) > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 36, in > _next_partition > self.client.load_metadata_for_topics(topic) > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in > load_metadata_for_topics > kafka.common.check_error(topic_metadata) > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in > check_error > raise error_class(response) > LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', > error=5, partitions=[]) > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > # limitations under the License. > # see kafka.server.KafkaConfig for additional details and defaults > > # Server Basics # > > # The id of the broker. This must be set to a unique integer for each > broker. > broker.id=<%=@broker_id%> > advertised.host.name=<%=@ipaddress%> > advertised.port=9092 > # Socket Server Settings > # > > # The port the socket server listens on > port=9092 > > # Hostname the broker will bind to and advertise to producers and > consumers. > # If not set, the server will bind to all interfaces and advertise the > value returned from > # from java.net.InetAddress.getCanonicalHostName(). > host.name=<%=@ipaddress%> > > # The number of threads handling network requests > num.network.threads=2 > > # The number of threads doing disk I/O > num.io.threads=2 > > # The send buffer (SO_SNDBUF) used by the socket server > socket.send.buffer.bytes=1048576 > > # The receive buffer (SO_RCVBUF) used by the socket server > socket.receive.buffer.bytes=1048576 > > # The maximum size of a request that the socket server will accept > (protection against OOM) > socket.request.max.bytes=104857600 > > > # Log Basics # > > # A comma seperated list of directories under which to store log files > log.dirs=/tmp/kafka-logs > > # The number of logical partitions per topic per server. More partitions > allow greater parallelism > # for consumption, but also mean more files. > num.partitions=2 > > # Log Flush Policy > # > > # The following configurations control the flush of data to disk. This is > among the most > # important performance knob in kafka. > # There are a few important trade-offs here: > #1. Durability: Unflushed data may be lost if you are not using > replication. > #2. Latency: Very large flush intervals may lead to latency spikes when > the flush does occur as there will be a lot of data to flush. > #3. Throughput: The flush is generally the most expensive operation, > and a small flush interval may lead to exceessive seeks. > # The settings below allow one to configure the flush policy to flush data > after a period of time or > # every N messages (or both). This can be done globally and overridden on a > per-topic basis. > > # The number of messages to accept before forcing a flush of data to disk > log.flush.interval.messages=1 > > # The maximum amount of time a message can sit in a log before we force a > flush > log.flush.interval.ms=1000 > > # Per-topic overrides for log.flush.interval.ms > #log.flush.intervals.ms.per.topic=topic1:1000, topic2:3000
Re: failed with LeaderNotAvailableError -
I probably should of mentioned that this was using Amazon ECS. On Thu, Dec 17, 2015 at 12:18 PM, Marko Bonaći <marko.bon...@sematext.com> wrote: > It doesn't have to be FQDN. > > Here's how I run Kafka in a container: > docker run --name st-kafka -p 2181:2181 -p 9092:9092 -e > ADVERTISED_HOST=`docker-machine ip dev-st` -e ADVERTISED_PORT=9092 -d > spotify/kafka > > And then you have access to Kafka on the docker host VM from any other > machine. > BTW I use Spotify's image since it contains both ZK and Kafka, but I think > the latest version they built is 0.8.2.1, so you might have to build the > new image yourself if you need 0.9, but that's trivial to do. > > Marko Bonaći > Monitoring | Alerting | Anomaly Detection | Centralized Log Management > Solr & Elasticsearch Support > Sematext <http://sematext.com/> | Contact > <http://sematext.com/about/contact.html> > > On Thu, Dec 17, 2015 at 11:33 AM, Ben Davison <ben.davi...@7digital.com> > wrote: > > > Hi David, > > > > Are you running in docker? Are you trying to connect from to a remote > box? > > We found we could connect locally but couldn't connect from another > remote > > host. > > > > (I've just started using kafka also) > > > > We had the same issue and found out: host.name=<%=@ipaddress%> needed to > > be > > the FQDN of the box. > > > > Thanks, > > > > Ben > > > > On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery < > > davidmontgom...@gmail.com > > > wrote: > > > > > Hi, > > > > > > I am very concerned about using kafka in production given the below > > > errors: > > > > > > Now issues with myt zookeeper. Other services use ZK. Only kafka > fails. > > > I have 2 kafka servers using 8.x. How do I resolve? I tried > restarting > > > services for kafka. Below is my kafka server.properties file > > > > > > 'Traceback (most recent call last): > > > File > > > > > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > > line 523, in run > > > result = self._run(*self.args, **self.kwargs) > > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > > send_kafka_message > > > res = producer.send_messages(topic, message) > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line > 52, > > in > > > send_messages > > > partition = self._next_partition(topic) > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line > 36, > > in > > > _next_partition > > > self.client.load_metadata_for_topics(topic) > > > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in > > > load_metadata_for_topics > > > kafka.common.check_error(topic_metadata) > > > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in > > > check_error > > > raise error_class(response) > > > LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', > > > error=5, partitions=[]) > > > send_kafka_message('topic-test-production', > > > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > > > > > > > > > > > > > > > > > > > # limitations under the License. > > > # see kafka.server.KafkaConfig for additional details and defaults > > > > > > # Server Basics > # > > > > > > # The id of the broker. This must be set to a unique integer for each > > > broker. > > > broker.id=<%=@broker_id%> > > > advertised.host.name=<%=@ipaddress%> > > > advertised.port=9092 > > > # Socket Server Settings > > > # > > > > > > # The port the socket server listens on > > > port=9092 > > > > > > # Hostname the broker will bind to and advertise to producers and > > > consumers. > > > # If not set, the server will bind to all interfaces and advertise the > > > value returned from > > > # from java.net.InetAddress.getCanonicalHostName(). > > > host.name=<%=@ipaddress%> > > > > > > # The number of threads handling network requests > > > num.network.threads=2 > > > > > >
Re: failed with LeaderNotAvailableError -
Hi Ben and Marko -- great suggestions re: connection failures and docker. The specific error here is: LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', error=5, partitions=[]) That is an error code (5) returned from a MetadataRequest. In this context it means that the topic did not exist and so the request triggered an auto-create initialization (i.e., the connection was fine). Topic initialization tends to take a few seconds to complete, but only needs to happen once per topic. A retry here is generally fine. This retry should probably be handled under the covers by the client code. So in this case I would treat it as a simple kafka-python issue (#488). -Dana On Thu, Dec 17, 2015 at 4:58 AM, Ben Davison <ben.davi...@7digital.com> wrote: > I probably should of mentioned that this was using Amazon ECS. > > On Thu, Dec 17, 2015 at 12:18 PM, Marko Bonaći <marko.bon...@sematext.com> > wrote: > > > It doesn't have to be FQDN. > > > > Here's how I run Kafka in a container: > > docker run --name st-kafka -p 2181:2181 -p 9092:9092 -e > > ADVERTISED_HOST=`docker-machine ip dev-st` -e ADVERTISED_PORT=9092 -d > > spotify/kafka > > > > And then you have access to Kafka on the docker host VM from any other > > machine. > > BTW I use Spotify's image since it contains both ZK and Kafka, but I > think > > the latest version they built is 0.8.2.1, so you might have to build the > > new image yourself if you need 0.9, but that's trivial to do. > > > > Marko Bonaći > > Monitoring | Alerting | Anomaly Detection | Centralized Log Management > > Solr & Elasticsearch Support > > Sematext <http://sematext.com/> | Contact > > <http://sematext.com/about/contact.html> > > > > On Thu, Dec 17, 2015 at 11:33 AM, Ben Davison <ben.davi...@7digital.com> > > wrote: > > > > > Hi David, > > > > > > Are you running in docker? Are you trying to connect from to a remote > > box? > > > We found we could connect locally but couldn't connect from another > > remote > > > host. > > > > > > (I've just started using kafka also) > > > > > > We had the same issue and found out: host.name=<%=@ipaddress%> needed > to > > > be > > > the FQDN of the box. > > > > > > Thanks, > > > > > > Ben > > > > > > On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery < > > > davidmontgom...@gmail.com > > > > wrote: > > > > > > > Hi, > > > > > > > > I am very concerned about using kafka in production given the below > > > > errors: > > > > > > > > Now issues with myt zookeeper. Other services use ZK. Only kafka > > fails. > > > > I have 2 kafka servers using 8.x. How do I resolve? I tried > > restarting > > > > services for kafka. Below is my kafka server.properties file > > > > > > > > 'Traceback (most recent call last): > > > > File > > > > > > > > > > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > > > line 523, in run > > > > result = self._run(*self.args, **self.kwargs) > > > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > > > send_kafka_message > > > > res = producer.send_messages(topic, message) > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line > > 52, > > > in > > > > send_messages > > > > partition = self._next_partition(topic) > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line > > 36, > > > in > > > > _next_partition > > > > self.client.load_metadata_for_topics(topic) > > > > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in > > > > load_metadata_for_topics > > > > kafka.common.check_error(topic_metadata) > > > > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in > > > > check_error > > > > raise error_class(response) > > > > LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', > > > > error=5, partitions=[]) > > > > > send_kafka_message('topic-test-production', > > > > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > > > > > > > > > &g
Re: failed with LeaderNotAvailableError -
It doesn't have to be FQDN. Here's how I run Kafka in a container: docker run --name st-kafka -p 2181:2181 -p 9092:9092 -e ADVERTISED_HOST=`docker-machine ip dev-st` -e ADVERTISED_PORT=9092 -d spotify/kafka And then you have access to Kafka on the docker host VM from any other machine. BTW I use Spotify's image since it contains both ZK and Kafka, but I think the latest version they built is 0.8.2.1, so you might have to build the new image yourself if you need 0.9, but that's trivial to do. Marko Bonaći Monitoring | Alerting | Anomaly Detection | Centralized Log Management Solr & Elasticsearch Support Sematext <http://sematext.com/> | Contact <http://sematext.com/about/contact.html> On Thu, Dec 17, 2015 at 11:33 AM, Ben Davison <ben.davi...@7digital.com> wrote: > Hi David, > > Are you running in docker? Are you trying to connect from to a remote box? > We found we could connect locally but couldn't connect from another remote > host. > > (I've just started using kafka also) > > We had the same issue and found out: host.name=<%=@ipaddress%> needed to > be > the FQDN of the box. > > Thanks, > > Ben > > On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery < > davidmontgom...@gmail.com > > wrote: > > > Hi, > > > > I am very concerned about using kafka in production given the below > > errors: > > > > Now issues with myt zookeeper. Other services use ZK. Only kafka fails. > > I have 2 kafka servers using 8.x. How do I resolve? I tried restarting > > services for kafka. Below is my kafka server.properties file > > > > 'Traceback (most recent call last): > > File > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > line 523, in run > > result = self._run(*self.args, **self.kwargs) > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > send_kafka_message > > res = producer.send_messages(topic, message) > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 52, > in > > send_messages > > partition = self._next_partition(topic) > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 36, > in > > _next_partition > > self.client.load_metadata_for_topics(topic) > > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in > > load_metadata_for_topics > > kafka.common.check_error(topic_metadata) > > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in > > check_error > > raise error_class(response) > > LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', > > error=5, partitions=[]) > > > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > > > > > > > > > > # limitations under the License. > > # see kafka.server.KafkaConfig for additional details and defaults > > > > # Server Basics # > > > > # The id of the broker. This must be set to a unique integer for each > > broker. > > broker.id=<%=@broker_id%> > > advertised.host.name=<%=@ipaddress%> > > advertised.port=9092 > > # Socket Server Settings > > # > > > > # The port the socket server listens on > > port=9092 > > > > # Hostname the broker will bind to and advertise to producers and > > consumers. > > # If not set, the server will bind to all interfaces and advertise the > > value returned from > > # from java.net.InetAddress.getCanonicalHostName(). > > host.name=<%=@ipaddress%> > > > > # The number of threads handling network requests > > num.network.threads=2 > > > > # The number of threads doing disk I/O > > num.io.threads=2 > > > > # The send buffer (SO_SNDBUF) used by the socket server > > socket.send.buffer.bytes=1048576 > > > > # The receive buffer (SO_RCVBUF) used by the socket server > > socket.receive.buffer.bytes=1048576 > > > > # The maximum size of a request that the socket server will accept > > (protection against OOM) > > socket.request.max.bytes=104857600 > > > > > > # Log Basics # > > > > # A comma seperated list of directories under which to store log files > > log.dirs=/tmp/kafka-logs > > > > # The number of logical partitions per topic per server. More partitions > > allow
Re: failed with LeaderNotAvailableError -
FYI I am using digitialocean. I do not use docker. On Thu, Dec 17, 2015 at 6:33 PM, Ben Davison <ben.davi...@7digital.com> wrote: > Hi David, > > Are you running in docker? Are you trying to connect from to a remote box? > We found we could connect locally but couldn't connect from another remote > host. > > (I've just started using kafka also) > > We had the same issue and found out: host.name=<%=@ipaddress%> needed to > be > the FQDN of the box. > > Thanks, > > Ben > > On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery < > davidmontgom...@gmail.com > > wrote: > > > Hi, > > > > I am very concerned about using kafka in production given the below > > errors: > > > > Now issues with myt zookeeper. Other services use ZK. Only kafka fails. > > I have 2 kafka servers using 8.x. How do I resolve? I tried restarting > > services for kafka. Below is my kafka server.properties file > > > > 'Traceback (most recent call last): > > File > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > line 523, in run > > result = self._run(*self.args, **self.kwargs) > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > send_kafka_message > > res = producer.send_messages(topic, message) > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 52, > in > > send_messages > > partition = self._next_partition(topic) > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 36, > in > > _next_partition > > self.client.load_metadata_for_topics(topic) > > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in > > load_metadata_for_topics > > kafka.common.check_error(topic_metadata) > > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in > > check_error > > raise error_class(response) > > LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', > > error=5, partitions=[]) > > > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > > > > > > > > > > # limitations under the License. > > # see kafka.server.KafkaConfig for additional details and defaults > > > > # Server Basics # > > > > # The id of the broker. This must be set to a unique integer for each > > broker. > > broker.id=<%=@broker_id%> > > advertised.host.name=<%=@ipaddress%> > > advertised.port=9092 > > # Socket Server Settings > > # > > > > # The port the socket server listens on > > port=9092 > > > > # Hostname the broker will bind to and advertise to producers and > > consumers. > > # If not set, the server will bind to all interfaces and advertise the > > value returned from > > # from java.net.InetAddress.getCanonicalHostName(). > > host.name=<%=@ipaddress%> > > > > # The number of threads handling network requests > > num.network.threads=2 > > > > # The number of threads doing disk I/O > > num.io.threads=2 > > > > # The send buffer (SO_SNDBUF) used by the socket server > > socket.send.buffer.bytes=1048576 > > > > # The receive buffer (SO_RCVBUF) used by the socket server > > socket.receive.buffer.bytes=1048576 > > > > # The maximum size of a request that the socket server will accept > > (protection against OOM) > > socket.request.max.bytes=104857600 > > > > > > # Log Basics # > > > > # A comma seperated list of directories under which to store log files > > log.dirs=/tmp/kafka-logs > > > > # The number of logical partitions per topic per server. More partitions > > allow greater parallelism > > # for consumption, but also mean more files. > > num.partitions=2 > > > > # Log Flush Policy > > # > > > > # The following configurations control the flush of data to disk. This is > > among the most > > # important performance knob in kafka. > > # There are a few important trade-offs here: > > #1. Durability: Unflushed data may be lost if you are not using > > replication. > > #2. Latency: Very large flush intervals may lead to latency spikes > when > > the flush does occur as th
Re: failed with LeaderNotAvailableError -
So what do I do? Kill my production servers and rebuild? Restarting all services does nit work. This seems kinda extreme. At this point I feel I have to kill all servers and rebuild. Thanks On Fri, Dec 18, 2015 at 2:28 AM, Dana Powers <dana.pow...@gmail.com> wrote: > Hi Ben and Marko -- great suggestions re: connection failures and docker. > > The specific error here is: LeaderNotAvailableError: > TopicMetadata(topic='topic-test-production', error=5, partitions=[]) > > That is an error code (5) returned from a MetadataRequest. In this context > it means that the topic did not exist and so the request triggered an > auto-create initialization (i.e., the connection was fine). Topic > initialization tends to take a few seconds to complete, but only needs to > happen once per topic. A retry here is generally fine. This retry should > probably be handled under the covers by the client code. So in this case I > would treat it as a simple kafka-python issue (#488). > > -Dana > > On Thu, Dec 17, 2015 at 4:58 AM, Ben Davison <ben.davi...@7digital.com> > wrote: > > > I probably should of mentioned that this was using Amazon ECS. > > > > On Thu, Dec 17, 2015 at 12:18 PM, Marko Bonaći < > marko.bon...@sematext.com> > > wrote: > > > > > It doesn't have to be FQDN. > > > > > > Here's how I run Kafka in a container: > > > docker run --name st-kafka -p 2181:2181 -p 9092:9092 -e > > > ADVERTISED_HOST=`docker-machine ip dev-st` -e ADVERTISED_PORT=9092 -d > > > spotify/kafka > > > > > > And then you have access to Kafka on the docker host VM from any other > > > machine. > > > BTW I use Spotify's image since it contains both ZK and Kafka, but I > > think > > > the latest version they built is 0.8.2.1, so you might have to build > the > > > new image yourself if you need 0.9, but that's trivial to do. > > > > > > Marko Bonaći > > > Monitoring | Alerting | Anomaly Detection | Centralized Log Management > > > Solr & Elasticsearch Support > > > Sematext <http://sematext.com/> | Contact > > > <http://sematext.com/about/contact.html> > > > > > > On Thu, Dec 17, 2015 at 11:33 AM, Ben Davison < > ben.davi...@7digital.com> > > > wrote: > > > > > > > Hi David, > > > > > > > > Are you running in docker? Are you trying to connect from to a remote > > > box? > > > > We found we could connect locally but couldn't connect from another > > > remote > > > > host. > > > > > > > > (I've just started using kafka also) > > > > > > > > We had the same issue and found out: host.name=<%=@ipaddress%> > needed > > to > > > > be > > > > the FQDN of the box. > > > > > > > > Thanks, > > > > > > > > Ben > > > > > > > > On Thu, Dec 17, 2015 at 5:40 AM, David Montgomery < > > > > davidmontgom...@gmail.com > > > > > wrote: > > > > > > > > > Hi, > > > > > > > > > > I am very concerned about using kafka in production given the below > > > > > errors: > > > > > > > > > > Now issues with myt zookeeper. Other services use ZK. Only kafka > > > fails. > > > > > I have 2 kafka servers using 8.x. How do I resolve? I tried > > > restarting > > > > > services for kafka. Below is my kafka server.properties file > > > > > > > > > > 'Traceback (most recent call last): > > > > > File > > > > > > > > > > > > > > > > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > > > > line 523, in run > > > > > result = self._run(*self.args, **self.kwargs) > > > > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > > > > send_kafka_message > > > > > res = producer.send_messages(topic, message) > > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", > line > > > 52, > > > > in > > > > > send_messages > > > > > partition = self._next_partition(topic) > > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", > line > > > 36, > > > > in > > > > > _next_partiti
Re: failed with LeaderNotAvailableError -
t; > > > restarting > > > > > > services for kafka. Below is my kafka server.properties file > > > > > > > > > > > > 'Traceback (most recent call last): > > > > > > File > > > > > > > > > > > > > > > > > > > > > > > > > > > "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", > > > > > > line 523, in run > > > > > > result = self._run(*self.args, **self.kwargs) > > > > > > File "/var/feed-server/ad-server/pixel-server.py", line 145, in > > > > > > send_kafka_message > > > > > > res = producer.send_messages(topic, message) > > > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", > > line > > > > 52, > > > > > in > > > > > > send_messages > > > > > > partition = self._next_partition(topic) > > > > > > File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", > > line > > > > 36, > > > > > in > > > > > > _next_partition > > > > > > self.client.load_metadata_for_topics(topic) > > > > > > File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, > in > > > > > > load_metadata_for_topics > > > > > > kafka.common.check_error(topic_metadata) > > > > > > File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, > in > > > > > > check_error > > > > > > raise error_class(response) > > > > > > LeaderNotAvailableError: > > TopicMetadata(topic='topic-test-production', > > > > > > error=5, partitions=[]) > > > > > > > > > send_kafka_message('topic-test-production', > > > > > > '{"adfadfadf)> failed with LeaderNotAvailableError > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > # limitations under the License. > > > > > > # see kafka.server.KafkaConfig for additional details and > defaults > > > > > > > > > > > > # Server Basics > > > > # > > > > > > > > > > > > # The id of the broker. This must be set to a unique integer for > > each > > > > > > broker. > > > > > > broker.id=<%=@broker_id%> > > > > > > advertised.host.name=<%=@ipaddress%> > > > > > > advertised.port=9092 > > > > > > # Socket Server Settings > > > > > > # > > > > > > > > > > > > # The port the socket server listens on > > > > > > port=9092 > > > > > > > > > > > > # Hostname the broker will bind to and advertise to producers and > > > > > > consumers. > > > > > > # If not set, the server will bind to all interfaces and > advertise > > > the > > > > > > value returned from > > > > > > # from java.net.InetAddress.getCanonicalHostName(). > > > > > > host.name=<%=@ipaddress%> > > > > > > > > > > > > # The number of threads handling network requests > > > > > > num.network.threads=2 > > > > > > > > > > > > # The number of threads doing disk I/O > > > > > > num.io.threads=2 > > > > > > > > > > > > # The send buffer (SO_SNDBUF) used by the socket server > > > > > > socket.send.buffer.bytes=1048576 > > > > > > > > > > > > # The receive buffer (SO_RCVBUF) used by the socket server > > > > > > socket.receive.buffer.bytes=1048576 > > > > > > > > > > > > # The maximum size of a request that the socket server will > accept > > > > > > (protection against OOM) > > > > > > socket.request.max.bytes=104857600 > > > > > > > > > > > > > > > > > > # Log Basics > > > ##
failed with LeaderNotAvailableError -
Hi, I am very concerned about using kafka in production given the below errors: Now issues with myt zookeeper. Other services use ZK. Only kafka fails. I have 2 kafka servers using 8.x. How do I resolve? I tried restarting services for kafka. Below is my kafka server.properties file 'Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/gevent-1.1b6-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 523, in run result = self._run(*self.args, **self.kwargs) File "/var/feed-server/ad-server/pixel-server.py", line 145, in send_kafka_message res = producer.send_messages(topic, message) File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 52, in send_messages partition = self._next_partition(topic) File "build/bdist.linux-x86_64/egg/kafka/producer/simple.py", line 36, in _next_partition self.client.load_metadata_for_topics(topic) File "build/bdist.linux-x86_64/egg/kafka/client.py", line 383, in load_metadata_for_topics kafka.common.check_error(topic_metadata) File "build/bdist.linux-x86_64/egg/kafka/common.py", line 233, in check_error raise error_class(response) LeaderNotAvailableError: TopicMetadata(topic='topic-test-production', error=5, partitions=[]) failed with LeaderNotAvailableError # limitations under the License. # see kafka.server.KafkaConfig for additional details and defaults # Server Basics # # The id of the broker. This must be set to a unique integer for each broker. broker.id=<%=@broker_id%> advertised.host.name=<%=@ipaddress%> advertised.port=9092 # Socket Server Settings # # The port the socket server listens on port=9092 # Hostname the broker will bind to and advertise to producers and consumers. # If not set, the server will bind to all interfaces and advertise the value returned from # from java.net.InetAddress.getCanonicalHostName(). host.name=<%=@ipaddress%> # The number of threads handling network requests num.network.threads=2 # The number of threads doing disk I/O num.io.threads=2 # The send buffer (SO_SNDBUF) used by the socket server socket.send.buffer.bytes=1048576 # The receive buffer (SO_RCVBUF) used by the socket server socket.receive.buffer.bytes=1048576 # The maximum size of a request that the socket server will accept (protection against OOM) socket.request.max.bytes=104857600 # Log Basics # # A comma seperated list of directories under which to store log files log.dirs=/tmp/kafka-logs # The number of logical partitions per topic per server. More partitions allow greater parallelism # for consumption, but also mean more files. num.partitions=2 # Log Flush Policy # # The following configurations control the flush of data to disk. This is among the most # important performance knob in kafka. # There are a few important trade-offs here: #1. Durability: Unflushed data may be lost if you are not using replication. #2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. #3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to exceessive seeks. # The settings below allow one to configure the flush policy to flush data after a period of time or # every N messages (or both). This can be done globally and overridden on a per-topic basis. # The number of messages to accept before forcing a flush of data to disk log.flush.interval.messages=1 # The maximum amount of time a message can sit in a log before we force a flush log.flush.interval.ms=1000 # Per-topic overrides for log.flush.interval.ms #log.flush.intervals.ms.per.topic=topic1:1000, topic2:3000 # Log Retention Policy # # The following configurations control the disposal of log segments. The policy can # be set to delete segments after a period of time, or after a given size has accumulated. # A segment will be deleted whenever *either* of these criteria are met. Deletion always happens # from the end of the log. # The minimum age of a log file to be eligible for deletion log.retention.hours=168 # A size-based retention policy for logs. Segments are pruned from the log as long as the remaining # segments don't drop below log.retention.bytes. #log.retention.bytes=1073741824 # The maximum size of a log segment file. When this size is reached a new log segment will be created. log.segment.bytes=536870912 # The interval at which log segments are checked to see if they can be deleted according # to the retention policies log.cleanup.interval.mins=1 # Zookeeper # # Z