使用自签名 TLS 将 Dremio 连接到 MinIO

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Dremio 是一个开源的分布式分析引擎,为数据探索、转换和协作提供简单的自助服务界面。Dremio 的架构建立在 Apache Arrow(一种高性能列式内存格式)之上,并利用 Parquet 文件格式实现高效存储。有关 Dremio 的更多信息,请参阅Dremio 入门。

MinIO 是一款高性能的分布式对象存储系统,专为云原生应用而设计。它结合了可扩展性和高性能,使每个工作负载(无论要求多么苛刻)都触手可及。最近的基准测试在 GET 上实现了 325 GiB/s (349 GB/s),在 PUT 上实现了 165 GiB/s (177 GB/s),只有 32 个现成的 NVMe SSD 节点。

在本教程中,我们将向您展示如何配置 Dremio 以连接到使用自签名 TLS 证书的 MinIO。这是更常见的用例之一,我们让 SUBNET 的客户一次又一次地询问他们如何配置这样的东西。

MinIO 和 Dremio

让我们使用以下配置创建一个 kind 集群

kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane- role: worker- role: worker- role: worker- role: worker
kind create cluster --config kind-config.yml

将 MinIO 算子部署到我们上面创建的类集群。

kubectl minio init

创建一个 MinIO 租户,以便我们可以为 Demio 创建一个存储桶。

kubectl create ns tenant-nskubectl minio tenant create tenant-1 --servers 4 --volumes 4 --capacity 4Gi --namespace tenant-ns

获取 MinIO 租户凭据并记下它们。

kubectl get secrets/tenant-1-user-1 -n tenant-ns -oyaml | yq '.data."CONSOLE_ACCESS_KEY"' | base64 -dkubectl get secrets/tenant-1-user-1 -n tenant-ns -oyaml | yq '.data."CONSOLE_SECRET_KEY"' | base64 -d

端口转发到租户 minio 的服务,以便我们可以在后续步骤中使用 mc 它来访问它。

kubectl port-forward svc/minio -n tenant-ns 9443:443

为租户创建别名,并创建用于使用 Dremio 进行测试的示例存储桶。

mc alias set myminio https://localhost:9443/ WZaBqLMGYViJ0Sba XMPAlfUUM4rnaAnGTxPKzeYYcBiRlUVr --insecuremc mb myminio/openlake --insecure

克隆 openlakedremio github存储库。

git clone https://github.com/minio/openlakegit clone https://github.com/dremio/dremio-cloud-tools

复制 MinIO helm 值 YAML 并更新它们,如下所示。

cp ~/openlake/dremio/charts/values.minio.yaml ~/dremio-cloud-tools/charts/dremio_v2/
distStorage:type: "aws"aws:bucketName: "openlake"path: "/dremio"authentication: "accessKeySecret"credentials:accessKey: "9RW081BM1STLAWQHXS07"secret: "L2GCeGRpHUbaQwrCEcW7tnmExuhmUkYN4c2ly49E"extraProperties: |<property><name>fs.s3a.endpoint</name><value>minio.tenant-ns.svc.cluster.local</value></property><property><name>fs.s3a.path.style.access</name><value>true</value></property><property><name>dremio.s3.compat</name><value>true</value></property>

更新 dremio helm 模板以禁用证书检查。请注意,有多个文件需要更新。

dremio_v2/templates/dremio-coordinator.yaml

- name: DREMIO_JAVA_SERVER_EXTRA_OPTSvalue: >-{{- include "dremio.coordinator.extraStartParams" $ | nindent 12 -}}-Dzookeeper=zk-hs:2181-Dservices.coordinator.enabled=true-Dservices.coordinator.master.enabled=false-Dservices.coordinator.master.embedded-zookeeper.enabled=false-Dservices.executor.enabled=false-Dservices.conduit.port=45679-Dcom.amazonaws.sdk.disableCertChecking=true

dremio_v2/templates/dremio-executor.yaml

- name: DREMIO_JAVA_SERVER_EXTRA_OPTSvalue: >-{{- include "dremio.executor.extraStartParams" (list $ $engineName) | nindent 12 -}}-Dzookeeper=zk-hs:2181-Dservices.coordinator.enabled=false-Dservices.coordinator.master.enabled=false-Dservices.coordinator.master.embedded-zookeeper.enabled=false-Dservices.executor.enabled=true-Dservices.conduit.port=45679-Dservices.node-tag={{ $engineName }}-Dcom.amazonaws.sdk.disableCertChecking=true

`dremio_v2/templates/dremio-master.yaml

`

