Help Center/ MapReduce Service/ FAQs/ Peripheral Service Interconnection/ What Can I Do If Jetty Is Incompatible with MRS when Open-Source Kylin 3.x Is Interconnected with MRS 1.9.3?
Updated on 2024-10-28 GMT+08:00

What Can I Do If Jetty Is Incompatible with MRS when Open-Source Kylin 3.x Is Interconnected with MRS 1.9.3?

For security purposes, MRS has upgraded some open-source third-party components that have serious security vulnerabilities. The upgrade causes the Jetty version compatibility issue when the open-source Kylin interconnects with MRS 1.9.3.

Perform the following operations to solve the issue:

  1. Install the MRS client on an ECS node. For details, see Using an MRS Client on Nodes Outside a Cluster. This operation uses the MRS client installation path /srv/client/ as an example.
  2. After the installation is complete, run the following commands to import the MRS client environment variable bigdata_env and the environment variables HIVE_CONF and HCAT_HOME required by Kylin.

    source /srv/client/bigdata_env

    export HIVE_CONF=/srv/client/Hive/config/

    export HCAT_HOME=/srv/client/Hive/HCatalog

  3. Install Kylin on the node where the MRS client is installed and specify KYLIN_HOME. For details, see the Kylin official website. For MRS 1.9.3, select Kylin for HBase 1.x for interconnection.

    export KYLIN_HOME=/srv/client/apache-kylin-3.0.2-bin-hbase1x

  4. Remove Jetty .jar packages from the /srv/client/Hive/Beeline/lib/ directory in the Hive client directory to prevent version conflicts.
    Jetty .jar packages:
    javax-websocket-server-impl-9.4.26.v20200117.jar
    websocket-server-9.4.26.v20200117.jar
    jetty-all-9.4.26.v20200117-uber.jar
    jetty-runner-9.4.26.v20200117.jar
    apache-jsp-9.4.26.v20200117.jar
  5. Start the Kylin service and check Kylin logs. In normal cases, the logs do not contain compatibility errors, such as java.lang.NoSuchMethodException and java.lang.ClassNotFoundException.

    $KYLIN_HOME/bin/kylin.sh start

  6. Access the native Kylin page at http://<hostname>:7070/kylin and run the sample Cube script ${KYLIN_HOME}/bin/sample.sh to check whether Kylin is running properly.