confluentinc / ksql

The database purpose-built for stream processing applications.
https://ksqldb.io
Other
89 stars 1.04k forks source link

Error: Could not find or load main class io.confluent.ksql.rest.server.KsqlServerMain #2301

Open chetann opened 5 years ago

chetann commented 5 years ago

Hi All,

I did download the latest version of confluent package and created two things

  1. RPM and deployed it and the service works fine. OS details
    
    NAME="CentOS Linux"
    VERSION="7 (Core)"
    ID="centos"
    ID_LIKE="rhel fedora"
    VERSION_ID="7"
    PRETTY_NAME="CentOS Linux 7 (Core)"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:centos:centos:7"
    HOME_URL="https://www.centos.org/"
    BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

Now, I build it on k8s using dockerfile and service, the kdwl service fails to start with the error

Error: Could not find or load main class io.confluent.ksql.rest.server.KsqlServerMain

The Pod container OS details would look like this

cat /etc/os-release

NAME="Alpine Linux" ID=alpine VERSION_ID=3.8.1 PRETTY_NAME="Alpine Linux v3.8" HOME_URL="http://alpinelinux.org" BUG_REPORT_URL="http://bugs.alpinelinux.org"



Can someone help me out why it is running on an RPM based image and not on k8. I did go through similar issue histroy, but did not help.
https://github.com/confluentinc/ksql/issues/1793
https://github.com/confluentinc/ksql/issues/402
https://github.com/confluentinc/ksql/issues/2135

Can someone kindly help me out here if something I am missing out on.
OneCricketeer commented 5 years ago

You might want to include your Alpine-Based dockerfile here... But basically, you will need Java and Maven to be installed as part of the image, then you need to actually build the project to get the class to be picked up as part of the classpath.

OneCricketeer commented 5 years ago

Note: Alpine is not a supported OS