pom.xml依赖中有flink-table-planner-blink_2.11的依赖么? 确认下版本号。如果要再 IDE 中运行的话,确保没有加 
<scope>provided</scope>. 



> 在 2019年8月26日,17:25,ddwcg <3149768...@qq.com> 写道:
> 
> 
> hi,我指定了使用blinkplanner,还是报一样的错
> object StreamingJob {
>  def main(args: Array[String]) {
> 
>    val bsEnv = StreamExecutionEnvironment.getExecutionEnvironment
>    val bsSettings = 
> EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build()
>    val bsTableEnv = StreamTableEnvironment.create(bsEnv, bsSettings)
>    //val bsTableEnv2 = TableEnvironment.create(bsSettings)
>    bsEnv.execute("jobname")
>  }
> 
> 
> Exception in thread "main" org.apache.flink.table.api.TableException: Could 
> not instantiate the executor. Make sure a planner module is on the classpath
>       at 
> org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.lookupExecutor(StreamTableEnvironmentImpl.scala:329)
>       at 
> org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.create(StreamTableEnvironmentImpl.scala:286)
>       at 
> org.apache.flink.table.api.scala.StreamTableEnvironment$.create(StreamTableEnvironment.scala:366)
>       at com.test.StreamingJob$.main(StreamingJob.scala:13)
>       at com.test.StreamingJob.main(StreamingJob.scala)
>       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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
> Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could 
> not find a suitable table factory for 
> 'org.apache.flink.table.delegation.ExecutorFactory' in
> the classpath.
> 
> Reason: No factory implements 
> 'org.apache.flink.table.delegation.ExecutorFactory'.
> 
> The following properties are requested:
> batch-mode=false
> class-name=org.apache.flink.table.executor.BlinkExecutorFactory
> 
> The following factories have been considered:
> org.apache.flink.streaming.connectors.kafka.KafkaTableSourceSinkFactory
> org.apache.flink.table.catalog.GenericInMemoryCatalogFactory
> 
> 
> 
>> 在 2019年8月26日,15:07,Jark Wu <imj...@gmail.com> 写道:
>> 
>> Hi,
>> 
>> 你这个错误不是 kafka 的问题。 是 planner 使用的问题,如果要使用 blink planner,需要用 
>> EnvironmentSetting 声明 blink planner。
>> 详细请见: 
>> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/common.html#create-a-tableenvironment
>>  
>> <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/common.html#create-a-tableenvironment>
>> 
>> 
>> Best,
>> Jark
>> 
>>> 在 2019年8月26日,14:56,ddwcg <3149768...@qq.com> 写道:
>>> 
>>> 大家好,
>>> 升级到1.9后有几个问题:
>>> 1.现在的线上版本是1.7.2,以前的代码的kafka consumer是使用的FlinkKafkaConsumer011
>>> 
>>> val consumer = new FlinkKafkaConsumer011[String](kafkaTopic, new 
>>> SimpleStringSchema, properties)
>>> 但是现在这个类已经找不到了
>>> 
>>> 2.所以我使用了 FlinkKafkaConsumer
>>> val consumer = new FlinkKafkaConsumer[String](kafkaTopic, new 
>>> SimpleStringSchema(), properties)
>>> 不知道这个consumer背后对应的kafka版本是多少
>>> 
>>> 3.使用FlinkKafkaConsumer后报错,而且必须要引入flink-table-api-java-bridge_${scala.binary.version}
>>> 
>>>   不然会提示找不到类:Caused by: java.lang.ClassNotFoundException: 
>>> org.apache.flink.table.factories.StreamTableSourceFactory
>>> 
>>> 
>>> 
>>> 引入flink-table-api-java-bridge_${scala.binary.version}后还是报错:
>>> Exception in thread "main" org.apache.flink.table.api.TableException: Could 
>>> not instantiate the executor. Make sure a planner module is on the classpath
>>>     at 
>>> org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.lookupExecutor(StreamTableEnvironmentImpl.scala:329)
>>>     at 
>>> org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.create(StreamTableEnvironmentImpl.scala:286)
>>>     at 
>>> org.apache.flink.table.api.scala.StreamTableEnvironment$.create(StreamTableEnvironment.scala:366)
>>>     at 
>>> org.apache.flink.table.api.scala.StreamTableEnvironment$.create(StreamTableEnvironment.scala:336)
>>>     at com.test.StreamingJob$.main(StreamingJob.scala:52)
>>>     at com.test.StreamingJob.main(StreamingJob.scala)
>>>     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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
>>> Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: 
>>> Could not find a suitable table factory for 
>>> 'org.apache.flink.table.delegation.ExecutorFactory' in
>>> the classpath.
>>> 
>>> Reason: No factory implements 
>>> 'org.apache.flink.table.delegation.ExecutorFactory'.
>>> 
>>> The following properties are requested:
>>> batch-mode=false
>>> 
>>> The following factories have been considered:
>>> org.apache.flink.streaming.connectors.kafka.KafkaTableSourceSinkFactory
>>> org.apache.flink.table.catalog.GenericInMemoryCatalogFactory
>>> 
>>> 
>>> 我的pom文件如下:
>>> 
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-scala_${scala.binary.version}</artifactId>
>>> <version>${flink.version}</version>
>>> <scope>provided</scope>
>>> </dependency>
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
>>> <version>${flink.version}</version>
>>> <scope>provided</scope>
>>> </dependency>
>>> 
>>> <!-- Scala Library, provided by Flink as well. -->
>>> <dependency>
>>> <groupId>org.scala-lang</groupId>
>>> <artifactId>scala-library</artifactId>
>>> <version>${scala.version}</version>
>>> <scope>provided</scope>
>>> </dependency>
>>> 
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-connector-kafka_2.11</artifactId>
>>> <version>${flink.version}</version>
>>> <scope>compile</scope>
>>> </dependency>
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-table-common</artifactId>
>>> <version>${flink.version}</version>
>>> </dependency>
>>> 
>>> 
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-table-planner-blink_${scala.binary.version}</artifactId>
>>> <version>${flink.version}</version>
>>> </dependency>
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-table-api-scala-bridge_${scala.binary.version}</artifactId>
>>> <version>${flink.version}</version>
>>> </dependency>
>>> <dependency>
>>> <groupId>org.apache.flink</groupId>
>>> <artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
>>> <version>${flink.version}</version>
>>> </dependency>
>>> 
>>> 
>>> 谢谢大家
>> 
> 

回复