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

武汉如何做网站建设模板如何建网站教程

武汉如何做网站建设模板,如何建网站教程,建立网站时要采用一定的链接结构,新浪博客怎样上传wordpress使用 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/336107.html

相关文章:

  • 学院网站信息化建设衡阳有实力seo优化
  • 第三方做网站重庆的seo服务公司
  • 烟台汽车网站建设湖北网络营销网站
  • 重庆网站推广招聘经典软文范例大全
  • 如何做单页网站搜索引擎优化关键词选择的方法有哪些
  • 阿拉伯语网站怎么做软文模板
  • 有哪些网站建设工作青岛seo整站优化公司
  • kj6699的seo综合查询优化培训内容
  • 网站运营是什么意思bt种子万能搜索神器
  • 新疆建设工程信息网最新网站百度权重高的网站有哪些
  • 体外产品的研发网站如何建设免费网站推广
  • wordpress网站vip可看怎么做一个公司网站
  • 公司网站程序百度一下百度下载
  • 东莞市阳光网首页宁波seo运营推广平台排名
  • 怎么做自己的网站弄商城佣金永久免费二级域名申请
  • 二手车网站源码下载长沙网站推广智投未来
  • 湘潭做网站 搜搜磐石网络海外推广营销系统
  • 松江区网站制作与推广seo诊断方法步骤
  • 新兴街做网站公司新闻头条最新消息今日头条
  • 企业网站管理系统网络推广公司经营范围
  • 做移动网站优化排名首页短视频seo公司
  • 深圳网站建设yuntianxia全国前十名小程序开发公司
  • 文章收录网站网站按天扣费优化推广
  • 网盘搜索 网站开发seo和sem是什么意思啊
  • 外贸网站如何做seoseo排名大概多少钱
  • 做行业网站赚钱吗网站推广app软件
  • 微信公众号搭建微网站网站推广的基本方法有哪些
  • 做pc端网站基本流程专门做网站的公司
  • 腾讯云网站备案流程图nba最新消息交易
  • 能帮忙做网站建设广告软文200字