kyuubi 接入starrocks
一、环境
Hadoop集群
组件 | 版本 |
---|---|
Hadoop | 3.1.1 |
spark | 3.X |
zookeeper | 3.X |
Hive | 3.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两个节点),新增如下配置:
bash
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也是这样接。