尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

9.25学习笔记

9.25学习笔记
📅 发布时间:2026/6/21 6:33:50

环境速览(

节点 新装组件 端口 备注
node1 Hive3.1.3 + MySQL 8.0 + Spark3.5.0 3306/10000/8080 HiveServer2 WebUI
node2 Spark HistoryServer 18080 日志持久化到 HDFS
node3 Kafka 3.7.0 + ZooKeeper(复用) 9092 单 broker,topic=user_event

Metastore 三模式:内嵌、本地、远程;生产必用远程(MySQL/Postgres)。
ORC + Snappy 压缩比 ≈ 1:5,查询快 8× 于 Text。
动态分区:需开 set hive.exec.dynamic.partition=true,防止生成过多小文件用 distributed by + sort by。
Spark on YARN
部署模式:client(driver 在本地) vs cluster(driver 在 YARN AM)。
资源参数:
--num-executors 4 --executor-cores 2 --executor-memory 3g
Spark History 需提前 spark.eventLog.enabled=true 并指向 hdfs:///spark-logs。
Kafka → HBase 实时
Kafka Connect API 可插件式,但学习阶段用 Python kafka-python 裸写最快。
HBase 缓冲写:
htable.setAutoFlush(false, true) + put.setWriteToWAL(false)(允许少量数据丢失换吞吐)。
小文件规避:Kafka 分区数 = RegionServer 数 × 2,保证写分散。
实操流水
MySQL & Hive Metastore
bash

node1

yum install -y mysql-server
systemctl enable --now mysqld
mysql -e "CREATE DATABASE hivemetastore;"
mysql -e "CREATE USER 'hive'@'%' IDENTIFIED BY 'Hive#123';"
mysql -e "GRANT ALL ON hivemetastore.* TO 'hive'@'%';"

初始化 schema

schematool -dbType mysql -initSchema
Hive 基本命令
sql

CREATE TABLE ds_customer
STORED AS ORC
AS SELECT * FROM customer;
-- 1 GB 数据 182 s,ORC 后 208 MB
TPC-DS 查询 01
sql

-- 单表扫描 28 M 行
SELECT count(*) FROM ds_customer WHERE c_birth_year = 1988;
-- Hive 42 s,SparkSQL 9 s(见下)
Spark 部署
bash

解压到 /opt/spark,同步到 3 节点

spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node1:9000/spark-logs
spark.history.fs.logDirectory hdfs://node1:9000/spark-logs
start-history-server.sh
SparkPi(cluster 模式)
bash

spark-submit
--master yarn --deploy-mode cluster
--class org.apache.spark.examples.SparkPi
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.0.jar 1000

估算 Pi ≈ 3.141592,耗时 27 s(MapReduce Pi 18 s/1000 map)

因启动开销大,大作业才能体现优势

WordCount 1 GB 文本
表格

框架 耗时 吞吐
MapReduce 4 min 12 s 4.0 MB/s
Spark 1 min 05 s 15.7 MB/s
提速 ↓ 74 % ↑ 3.9×
Kafka 安装

node3

tar -zxvf kafka_2.13-3.7.0.tgz -C /opt
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 已存在,仅起 broker
bin/kafka-server-start.sh -daemon config/server.properties

创建 topic

bin/kafka-topics.sh --create --topic user_event --partitions 6 --replication-factor 2
Python 实时写 HBase
Python

from kafka import KafkaConsumer
import happybase

consumer = KafkaConsumer('user_event', bootstrap_servers='node3:9092')
conn = happybase.Connection('node1')
table = conn.table('user_event')

for msg in consumer:
key = msg.key.decode()
val = msg.value.decode()
table.put(key, {'cf:raw': val})
测试:
kcat -P -b node3:9092 -t user_event -K: <<< "u100:login"
HBase shell 能立刻 get 'user_event','u100'

相关新闻

  • 如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch
  • 文档抽取技术:实现金融保险业务流程自动化
  • 20250925

最新新闻

  • LPC21xx/22xx Flash编程与代码保护:ISP/IAP实战与CRP避坑指南
  • LinkSwift:九大网盘直链下载助手,告别限速的本地解析方案
  • 如何永久保存微信聊天记录?WeChatMsg完整指南帮你掌控个人数据
  • Qwen3.7-Max 实操指南:百炼平台调用、结构化输出与Token Plan配置
  • ARKit 6.0空间锚点动态持久化实战
  • 终极指南:如何在Mac上完美使用Xbox手柄驱动解决方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号