当前位置: 首页 > wzjs >正文

武汉网站制作怎么做杭州最好的电商培训机构

武汉网站制作怎么做,杭州最好的电商培训机构,东莞建设网站官网住房和城乡,网站制作公司哪家南京大门安装制表白网站制作使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南 本文档详细介绍如何使用 kind 创建 Kubernetes 集群,并在其上使用 Helm 部署 StarRocks 集群(非高可用模式)。同时也包括如何访问 StarRocks 集群并导入数据。 目录 前提条件参考文档…

使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南

本文档详细介绍如何使用 kind 创建 Kubernetes 集群,并在其上使用 Helm 部署 StarRocks 集群(非高可用模式)。同时也包括如何访问 StarRocks 集群并导入数据。

目录

  • 前提条件
  • 参考文档
  • 第一部分:使用 kind 创建 Kubernetes 集群
  • 第二部分:使用 Helm 部署 StarRocks 集群
  • 第三部分:访问 StarRocks 集群
  • 第四部分:导入数据并验证
  • 常见问题与解决方案
  • 清理资源

前提条件

在开始之前,请确保已安装以下工具:

  • Docker
  • kind
  • kubectl
  • Helm
  • MySQL 客户端(推荐 8.0 版本)
  • curl

参考文档

  • StarRocks 使用 Helm 部署文档
  • StarRocks Operator 文档
  • StarRocks Kubernetes Operator GitHub 仓库

第一部分:使用 kind 创建 Kubernetes 集群

1.1 创建 kind 配置文件

创建一个配置文件 kind-config.yaml,内容如下:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-planeextraPortMappings:- containerPort: 30001hostPort: 30001protocol: TCP- containerPort: 30002hostPort: 30002protocol: TCP- containerPort: 30003hostPort: 30003protocol: TCP
- role: worker
- role: worker

这个配置定义了一个有 1 个控制平面节点和 2 个工作节点的集群,并映射了 3 个端口用于外部访问。

1.2 创建集群

kind create cluster --name starrocks-cluster --config kind-config.yaml

1.3 验证集群状态

kubectl cluster-info --context kind-starrocks-cluster
kubectl get nodes

第二部分:使用 Helm 部署 StarRocks 集群

2.1 添加 StarRocks Helm Chart 仓库

helm repo add starrocks https://starrocks.github.io/starrocks-kubernetes-operator
helm repo update

2.2 查看可用的 Chart

helm search repo starrocks

2.3 创建 values.yaml 文件

创建一个文件 starrocks-values.yaml,内容如下:

operator:enabled: trueresources:limits:cpu: 500mmemory: 1Girequests:cpu: 100mmemory: 256Mistarrocks:enabled: true# 配置 MySQL 密码passwd:root: "password123"fe:replicas: 1resources:limits:cpu: 2memory: 4Girequests:cpu: 500mmemory: 1Gistorage:size: 10Giservice:type: NodePortports:mysql:nodePort: 30001be:replicas: 1resources:limits:cpu: 4memory: 8Girequests:cpu: 500mmemory: 1Gistorage:size: 20Gicn:enabled: false

这个配置文件定义了一个非高可用的 StarRocks 集群,包含 1 个 FE 节点和 1 个 BE 节点。

2.4 部署 StarRocks 集群

helm install starrocks starrocks/kube-starrocks -f starrocks-values.yaml

2.5 检查部署状态

kubectl get pods
kubectl get starrockscluster

等待所有 Pod 状态变为 Running,StarRocks 集群状态变为 running

第三部分:访问 StarRocks 集群

3.1 创建服务来暴露 StarRocks 接口

为了外部访问,我们需要创建 3 个 NodePort 服务。

3.1.1 MySQL 服务(可能已由 Helm Chart 创建)

如果 MySQL 协议端口未自动暴露,创建文件 starrocks-mysql-service.yaml