- name: DREMIO_JAVA_SERVER_EXTRA_OPTSvalue: >-{{- include "dremio.coordinator.extraStartParams" $ | nindent 12 -}}-Dzookeeper=zk-hs:2181-Dservices.coordinator.enabled=true-Dservices.coordinator.master.enabled=true-Dservices.coordinator.master.embedded-zookeeper.enabled=false-Dservices.executor.enabled=false-Dservices.conduit.port=45679-Dcom.amazonaws.sdk.disableCertChecking=true

更新所有配置后,使用 helm 图表安装 Dremio。

helm install dremio dremio_v2 -f dremio_v2/values.minio.yaml --namespace dremio --create-namespace

您可能需要等待几分钟才能确保所有 Dremio pod 都能正常运行

Dremio 启动后,验证openlake在存储桶中创建的新前缀。

mc ls myminio/openlake/dremio/uploads --insecure

端口转发 dremio-client 以访问 Dremio 控制台 http://localhost:9047。

kubectl port-forward svc/dremio-client -n dremio 9047

若要访问 Dremio 门户,请创建一个用户并加载一个示例文件,以便根据下面的屏幕截图运行查询进行验证。

创建新用户。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

添加新作业。

设置格式。

测试要运行的查询

验证上传到存储桶的示例 CSV 文件。

mc ls --summarize --recursive myminio/openlake/dremio/uploads --insecure

就这么简单。

最后的思考

MinIO 旨在为现代数据湖以及在其上运行的数据分析和 AI/ML 工作负载提供支持。MinIO 包括许多用于处理由许多小文件组成的大型数据集的优化,这在现代数据湖中很常见。

对于数据湖来说,也许更重要的是,MinIO保证了持久性和不变性。此外,MinIO 还对传输和驱动器中的数据进行加密,并使用 IAM 和基于策略的访问控制 (PBAC) 来调节对数据的访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用占内存,应用太耗电。不如冻起来!

在安卓系统中&#xff0c;一些不常用的系统组件、进程或顽固应用可能会持续在后台运行&#xff0c;占用宝贵的内存资源&#xff0c;导致手机出现卡顿、续航减少等问题。今天我将向您推荐几款实用的应用冻结工具&#xff0c;它们能够帮助您冻结或隐藏这些不必要的应用&#xff0…

最新PHP仿猪八戒任务威客网整站源码/在线接任务网站源码

资源介绍 老规矩&#xff0c;截图为亲测&#xff0c;前后台显示正常&#xff0c;细节功能未测&#xff0c;有兴趣的自己下载。 PHP仿猪八戒整站源码下载&#xff0c;phpmysql环境。威客开源建站系统&#xff0c;其主要交易对象是以用户为主的技能、经验、时间和智慧型商品。经…

Vue81-独享路由守卫

一、 独享路由守卫的定义 当只有某个特定的路由需要做校验的时候&#xff0c;可以在改路由组件规则的地方单独配置独属于改组件的路由守卫。 二、示例 1、需求 系统只在进入新闻路由页面的时候做校验。 2、代码实现 注意&#xff1a; 独享路由守卫&#xff0c;只有前置路由守…

Spring Gateway转发websocket原理

Spring Cloud Gateway简称Spring Gateway&#xff0c;它可以转发请求到后端微服务。Spring Gateway除了转发HTTP请求&#xff0c;也支持websocket请求。我们看下它是怎么实现的吧。 配置支持websocket转发 支持websocket转发&#xff0c;需要用到spring-cloud-starter-gatewa…

高通安卓12-OTA 升级

1.OTA介绍 OTA 英文全称是 Over-the-Air Technology&#xff0c;即空间下载技术的意思。 OTA 升级是 Android 系统提供的标准软件升级方式。它功能强大&#xff0c;可以无损失升级系统&#xff0c;主 要通过网络[例如 WIFI、3G]自动下载 OTA 升级包、自动升级&#xff0c;但…

TCP协议详解:三次握手与四次挥手

TCP协议详解:三次握手与四次挥手 目录 TCP协议详解:三次握手与四次挥手 一、TCP协议概述 二、TCP连接建立:三次握手 三、TCP连接释放:四次挥手 四、TCP协议的可靠性机制 五、TCP流量控制与拥塞控制 一、TCP协议概述 TCP(传输控制协议)是一种面向连接的、可靠的、基于…

Windows11系统自动获取电脑IPV6地址,并且开机自动发送到指定邮箱

