Kubernetes部署Kylin新增SQL Server数据源及SQOOP安装问题咨询
问题解答
是否需要重新构建预装pip和SQOOP的镜像?
是,该操作是Kubernetes环境下的标准正确方案。因为K8s容器本身是无状态的,运行时直接在容器内安装的依赖会在Pod重启/重建后完全丢失,仅适合临时测试验证,生产环境必须将pip、SQOOP以及相关依赖都预打入自定义Kylin镜像中,保证调度后的Pod自动具备运行所需环境。
SQOOP部署所需安装包及路径配置
- 所需安装包:
- Apache SQOOP二进制安装包:选择
sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz(适配绝大多数Hadoop 2.x/3.x环境,不要下载源码包) - SQL Server JDBC驱动jar包:选择和你容器内JDK版本匹配的版本,如JDK8对应
mssql-jdbc-9.4.1.jre8.jar
- Apache SQOOP二进制安装包:选择
- 部署路径要求:
- 将SQOOP二进制包解压到统一的软件目录,如
/usr/local/sqoop,配置环境变量SQOOP_HOME=/usr/local/sqoop,同时将$SQOOP_HOME/bin加入系统PATH中 - 将SQL Server JDBC驱动jar包同时放置到两个路径:
$KYLIN_HOME/ext/、$SQOOP_HOME/lib/ - 修改
kylin.properties中的kylin.source.jdbc.sqoop-home配置值为你的实际SQOOP安装路径,即/usr/local/sqoop,不要沿用默认的HDP路径
- 将SQOOP二进制包解压到统一的软件目录,如
- 注意:Kylin对接SQL Server调用的是原生Apache SQOOP,不需要安装pysqoop,之前的pysqoop安装失败不影响正常对接。
额外配置校验项
- 先保证Kylin容器内已配置正确的Hadoop客户端环境变量:
HADOOP_HOME、HADOOP_CONF_DIR需正确指向对应路径,SQOOP运行依赖Hadoop客户端能力 - SQL Server侧配置校验:开启TCP/IP协议、1433端口对外开放、登录账号开启SQL Server混合认证模式、拥有目标库所有表的SELECT权限
- 连通性测试:部署完成后执行命令
sqoop list-databases --connect jdbc:sqlserver://你的SQLServer地址:1433;database=你的库名 --username 账号 --password 密码,如果能正常返回库列表则SQOOP链路配置正确
内容的提问来源于stack exchange,提问作者Stavros Koureas
相关产品推荐
相关产品推荐