apiVersion: v1
kind: Service
metadata:name: starrocks-mysql-nodeport
spec:type: NodePortports:- port: 9030targetPort: 9030nodePort: 30001protocol: TCPname: mysqlselector:app.kubernetes.io/component: feapp.starrocks.ownerreference/name: kube-starrocks-fe

应用配置:

kubectl apply -f starrocks-mysql-service.yaml
3.1.2 FE HTTP 服务

创建文件 starrocks-fe-http-service.yaml

apiVersion: v1
kind: Service
metadata:name: starrocks-fe-http
spec:type: NodePortports:- port: 8030targetPort: 8030nodePort: 30002protocol: TCPname: httpselector:app.kubernetes.io/component: feapp.starrocks.ownerreference/name: kube-starrocks-fe

应用配置:

kubectl apply -f starrocks-fe-http-service.yaml
3.1.3 BE HTTP 服务

创建文件 starrocks-be-http-service.yaml

apiVersion: v1
kind: Service
metadata:name: starrocks-be-http
spec:type: NodePortports:- port: 8040targetPort: 8040nodePort: 30003protocol: TCPname: httpselector:app.kubernetes.io/component: beapp.starrocks.ownerreference/name: kube-starrocks-be

应用配置:

kubectl apply -f starrocks-be-http-service.yaml

3.2 连接 StarRocks

3.2.1 使用 MySQL 客户端连接
mysql -h 127.0.0.1 -P 30001 -u root -ppassword123
3.2.2 如果连接遇到问题

可能需要确保安装的 MySQL 客户端版本与 StarRocks 兼容。推荐使用 MySQL 8.0 客户端:

# 卸载当前 MySQL 客户端(如果需要)
brew uninstall mysql# 安装 MySQL 8.0 客户端
brew install mysql-client@8.0# 添加到 PATH
export PATH="/opt/homebrew/opt/mysql-client@8.0/bin:$PATH"# 检查版本
mysql --version

第四部分:导入数据并验证

4.1 创建测试数据库和表

CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE IF NOT EXISTS users (id INT, name VARCHAR(50), age INT
) ENGINE=OLAP 
DISTRIBUTED BY HASH(id) BUCKETS 10 
PROPERTIES('replication_num' = '1');

4.2 准备测试数据

创建测试数据文件 test_data.csv

id,name,age
101,刘备,45
102,关羽,42
103,张飞,38
104,诸葛亮,27
105,赵云,30

4.3 使用 Stream Load 导入数据

创建脚本 stream_load.sh

#!/bin/bash# 设置环境变量
FE_HOST=127.0.0.1
FE_PORT=30002
BE_HOST=127.0.0.1
BE_PORT=30003
DB_NAME=test
TABLE_NAME=users
USER=root
PASSWORD=password123
FILE=test_data.csv# 第一步:向 FE 发送请求获取重定向 URL
echo "向 FE 发送请求获取重定向 URL..."
REDIRECT_RESPONSE=$(curl -v -X PUT -i "http://$FE_HOST:$FE_PORT/api/$DB_NAME/$TABLE_NAME/_stream_load" \-u "$USER:$PASSWORD" \-H "Expect: 100-continue" \-H "label:test_load_$(date +%s)" \-H "column_separator:," \-H "skip_header:1" \2>&1)echo "FE 响应: $REDIRECT_RESPONSE"# 从响应中提取 location 头部
LOCATION=$(echo "$REDIRECT_RESPONSE" | grep -i "location:" | awk '{print $2}' | tr -d '\r')
echo "重定向 URL: $LOCATION"# 从 location 中提取 URL 路径部分
URL_PATH=$(echo "$LOCATION" | sed -n 's|http://.*:[0-9]*/\(.*\)|\1|p')
echo "URL 路径: $URL_PATH"# 使用 BE NodePort 构建新的 URL
NEW_URL="http://$BE_HOST:$BE_PORT/$URL_PATH"
echo "新的 URL: $NEW_URL"# 第二步:向 BE 发送实际数据
echo "向 BE 发送数据..."
curl -v -X PUT "$NEW_URL" \-u "$USER:$PASSWORD" \-H "Expect: 100-continue" \-H "label:test_load_$(date +%s)" \-H "column_separator:," \-H "skip_header:1" \-T "$FILE"echo "导入完成。"

