Scrapy Clusters - отличный новый способ масштабирования больших, непрерывных проектов. Он настраивается внутри виртуальной машины и запускается с несколькими экземплярами из разных инструментов.Scrapy Clusters kafka_monitor.py прерван
Я построил виртуальную машину и установил необходимые инструменты, такие как Redis, Kafka и zookeeper.
Я просто застрял на простой строке до моего первого тестового сканирования, и я не знаю, является ли это проблемой python, проблемой установки или что.
Когда я пытаюсь
python kafka_monitor.py run
я получаю:
Traceback (most recent call last): File "kafka_monitor.py", line 512, in sys.exit(main())
File "kafka_monitor.py", line 497, in main kafka_monitor.run()
File "kafka_monitor.py", line 413, in run self._setup_kafka()
File "kafka_monitor.py", line 232, in _setup_kafka ret_val = _hidden_setup()
File "/usr/local/lib/python2.7/dist-packages/scutils/method_timer.py", line 46, in f2 retval = f(*args)
File "kafka_monitor.py", line 218, in _hidden_setup self.kafka_conn = KafkaClient(self.settings['KAFKA_HOSTS'])TypeError: ____init___() takes exactly 1 argument (2 given)
settings.py
включает в себя:
KAFKA_HOSTS = 'localhost:9092'
KAFKA_INCOMING_TOPIC = 'demo.incoming'
KAFKA_GROUP = 'demo-group'
KAFKA_FEED_TIMEOUT = 5
KAFKA_CONN_TIMEOUT = 5
И в соответствии с указаниями Quick Start я сделал localsettings.py
, а
# Here, 'scdev' is the host with Kafka, Redis, and Zookeeper
REDIS_HOST = 'scdev'
KAFKA_HOSTS = 'scdev:9092'
ZOOKEEPER_HOSTS = 'scdev:2181'
Даже если я иду в kafka_monitor.py
и изменения линии 218 (из этого intital TRACEBACK ошибки выше)
От:
self.kafka_conn = KafkaClient(self.settings['KAFKA_HOSTS'])
Для:
self.kafka_conn = KafkaClient(self.settings['scdev:9092'])
Я получаю такая же ошибка.
Похоже, вам нужно удалить аргумент из вызова 'KafkaClient()'. Medsage вводит в заблуждение, так как 'self' всегда передается в качестве первого аргумента. Таким образом, один аргумент приводит к двум. –
Спасибо, что я сделал эксперимент с этим: с 'self.kafka_conn = KafkaClient()' Я получаю 'AttributeError: объект KafkaClient 'не имеет атрибута' secure_topic_exists'' –
Кажется, что у вас есть некоторая версия несовместимости между kafka_monitor и KafkaClient() , Я бы поискал версию KafkaClient с make_topic_exists и удостоверился, что у меня установлена эта версия. –