我正在尝试使用 Apache Ignite 内置工具 SQLLine 连接到 Apache Ignite 服务器。我收到错误:java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.IgniteJdbcThinDriver
我在一个容器中运行 Apache Ignite,在另一个容器中运行 CentOS7。两个容器都在同一网络中运行(ping 双向工作)。尝试的连接是从 CentOS7 到 Apache Ignite。
Apache Ignite 似乎在默认配置下运行良好。在 CentOS7 容器中,我安装了Oracle JDK 12.0.1 ,并且文件夹中有Apache Ignite 2.7.0二进制文件。我还设置了IGNITE_HOME环境变量。
在这里(https://apacheignite-sql.readme.io/docs/sqlline),它说我可以使用以下命令连接到我的集群./sqlline.sh --verbose=true -u jdbc:ignite:thin://127.0.0.1/:但是,这会引发前面提到的错误。
SQLLine 应该与 Ignite JDBC 驱动程序一起提供。我尝试手动下载它们(https://apacheignite-sql.readme.io/docs/jdbc-driver#section-multiple-endpoints)。当我下载驱动程序时,据说是ignite-core-{version}.jar,我将其放在与文件相同的文件夹中sqlline.jar。
[root@bc72c4fbf47e bin]# ./sqlline.sh
sqlline version 1.3.0
sqlline> !connect jdbc:ignite:thin://172.19.0.2/
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal …Run Code Online (Sandbox Code Playgroud)