废话&#xff1a;最近放假回家&#xff0c;在家里突然想玩游戏了&#xff0c;Steamdeck性能终归有限。部分游戏始终玩的不爽&#xff0c;想到之前了解到的SunshnieMoonlight串流的方案&#xff0c;远程调用家里的电脑打游戏&#xff0c;简直不要太爽。 一顿折腾之后配置好了所有…

发送短信v2

接口说明 接口英文名 newSendCloudBaseSms 功能描述 发送携带 URL Link 的短信 注意事项 短信内容 短信由签名和正文内容组成&#xff1a; 短信签名是位于短信正文前【】中的署名&#xff0c;小程序发送短信时&#xff0c;签名为小程序名称。 正文内容是由短信模板和变…

【职场人】“万事皆可”领导的职场囧途

故事单元一&#xff1a;无所不能的承诺 在我的公司里&#xff0c;有一位领导&#xff0c;我们戏称他为“万事皆可”先生。每当有新的任务或挑战出现时&#xff0c;他总是第一个站出来&#xff0c;拍着胸脯说&#xff1a;“没问题&#xff0c;交给我吧&#xff01;”他的这种自…

一种微弱故障特征增强的旋转机械故障诊断方法(MATLAB)

导致轴承失效的根本原因是由异常磨损和局部间的机械冲击所导致的。对轴箱轴承日常运转的下所产生的均匀磨损而言&#xff0c;其振动信号特征与正常轴承振动信号大致一样&#xff0c;随机性较强&#xff0c;其概率密度函数呈现出高斯分布的现象&#xff0c;但由于磨损所导致的不…

37 - 上级经理已离职的公司员工(高频 SQL 50 题基础版)

37 - 上级经理已离职的公司员工 selecte1.employee_id fromEmployees e1 left join Employees e2 on e1.manager_id e2.employee_id wheree2.manager_id is null and e1.manager_id is not null and e1.salary<30000;

《计算机英语》 Unit 5 Networking 网络

Section A Networking 网络 The need to share information and resources among different computers has led to linked computer systems, called networks, in which computers are connected so that data can be transferred from machine to machine. 不同计算机之间共享…

什么是正态分布

最重要的连续分布的通用名是概率密度函数&#xff0c;而标准正态分布&#xff08;Standard Normal Distribution&#xff09; 是最重要的概率密度函数。这个连续分布之所以重要&#xff0c;我认为是因为它非常常见&#xff0c;换句话说&#xff0c;我们会很常用到它。标准正态分…

C++基础编程100题-012 OpenJudge-1.3-10 计算并联电阻的阻值

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0103/09/ 描述 对于阻值为r1和r2的电阻&#xff0c;其并联电阻阻值公式计算如下&#xff1a; R 1/(1/r1 1/r2) 输入 两个电阻阻抗大小&#xff0c;浮点型&#xff0c;以一个空格分开。 输出 并联之后的阻…

【tomcat】tomcat系统架构以及核心启动流程

对于web后端开发工程师来说&#xff0c;tomcat作为一个应用服务器框架本质上就是一个HTTP服务Servlet容器。研究过spring、spring mvc源码的同学应该了解&#xff0c;spring mvc其实就是基于Servlet规范实现的请求的转发路由、转发处理。而Spring和SpringMVC就是通过web.xml文件…

如何在Java中使用正则表达式进行文本处理

如何在Java中使用正则表达式进行文本处理 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;正则表达式&#xff08;Regular Expressio…

python将音频文件从8kHz采样率转换为16kHz采样率,并保持双声道,立体声

要将音频文件从8kHz采样率转换为16kHz采样率&#xff0c;并保持双声道&#xff0c;可以使用Python中的pydub库&#xff0c;它简单易用&#xff0c;非常适合这类音频处理任务。但请注意&#xff0c;使用pydub之前需要确保你的系统中已安装ffmpeg&#xff0c;因为pydub依赖于ffmp…

Elasticsearch过滤器(Filter):原理及使用

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

Ruby编程语言学习

学习Ruby编程语言&#xff0c;你可以按照以下步骤进行&#xff1a; ### 1. 基础知识入门 #### 安装Ruby - 访问Ruby官网&#xff08;https://www.ruby-lang.org/&#xff09;下载适合你操作系统的版本。 - 对于Linux用户&#xff0c;可以使用包管理器安装。 #### 学习资源 -…

【MATLAB源码-第227期】基于matlab的北方苍鹰优化算法(NGO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 鼠群优化算法&#xff08;Rat Swarm Optimization, RSO&#xff09; 简介 鼠群优化算法&#xff08;Rat Swarm Optimization, RSO&#xff09;是一种模仿鼠类群体觅食行为的优化算法。该算法属于群体智能算法&#xff0c;通…