执行脚本导入数据:

chmod +x stream_load.sh
./stream_load.sh

4.4 验证数据导入

USE test;
SELECT * FROM users;

常见问题与解决方案

1. MySQL 客户端兼容性问题

问题

ERROR 2059 (HY000): Authentication plugin 'mysql_native_password' cannot be loaded

解决方案
使用兼容的 MySQL 客户端版本(推荐 MySQL 8.0)。


### 2. Stream Load 重定向问题**问题**:
StarRocks Stream Load 流程是先请求 FE,然后重定向到 BE,但是重定向 URL 指向集群内部,外部无法直接访问。**解决方案**:
使用自定义脚本(如上面的 `stream_load.sh`)处理重定向流程,将内部 URL 替换为 NodePort 访问 URL。### 3. Pod 无法启动**问题**:
Pod 长时间处于 `ContainerCreating` 或 `CrashLoopBackOff` 状态。**解决方案**:
- 检查 Pod 事件: `kubectl describe pod <pod-name>`
- 查看 Pod 日志: `kubectl logs <pod-name>`
- 检查资源限制是否合理
- 检查存储 PVC 是否正确创建### 4. 存储问题**问题**:
kind 集群默认使用临时存储,Pod 重启后数据会丢失。**解决方案**:
对于持久化需求,可以考虑使用 hostPath 卷或将 kind 配置为使用持久卷。### 5. 密码设置问题**问题**:
通过 values.yaml 设置的密码可能未生效。**解决方案**:
可以手动设置密码:
```sql
SET PASSWORD FOR 'root' = PASSWORD('your_password');

清理资源

当不再需要集群时,可以删除整个 kind 集群:

kind delete cluster --name starrocks-cluster

或者只删除 StarRocks:

helm delete starrocks

希望本指南对您部署和使用 StarRocks 有所帮助。如有任何问题,请参考官方文档或社区支持。

http://www.dtcms.com/wzjs/529899.html

相关文章:

  • 抖音点赞自助网站谷歌外链工具
  • 网站建设理由代运营服务
  • 大网站如何优化网络推广网站程序
  • 东莞网站设计找谁山西百度查关键词排名
  • 官网cms系统厦门seo网站管理
  • 网站案例模版百度浏览器网址
  • seo网站制作宁波网络推广seo软件
  • 自助网站济宁百度推广开户
  • 电脑建设网站服务器小程序模板
  • 做中英文网站公司百度官方营销推广平台加载中
  • 衢州市建设工程质量监督站网站域名查询注册商
  • wordpress创建滑块seo推广优化工具
  • 顶级复刻手表网站企业网站优化服务
  • 晋城 网站建设58同城黄页推广
  • 西安做企业网站排名湖南seo网站多少钱
  • 阿里云备案网站备案域名购买seo综合查询怎么用
  • 网站建设在哪里做比较好seo排名点击 seo查询
  • 人力资源和社会保障部信息中心沈阳seo网站关键词优化
  • 中国公路建设行业协会网站这么上不搜索引擎大全入口
  • 网站开发 待遇怎么样网站建设公司哪家好?该如何选择
  • 武汉网站建设团队电商营销推广方法
  • 做照片用的视频模板下载网站重庆网站优化软件
  • php动态网站开发难吗什么是软文营销?
  • 品牌传播策划方案网站优化建设
  • 高校网站建设方案查看别人网站的访问量
  • 学做美食视频在哪个网站网络营销网络推广
  • 网站的规划与建设智能网站推广优化
  • 济南网站建设飞鸟写软文的app
  • 电子商务概论亿唐网不做网站做品牌东莞网站制作模板
  • 百元建站百度竞价运营