Поток Kinesis Spark читает записи: работает в автономном кластере - PullRequest
0 голосов
/ 18 марта 2019

У меня есть приложение Spark Streaming в Java, которое читает записи из потока kineses (1 осколок) и после этого выполняет некоторую обработку.

Когда я запускаю свое приложение в локальном режиме Spark, оно может получать записи, но когдаЯ запускаю то же приложение в автономном кластере, оно не читает записи из потока kinesis.

Я использовал команду spark-submit для запуска приложения:

Локальный режим:

spark-submit --class com.test.Main --master local[3] --jars /test/test-saprk-app.jar

Автономный режим кластера: spark-submit --class com.test.Main --master spark://<machine-ip>:7077 --deploy-mode cluster --executor-cores 3 --executor-memory 10GB --jars /test/test-saprk-app.jar

Используемая версия Spark: 2.4.0

Может кто-нибудь предложитьчего мне здесь не хватает?

1 Ответ

1 голос
/ 18 марта 2019

Для чтения данных из kinesis нам нужно установить accessKey и secretKey в качестве переменных env или роли IAM, если это машина aws ec2.

Если приложение spark отправляется в режиме кластера / клиента, убедитесь, что эти свойства установлены, иначе оно не будет читать какие-либо данные из потока kinesis, так как отсутствуют необходимые учетные данные.

Я попытался поместить эти переменные env в файл conf / spark-env.sh, и он работал на каждом узле кластера

...