kyuubi 接入starrocks | doris

kyuubi 接入starrocks

一、环境

Hadoop集群

组件版本
Hadoop3.1.1
spark3.X
zookeeper3.X
Hive3.X

kyuubi 版本 1.7.1
starrocks 2.X
  已将kyuubi部署到yarn上,并且接入了spark3引擎,并通过Ambari进行kyuubi组件的管理,下面步骤为新增对starrocks集群的访问。

二、接入步骤

 假设安排hostA、hostB两个节点负责kyuubi与starrocks的对接。

2-1 在kyuubi中添加mysql连接包

1.登录hostA、hostB两个节点
2.cd到kyuubi 安装目录,cd ./…/kyuubi/externals/engines/jdbc/,将mysql-connector-java-8.0.28.jar放到当前目录下

2-2 新增starrocks分组

 因为配置为kyuubi 双引擎(Spark、Starrocks)访问,所以需要配置不同的zookeeper连接namespace。
1.登录Ambari
2.点击Ambari中的kyuubi组件
3.继续点击>CONFIGS>Config Group>Manage Config Groups增加starrocks配置分组
4.在新增的分组部署新的kyuubi节点(不要和Spark引擎分组节点重合,这里选择上面的hostA、hostB)

这一步相当于,新建一个kyuubi集群,新的kyuubi集群有hostA、hostB两个节点,并且置于Ambari的管理之下。可以理解为负责处理Spark连接的是一个独立的kyuubi集群、负责starrocks连接的又是另外一个集群,而且两个集群配置参数不一样。

2-3 配置参数
对starrocks配置分组(hostA、hostB两个节点),新增如下配置:
kyuubi.ha.zookeeper.namespace=kyuubi-starrocks
kyuubi.engine.type=jdbc
kyuubi.engine.jdbc.type=doris
kyuubi.engine.jdbc.driver.class=com.mysql.cj.jdbc.Driver
kyuubi.engine.jdbc.connection.url=jdbc:mysql://地址
kyuubi.engine.jdbc.connection.user=starrocks的用户名
kyuubi.engine.jdbc.connection.password=starrocks密码

  我们注意到,kyuubi.engine.jdbc.type=doris 这个参数设为doris,这是由于kyuubi 1.9才正式添加
starrocks的参数支持,这里可以先选择doris作为马甲替代

三、测试步骤

3-1 单点连接

./…/kyuubi/bin/beeline -u “jdbc:hive2://hostA:10009”/ -n 用户名 -p密码

3-2 zookeeper连接

./…/kyuubi/bin/beenline -u “jdbc:hive2://zookeeperHostA:2181,zookeeperHostB:2181… …zookeeperHostN:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi-starrocks” -n用户名 -p密码
 上面的zooKeeperNamespace=kyuubi-starrocks,对应在2-3章节设置的kyuubi.ha.zookeeper.namespace=kyuubi-starrocks参数。
 接starrocks是这样接,接入doris也是这样接。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kyuubi是一个开源的Spark SQL JDBC服务器,它允许通过JDBC连接来访问和查询Spark SQL。下面是使用Kyuubi JDBC连接Spark的步骤: 1. 首先,确保你已经下载并安装了Kyuubi服务器。你可以从Apache官方网站下载Kyuubi的发行版本。 2. 启动Kyuubi服务器。你可以使用以下命令启动Kyuubi服务器: ```shell ./bin/kyuubi-start.sh ``` 3. 在你的Java或Scala代码中,使用JDBC连接字符串连接到Kyuubi服务器。连接字符串的格式如下: ``` jdbc:hive2://<kyuubi-server-host>:<kyuubi-server-port>/<database-name> ``` 其中,`<kyuubi-server-host>`是Kyuubi服务器的主机名或IP地址,`<kyuubi-server-port>`是Kyuubi服务器的端口号,`<database-name>`是要连接的数据库名称。 例如,如果Kyuubi服务器运行在本地主机的10000端口,并且你要连接到名为"mydatabase"的数据库,连接字符串将如下所示: ``` jdbc:hive2://localhost:10000/mydatabase ``` 4. 使用合适的JDBC驱动程序连接到Kyuubi服务器。你可以使用Apache Hive提供的JDBC驱动程序,或者使用其他支持HiveServer2协议的JDBC驱动程序。 在Java中,你可以使用以下代码连接到Kyuubi服务器: ```java import java.sql.*; public class KyuubiJdbcExample { public static void main(String[] args) { String jdbcUrl = "jdbc:hive2://localhost:10000/mydatabase"; String username = "your-username"; String password = "your-password"; try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password)) { // 连接成功,可以执行SQL查询和操作 // ... } catch (SQLException e) { e.printStackTrace(); } } } ``` 在Scala中,你可以使用以下代码连接到Kyuubi服务器: ```scala import java.sql.DriverManager import java.sql.Connection object KyuubiJdbcExample { def main(args: Array[String]): Unit = { val jdbcUrl = "jdbc:hive2://localhost:10000/mydatabase" val username = "your-username" val password = "your-password" try { val connection = DriverManager.getConnection(jdbcUrl, username, password) // 连接成功,可以执行SQL查询和操作 // ... connection.close() } catch { case e: Exception => e.printStackTrace() } } } ``` 请注意,你需要将`your-username`和`your-password`替换为实际的用户名和密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值