作者: 边城元元原文来源:https://tidb.net/blog/5c3992a3
一、背景
在安装 TiDB v6.0 的时候,使用的是离线包,安装 TiSpark 采用的方式是 在线安装的形式,使用 Tiup 扩容的方式安装 TiSpark 集群。并且最高的 TiSpark 版本是 TiSpark v2.4.1,没有最新的 Release TiSpark v2.5.1 。给自己提了个问题,能否离线安装 TiSpark ?目前我的浅层的理解是:在已有 Spark 集群的方式下可以实现离线安装 TiSpark。
使用 TiUP 扩容的方式没有找到离线安装 TiSpark 的钥匙🔑
二、准备环境
2.1 准备安装包
离线安装: https://pingcap.com/zh/product-community/#TiDB 6.0.0-DMR
1)下载安装包 tidb-community-server-v6.0.0-linux-amd64.tar.gz
2)下载 tookit tidb-community-toolkit-v6.0.0-linux-amd64.tar.gz
3)下载 Spark V3.1.3 https://dlcdn.apache.org/spark/spark-3.1.3/spark-3.1.3-bin-hadoop3.2.tgz
4)下载 TiSpark V2.5.1 https://github.com/pingcap/tispark/releases/download/v2.5.1/tispark-assembly-3.1-2.5.1.jar
2.2 Cluster111 拓扑
# cluster111.ymlserver_configs: tidb: log.slow-threshold: 300 binlog.enable: false binlog.ignore-error: false tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: schedule.leader-schedule-limit: 4 schedule.region-schedule-limit: 2048 schedule.replica-schedule-limit: 64 replication.location-labels: - hostpd_servers: - host: 10.0.2.15 # ssh_port: 22 # name: "pd-1" client_port: 2379 # peer_port: 2380tidb_servers: - host: 10.0.2.15tikv_servers: - host: 10.0.2.15 # ssh_port: 22 port: 20160 status_port: 20180 config: server.grpc-concurrency: 4monitoring_servers: - host: 10.0.2.15grafana_servers: - host: 10.0.2.15alertmanager_servers: - host: 10.0.2.15
复制代码
#####
mkdir -p /usr/local0/webserver/tidb/cd /usr/local0/webserver/tidb/tar -zxvf tidb-community-toolkit-v6.0.0-linux-amd64.tar.gztar -zxvf tidb-community-server-v6.0.0-linux-amd64.tar.gzcd ./tidb-community-server-v6.0.0-linux-amd64/sh local_install.sh source /root/.bash_profiletiup update clustertiup cluster list# 检测环境配置并尝试修正tiup cluster check ./cluster111.yml --user root -p --apply# 安装cluster111tiup cluster deploy cluster111 v6.0.0 ./cluster111.yml --user root -p# 启动集群tiup cluster start cluster111tiup cluster display cluster111
复制代码
2.3 离线安装 Cluster111
# 安装tiupcurl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | shsource /root/.bash_profiletiup update clustertiup cluster list# 检测环境配置并尝试修正tiup cluster check ./cluster111.yml --user root -p --apply# 安装cluster111tiup cluster deploy cluster111 v6.0.0 ./cluster111.yml --user root -p
# 启动集群tiup cluster start cluster111tiup cluster display cluster111
复制代码
三、离线安装 TiSpark v2.5.1
3.1 解压 spark-3.1.3-bin-hadoop3.2.tgz
# 替换 Sparkmkdir -p /usr/local0/webserver/tispark && tar -zxvf spark-3.1.3-bin-hadoop3.2.tgz -C /usr/local0/webserver/tispark/mv /usr/local0/webserver/tispark/spark-3.1.3-bin-hadoop3.2 /tidb-deploy/tispark-master-7077chown tidb.tidb -R /tidb-deploy/tispark-master-7077# 替换 TiSpark 包cp -rf tispark-assembly-3.1-2.5.1.jar /tidb-deploy/tispark-master-7077/jars/
复制代码
3.2 安装 openjdk8(略)
3.3 spark-defaults.conf 中增加配置
# sql扩展类spark.sql.extensions org.apache.spark.sql.TiExtensions# master节点spark.master spark://10.0.2.15:7077# pd节点 多个pd用逗号隔开 如:10.16.20.1:2379,10.16.20.2:2379,10.16.20.3:2379spark.tispark.pd.addresses 10.0.2.15:2379
复制代码
3.4 启动 Spark 集群
/tidb-deploy/tispark-master-7077/sbin/start-all.sh
3.5 在已有 Spark 集群上部署 TiSpark
3.5.1 启动 Spark-shell 的方式
# 启动 spark-shell/tidb-deploy/tispark-master-7077/bin/spark-shell --jars /tidb-deploy/tispark-master-7077/jars/tispark-assembly-3.1-2.5.1.jar # 执行 spark.sql("select ti_version()").collect
复制代码
3.5.2 启动 Spark-sql 的方式
# 启动 Spark-sql/tidb-deploy/tispark-master-7077/bin/spark-sql --jars /tidb-deploy/tispark-master-7077/jars/tispark-assembly-3.1-2.5.1.jar # 执行 select ti_version();
复制代码
3.5.3 spark master 的情况
五、总结
本篇实践了 以已有 Spark 集群的方式,实现离线安装 TiSpark v2.5.1,目前对 TiSpark 的理解还比较浅,后续会继续探索 TiSpark 的功能。
如果您 只读使用 TiUP 扩容的方式如何离线扩容方式安装 TiSpark 可以留言!
谢谢!
参考
https://tidb.net/blog/b54581d1
评论