Spark、Hadoop集群及Zeppelin的镜像具体构建过程
zeppelin官方文档:https://zeppelin.apache.org/docs/0.12.0/interpreter/spark.html阿里云hadoop镜像站:https://mirrors.aliyun.com/apache/hadoop/common/?spm=a2c6h.25603864.0.0.25594c98Zq721ospark下载地址:https://spark.apache.org/downloads.htmlhadoop官方下载:https://hadoop.apache.org/release/3.4.0.html
本文档详细记录了如何构建和部署一个集成了Spark、Hadoop和Zeppelin的Docker化环境。该环境旨在为数据工程师提供一个开箱即用的大数据分析平台。
如果只是希望能直接部署,请直接看本文中 docker-compose-with-zeppelin.yml 内容,然后直接 docker-compose -f docker-compose-with-zeppeli ...
Zeppelin部署使用
官方下载页面:https://zeppelin.apache.org/download.html官方文档页面:https://zeppelin.apache.org/docs/0.12.0/
1.背景:学习这个工具的原因,是因为后面想要调研——是否可以将 zeppelin 的spark解释器拆解出来集成到系统中。
2.核心功能与用途1. 支持多语言的 “交互式笔记本(Notebook)”这是 Zeppelin 最核心的功能,类似 Jupyter Notebook,但对大数据工具的适配更深入:
多语言内核支持
:自带对主流数据处理语言 / 框架的集成,无需额外复杂配置,例如:
大数据计算:Spark(Scala/Python/Java)、Flink、Hive、Pig;
脚本语言:Python、R、Shell、SQL;
其他:Markdown(写注释 / 报告)、JDBC(连接 MySQL/PostgreSQL 等关系型数据库)。
“代码块 + 即时执行” 模式:将代码拆分为多个 “段落(Paragrap ...
学习Spark4.0源码【1】——下载并运行spark并进行debug
官网文档:https://spark.apache.org/docs/4.0.0/
想要学习Spark4.0源码,第一步是搭建源码学习环境,然后学会如何将spark跑起来,并debug。
1.下载 Apache Spark 4.0.0
github地址:https://github.com/apache/spark
二进制发行版下载页面:https://spark.apache.org/downloads.html
如果你只需要使用spark,而不需要学习和修改源码 仅使用二进制发行版 即可。
如果想要学习源码,那就从github上拉取
1git clone https://github.com/apache/spark
并用IDEA打开项目就可以得到 Spark 4.0.0 啦。
123456789101112131415spark/├── core/ # 核心引擎├── sql/ # SQL引擎├── mllib/ ...
HDFS Kerberos认证问题排查与解决一、 问题现象项目在集成HDFS(带Kerberos认证)时,启动过程中遇到以下报错:
12345678910Caused by: java.lang.RuntimeException: HDFS配置初始化失败 at com.neutral.contract.config.HdfsConfig.buildConfiguration(HdfsConfig.java:112) ... 90 common frames omittedCaused by: java.io.IOException: Login failure for gdios@ZLG.COM from keytab /Users/kxr/IdeaProjects/gdios/javams-zlg-contract_service/src/main/resources/hdp/gdios@ZLG.COM.keytab: javax.security.auth.login.LoginException: Message stream modified (41) at org.apach ...
深入理解列式存储与向量化引擎前言在现代数据分析(OLAP)领域,性能是至关重要的。为了处理海量数据并实现近乎实时的查询响应,数据库和计算引擎的技术已经从传统的面向事务(OLTP)的设计,演进到了以列式存储(Columnar Storage)为基础,以向量化执行(Vectorized Execution)为核心的新范式。
本文档将详细拆解这两项关键技术,帮助你理解它们是什么、为什么需要、以及它们如何协同工作,创造出数量级的性能提升。
一、 列式存储(Columnar Storage)1.1 什么是列式存储?列式存储是一种数据在磁盘或内存中按列(Column)连续组织和存放的策略。
为了直观理解,我们来看一个简单的用户表示例:
UserID (整型)
Name (字符串)
Age (整型)
1
Alice
30
2
Bob
25
3
Charlie
35
存储方式对比
行式存储(Row-based / OLTP 常用)数据按行连续存放,一行的数据紧挨在一起。
1[1, 'Alice', 30], [2, 'Bob', ...
Linux 中被删除文件因进程占用导致磁盘空间未释放问题一、问题现象 / 发现
磁盘占用告警:执行 df -h 命令显示根分区(/dev/sda1)总容量 4.9G,已 100% 占用,可用空间为 0,导致系统无法写入新文件。
12Filesystem Size Used Avail Use% Mounted on/dev/sda1 4.9G 4.9G 0 100% /
磁盘统计矛盾:执行 du -h / --max-depth=1 统计根目录总占用仅 1.3G,与 df 显示的 4.9G 占用严重不符,存在 “隐藏占用”。
关键日志文件异常:通过手动排查进程文件描述符,发现 /var/log 下的多个核心日志文件(messages、syslog、auth.log 等)已被删除,但仍被进程占用,状态标记为 (deleted)。
12l-wx------ 1 root root 64 Aug 9 22:03 10 -> /var/log/messages (deleted)l-wx------ 1 root root 64 Aug ...
引言:从理论到实践在上一篇文档《数字签名与数字证书深度解析》中,我们深入探讨了数字签名与证书背后的密码学原理。但是理论是理论,实际上密钥长什么样,怎么生成、加密以及证书如何生成,还是需要自己去实践。
本篇将我通过终端,使用强大的openssl工具集,亲手模拟和复现数字签名与证书的全过程。你将直观地看到:
一个合法的签名如何被验证通过。
当文件被篡改或签名被伪造时,验证如何失败。
一个权威的CA是如何为他人签发“数字身份证”(证书)的。
一、 准备工作首先,我们需要一个工作目录和一份用于签名的原始文件。
123456# 创建一个名为 "openssl_practice" 的工作目录并进入mkdir -p openssl_practicecd openssl_practice# 创建一份模拟的合同文件echo "这是一份非常重要的合同文件,内容不可篡改。" > contract.txt
二、 实验一:标准的数字签名与验证我们将模拟小明生成密钥对,对contract.txt文件签名,然后小红使用其公钥进行验证。
步骤1:生成私钥小明首先 ...
引言:网络世界的“信任”难题在现实世界中,我们通过签名、印章、身份证和权威机构(如公安局、银行)来确认一个人的身份和一份文件的真实性。但在匿名的、数字化的网络世界里,我们如何解决这些根本性的信任问题?
**身份认证 (Authentication)**:我如何确定正在与我通信的,确实是我认为的那个人(或服务器),而不是一个冒名顶替者?
**数据完整性 (Integrity)**:我如何确保收到的信息在传输过程中没有被篡改?
**不可否认性 (Non-repudiation)**:如何防止发送方事后否认他们曾经发送过某条信息?
数字签名和数字证书,就是密码学为解决这三大难题提供的基石性技术。
看本篇之前也可以先看下我之前的这几篇文档:
《深入哈希函数:SHA-256的数学之旅》:https://kongxiaoran.github.io/2025/06/18/%E6%B7%B1%E5%85%A5%E5%93%88%E5%B8%8C%E5%87%BD%E6%95%B0%EF%BC%9ASHA-256%E7%9A%84%E6%95%B0%E5%AD%A6%E4%B9%8B%E6%97% ...
Linux 可信启动深度解析:从UEFI到操作系统的信任链[TOC]
引言在探讨了解学习虚拟化的安全方案(如HyperEnclave)时,我们经常会遇到动态信任根(DRTM)的概念。但DRTM的有效性,又依赖于一个稳固的静态信任根(Static Root of Trust for Measurement, SRTM)。这条SRTM信任链,构成了整个平台可信度的基石。
本文档的目的,就是完整地、系统性地梳理这条信任链。我们将从PC上电的瞬间开始,一路追踪信任的“接力棒”是如何从UEFI固件,传递给GRUB 2引导加载程序,并最终由Linux内核接管,将其延伸至每一个运行中的应用程序。
一、 可信根基:TPM与核心概念在深入流程之前,必须先对齐几个贯穿始终的核心概念。
1.1 什么是“度量” (Measurement)?在可信计算的语境里,“度量”就是一个动作:对一段数据(比如一个文件或一段代码)计算其密码学哈希值(如SHA-256)。
这个哈希值就像是这段数据的“数字指纹”,任何微小的改动都会导致指纹发生天翻地覆的变化。这个动作本身不提供安全,它只是提供了一种可验证的、唯一的身份标识。 ...
一起来学 Intel SGX前言Intel SGX 还是比较难学透的,因为可供学习的资料确实有限,并且 Intel 并没有开放其源码实现。所以我们仅能通过其官方上发布的一些手册和学术论文来学习。坦率的说,不是很容易学,还涉及到一些密码学知识。
Intel SGX Explained:https://eprint.iacr.org/2016/086.pdf
Intel® Software Guard Extensions (Intel® SGX) Developer Guide:
https://download.01.org/intel-sgx/sgx-linux/2.8/docs/Intel_SGX_Developer_Guide.pdf
Intel 官方文档搜索:https://www.intel.com/content/www/us/en/search.html?toplevelcategory=Developers&keyword=sgx#q=intel%20sgx&first=30&sort=relevancy
我写本文的目的其实很简单,就是想让自 ...









