2015-02-03 3 views
1

Я новичок в Kafka, используя версию kafka_2.8.0-0.8.1.1.Тест производительности Kafka не доступен

После сборки брокеров Kafka и протестируйте его производителем и потребителем, который отлично работает, я решил сделать некоторые тесты производительности для Kafka.

Я нашел Kafka Benchmark поиском kafka performance test и попробовать его на выполнение

./bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test7 50000000 100 -1 acks=1 bootstrap.servers=esv4-hcl198.grid.linkedin.com:9092 buffer.memory=67108864 batch.size=8196 

но получил

Error: Could not find or load main class org.apache.kafka.clients.tools.ProducerPerformance 

Затем я нашел еще один способ проверить Кафки команда

./bin/kafka-producer-perf-test.sh --broker-list 192.168.2.11:19092,192.168.2.11:19093,192.168.2.11:19094 --messages 100 --topic j1-soa --threads 1 --message-size 100 --batch-size 100 --compression-codec 1 

получил другая ошибка

Error: Could not find or load main class kafka.perf.ProducerPerformance 

Я искал ошибки. они сказали, что он должен выполнить какую-либо команду, как

./sbt update 
./sbt package 
./sbt assembly-package-dependency 

или

./gradlew jar 

перед выполнением ./bin/kafka-producer-perf-test.sh.

Я понимаю, что приведенные выше команды работают только для исходной версии вместо двоичной версии.

Затем я загружаю kafka-0.8.1.1-src.tgz и пытаюсь выполнить вышеприведенные команды.

Я не знаю, что такое sbt и gradlew.

Я просто пытаюсь работать над командами.

И я получил ошибку при запуске sbt assembly-package-dependency

[info] Set current project to kafka (in build file:/Users/foxzen/Develop/kafka/) 
[error] Not a valid command: assembly-package-dependency 
[error] Not a valid project ID: assembly-package-dependency 
[error] Expected ':' (if selecting a configuration) 
[error] Not a valid key: assembly-package-dependency (similar: sbt-dependency) 
[error] assembly-package-dependency 
[error]       ^

Также ошибки для ./gradlew jar

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring root project 'kafka-0.8.1.1-src'. 
> Could not resolve all dependencies for configuration ':classpath'. 
    > Could not resolve nl.javadude.gradle.plugins:license-gradle-plugin:0.6.1. 
Required by: 
    org.apache.kafka:kafka-0.8.1.1-src:0.8.1.1 
    > Could not GET 'http://repo1.maven.org/maven2/nl/javadude/gradle/plugins/license-gradle-plugin/0.6.1/license-gradle-plugin-0.6.1.pom'. 
    > Connection to http://127.0.0.1:8888 refused 
    > Could not GET 'http://dl.bintray.com/content/netflixoss/external-gradle-plugins/nl/javadude/gradle/plugins/license-gradle-plugin/0.6.1/license-gradle-plugin-0.6.1.pom'. 
    > Connection to http://127.0.0.1:8888 refused 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 2.924 secs 

Я действительно не знаю, что означает, что сообщение об ошибке, и не нашел решение.

Как сделать команду ./bin/kafka-producer-perf-test.sh работать нормально, поэтому я могу проверить производительность Kafka?


EDIT

Ее моя вина, чтобы вызвать ./gradlew jar неудачу.

подключение к интернету есть прокси-настройки для 127.0.0.1:8888,

Я не могу вспомнить, когда я это сделал ...

После удалить прокси настройки подключения к Интернету. команда ./gradlew jar работает нормально.

Но я получил другую ошибку, снова ........

start.time, end.time, compression, message.size, batch.size, total.data.sent.in.MB, MB.sec, total.data.sent.in.nMsg, nMsg.sec 
[2015-02-04 10:37:22,936] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties) 
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
2015-02-04 10:37:22:821, 2015-02-04 10:37:23:451, 1, 100, 100, 0.01, 0.0151, 100, 158.7302 

причина по ./bin/kafka-producer-perf-test.sh --broker-list 192.168.2.11:19092,192.168.2.11:19093,192.168.2.11:19094 --messages 100 --topic j1-soa --threads 1 --message-size 100 --batch-size 100 --compression-codec 1

Это значит, тест производительности успех?

Но я не получил значимого результата.

Я думаю, что информация об ошибке должна быть

Failed to load class "org.slf4j.impl.StaticLoggerBinder".

Как решить эту проблему?

+0

Возможный дубликат [Kafka Ошибка: не удалось найти или загрузить основной класс org.apache.kafka.clients.tools.ProducerPerformance] (http://stackoverflow.com/questions/24780849/kafka- error-could-not-find-or-load-main-class-org-apache-kafka-clients-tools-pr) – Joe

+0

@Joe Я не думаю, что это дублированный вопрос. потому что я попробовал команду sbt и не работал – Joe

+0

Упс .. Это вызвано глупыми историческими проблемами. Давным-давно я установил прокси интернет-соединения в 127.0.0.1:8888. Теперь работа 'gradlew jar' найдется после того, как я удалю настройку прокси-сервера – Joe

ответ

3

Наименование пакета ProducerPerformance было изменено с org.apache.kafka.clients.tools до org.apache.kafka.tools.

Таким образом, вы должны быть запущены:

./bin/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance test7 50000000 100 -1 acks=1 bootstrap.servers=esv4-hcl198.grid.linkedin.com:9092 buffer.memory=67108864 batch.size=8196

Изменение Бид сделано в this commit.

0

С kafka_2.11-0.10.1.1, я только сумел использовать его:

./bin/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance --throughput=1000 --topic=MY_TOPIC --num-records=50000000 --record-size=200 --producer-props bootstrap.servers=YOUR_KAFKA_IP:9092 buffer.memory=67108864 batch.size=64000

Имейте в виду, есть также другой класс с именем kafka.tools.ProducerPerformance. Но один выше выглядит лучше

Смежные вопросы