Untitled
RPC 机制
- RPC 的消息格式是什么?如何序列化和反序列化?
- 🔍 探索:KryoMessageCodec.java,消息头和消息体
- RPC 如何处理超时和重试?
- 🔍 探索:Rpc.call() 方法,Future 机制
- SASL 握手的流程是什么?
- 🔍 探索:SaslHandler.java,客户端和服务端的认证
- 如何保证 RPC 连接的安全性?
- 🔍 探索:secret 的生成和验证
REPL 实现
- Scala REPL 是如何集成的?
- 🔍 探索:ScalaInterpreter.scala,IMain 的使用
- PySpark 是如何执行的?与 Scala 有何不同?
- 🔍 探索:PythonInterpreter.scala,py4j 的使用
- 如何实现代码自动补全?
- 🔍 探索:completion() 方法,REPL 的 complete 接口
- 如何取消正在执行的 Statement?
- 🔍 探索:cancelStatement(),线程中断机制
SparkApp 监控
- YARN 应用状态是如何监控的?
- 🔍 探索:SparkYarnApp.yarnAppMonitorThread,轮询机制
- 如何从日志中提取 Application ID?
- 🔍 探索:searchAppIdFromLog() 方法,正则匹配
- 如何处理 Spark 应用的异常退出?
- 🔍 探索:isProcessErrExit() 方法
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.