简体   繁体   English

获取错误区域名称[us-west-1]无效[Kinesis流与spark整合]

[英]Getting error Region name [us-west-1] is not valid [Kinesis streaming integration with spark]

I have setup spark and trying to run spark submit command using python example for wordcount found here 我已经设置了spark并尝试使用python示例运行spark submit命令, 这里可以找到wordcount

Below is the command i run for spark submit:- 以下是我为spark提交运行的命令: -

bin/spark-submit --packages org.apache.spark:spark-streaming-kinesis-asl_2.12:2.4.0  /Users/amitdhawan/Downloads/kinesis_wordcount_asl.py [appname] [streamname] [https://kinesis.us-west-1.amazonaws.com] [us-west-1]

The error i get is below:- 我得到的错误如下: -

Traceback (most recent call last):
  File "/Users/amitdhawan/Downloads/kinesis_wordcount_asl.py", line 76, in <module>
    ssc, appName, streamName, endpointUrl, regionName, InitialPositionInStream.LATEST, 2)
  File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/streaming/kinesis.py", line 92, in createStream
  File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
  File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o28.createStream.
: java.lang.IllegalArgumentException: Region name '[us-west-1]' is not valid
    at org.apache.spark.streaming.kinesis.KinesisUtils$.$anonfun$validateRegion$2(KinesisUtils.scala:561)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.streaming.kinesis.KinesisUtils$.validateRegion(KinesisUtils.scala:561)
    at org.apache.spark.streaming.kinesis.KinesisUtils$.$anonfun$createStream$1(KinesisUtils.scala:75)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
    at org.apache.spark.streaming.StreamingContext.withNamedScope(StreamingContext.scala:274)
    at org.apache.spark.streaming.kinesis.KinesisUtils$.createStream(KinesisUtils.scala:75)
    at org.apache.spark.streaming.kinesis.KinesisUtils$.createStream(KinesisUtils.scala:509)
    at org.apache.spark.streaming.kinesis.KinesisUtilsPythonHelper.createStream(KinesisUtils.scala:614)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:282)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:238)
    at java.lang.Thread.run(Thread.java:745)

Not sure why im getting region as not valid as i have made sure my Kinesis stream and app exists in us-west-1 from aws-console. 不确定为什么我的区域无效,因为我已经确保我的Kinesis流和应用程序存在于aws-console的us-west-1中。

EDIT:- 编辑:-

Now im getting error in below command for running kinesis stream 现在我在运行kinesis流的下面命令中得到错误

bin/run-example streaming.KinesisWordProducerASL streamname https://kinesis.us-west-1.amazonaws.com 1000 10

Error is:- 错误是: -

java.lang.ClassNotFoundException: org.apache.spark.examples.streaming.KinesisWordProducerASL
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.spark.util.Utils$.classForName(Utils.scala:233)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:732)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Not sure how can i register this class. 不知道我怎么能注册这个课程。 I also provided the --class param in spark submit command but that also not working. 我还在spark submit命令中提供了--class param,但这也没有用。

Resolved it by using the command as below:- 使用以下命令解决了它: -

bin/spark-submit --packages org.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.0  /Users/amitdhawan/Downloads/kinesis_wordcount_asl.py appname streamname https://kinesis.us-west-1.amazonaws.com us-west-1

Observe the square brackets are removed and also downgraded scala from 2.12 to 2.11 观察方括号被删除,并将scala从2.12降级到2.11

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 带有 django-storages 的 ImageField 导致:“解析 X-Amz-Credential 参数时出错;区域‘us-east-1’错误;期待‘us-west-1’” - ImageField with django-storages leads to: "Error parsing the X-Amz-Credential parameter; the region 'us-east-1' is wrong; expecting 'us-west-1'" boto us-gov-west-1地区 - boto us-gov-west-1 region sqs boto3:地址“https://us-west-2.queue.amazonaws.com/xxxx/my-name”对此端点无效 - sqs boto3: The address 'https://us-west-2.queue.amazonaws.com/xxxx/my-name' is not valid for this endpoint Spark流和kafka集成 - Spark streaming and kafka integration 获取错误名称'spark'未定义 - getting error name 'spark' is not defined spark结构化流:镶木地板分区名称唯一性 - spark structured streaming: parquet partition name uniqueness 为什么我的火花流工作变慢了 - why my spark streaming job getting slower 火花,cassandra,流,python,错误,数据库,kafka - spark, cassandra, streaming, python, error, database, kafka AWS产品API:什么是我们West 2的正确区域位置和URL - aws product api: what is the correct regional location and url for us west 2 "用于从美国城市名称中获取纬度和经度的 Python 模块" - Python module for getting latitude and longitude from the name of a US city
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM