Confluent Control Centre not starting for Confluent version 7.0.1

1k Views Asked by At

I've done my best to follow this website tutorial to locally install Kafka on my MacBook Pro M1 Max then run it using the command:
arch -x86_64 confluent local services start. Every time I start it up, I get random funny errors on Control centre not starting even after modifying the following line in the control-center-production.properties file:

confluent.controlcenter.internal.topics.replication=1
confluent.controlcenter.command.topic.replication=1
confluent.monitoring.interceptor.topic.replication=1
confluent.metrics.topic.replication=1

These have been updated because I'm currently only running one Kafka broker on my local machine. The error I now have is as shown below:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Users/samuelifere/Documents/Tutorials/Udemy/Kafka/confluent-7.0.1/share/java/acl/acl-7.0.1.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[2022-01-07 12:05:21,790] INFO [main] Capturing metrics for topic names _confluent-monitoring _confluent-metrics (io.confluent.controlcenter.streams.WindowExtractor)
[2022-01-07 12:05:21,792] INFO [main] transformerStore=MonitoringVerifierStore (io.confluent.controlcenter.streams.StreamsModule)
[2022-01-07 12:05:21,793] INFO [main] transformerStore=MonitoringTriggerStore (io.confluent.controlcenter.streams.StreamsModule)
[2022-01-07 12:05:21,793] INFO [main] transformerStore=TriggerActionsStore (io.confluent.controlcenter.streams.StreamsModule)
[2022-01-07 12:05:21,793] INFO [main] transformerStore=TriggerEventsStore (io.confluent.controlcenter.streams.StreamsModule)
[2022-01-07 12:05:21,793] INFO [main] transformerStore=AlertHistoryStore (io.confluent.controlcenter.streams.StreamsModule)
Exception in thread "main" com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error in custom provider, java.io.IOException: Unable to create parent directories of /var/lib/confluent/control-center/1/kafka-streams
  at io.confluent.controlcenter.streams.StreamsConfigModule.getStreamsStateDir(StreamsConfigModule.java:142) (via modules: com.google.inject.util.Modules$OverrideModule -> io.confluent.controlcenter.streams.StreamsConfigModule)
  while locating java.nio.file.Path annotated with @io.confluent.controlcenter.streams.StreamsConfigModule$StreamsStateDir()
    for the 4th parameter of io.confluent.controlcenter.streams.StreamsConfigModule.provideMonitoringStreamsConfig(StreamsConfigModule.java:56)
  at io.confluent.controlcenter.streams.StreamsConfigModule.provideMonitoringStreamsConfig(StreamsConfigModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> io.confluent.controlcenter.streams.StreamsConfigModule)
  while locating org.apache.kafka.streams.StreamsConfig
    for the 2nd parameter of io.confluent.controlcenter.streams.StreamsModule.provideMonitoringHeartbeatSender(StreamsModule.java:406)
  at io.confluent.controlcenter.streams.StreamsModule.provideMonitoringHeartbeatSender(StreamsModule.java:406) (via modules: com.google.inject.util.Modules$OverrideModule -> io.confluent.controlcenter.streams.StreamsModule)
  while locating io.confluent.controlcenter.streams.verify.MonitoringHeartbeatSender
    for the 5th parameter of io.confluent.controlcenter.streams.StreamsModule.provideVerifyTransformerSupplier(StreamsModule.java:290)
  at io.confluent.controlcenter.streams.StreamsModule.provideVerifyTransformerSupplier(StreamsModule.java:290) (via modules: com.google.inject.util.Modules$OverrideModule -> io.confluent.controlcenter.streams.StreamsModule)
  while locating io.confluent.controlcenter.streams.verify.VerifyTransformerSupplier
    for the 5th parameter of io.confluent.controlcenter.streams.StreamBuilderProvider.<init>(StreamBuilderProvider.java:219)
  while locating io.confluent.controlcenter.streams.StreamBuilderProvider
  at io.confluent.controlcenter.streams.StreamsModule.configure(StreamsModule.java:109) (via modules: com.google.inject.util.Modules$OverrideModule -> io.confluent.controlcenter.streams.StreamsModule)
  while locating io.confluent.controlcenter.streams.C3Streams$Builder

1 error
    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:186)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:87)
    at com.google.inject.Guice.createInjector(Guice.java:69)
    at com.google.inject.Guice.createInjector(Guice.java:59)
    at io.confluent.controlcenter.util.InjectorFactory.createInjectorHelper(InjectorFactory.java:109)
    at io.confluent.controlcenter.util.InjectorFactory.createInjectorForApplication(InjectorFactory.java:65)
    at io.confluent.controlcenter.application.ControlCenter.setInjector(ControlCenter.java:156)
    at io.confluent.controlcenter.application.ControlCenter.run(ControlCenter.java:69)
    at io.confluent.controlcenter.ControlCenter.main(ControlCenter.java:46)
Caused by: java.io.IOException: Unable to create parent directories of /var/lib/confluent/control-center/1/kafka-streams
    at com.google.common.io.Files.createParentDirs(Files.java:485)
    at io.confluent.controlcenter.streams.StreamsConfigModule.getStreamsStateDir(StreamsConfigModule.java:147)
    at io.confluent.controlcenter.streams.StreamsConfigModule$$FastClassByGuice$$35c672b2.invoke(<generated>)
    at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264)
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:60)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182)
    ... 9 more

Please, any help would be much appreciated!! Thanks in advance.

1

There are 1 best solutions below

4
OneCricketeer On

Based on the video that you showed in the comments, you need to enable the Rosetta terminal; this will properly emulate the x64 environment for all the binaries, not only the confluent command. After you enable the Rosetta feature, then you don't need to use arch -x86_64

Also, note that the video is using Confluent Platform 6.0.1, and there may be differences with 7.0.1

enter image description here