运行
Kubernetes
登录后可跨设备保存划线和私人笔记登录
本项目中的 Kubernetes 示例与脚本已在 Kubernetes 1.34.2(k3s v1.34.2+k3s1)上完成测试。
将 IDE 连接到 Kubernetes 上的 Ozone
设置 Ozone 和 Kubernetes
要在 Kubernetes 中启动 Ozone,你需要先安装 Kubernetes 和 kubectl。此外,还需要将 flekszible 二进制文件加入到你的 PATH 中。
- 构建项目:
mvn clean install -DskipShade -DskipTests cd <ozone-root>/hadoop-ozone/dist/target/ozone-X.X../kubernetes/examples/ozonesource ../testlib.shregenerate_resources
配置 IntelliJ
选择一些你喜欢的端口用于附加调试器。下面是一个示例配置,将 OM 连接到 5005 端口、SCM 连接到 6006 端口、S3G 连接到 7007 端口。
Run -> Edit Configurations... -> Add New Configuration -> Remote JVM Debug- Name:
om-0,Debugger mode:Attach to remote JVM,Host:localhost,Port:5005 - Name:
scm-0,Debugger mode:Attach to remote JVM,Host:localhost,Port:6006 - Name:
s3g-0,Debugger mode:Attach to remote JVM,Host:localhost,Port:7007
按照如下方式修改 Ozone 的启动配置,以使用你喜欢的端口:
在文件 <ozone-root>/hadoop-ozone/dist/target/ozone-X.X../bin/ozone 中:
- 将
OZONE_OM_OPTS="${RATIS_OPTS} ${OZONE_OM_OPTS}"替换为OZONE_OM_OPTS="${RATIS_OPTS} ${OZONE_OM_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" - 将
OZONE_SCM_OPTS="${RATIS_OPTS} ${OZONE_SCM_OPTS}"替换为OZONE_SCM_OPTS="${RATIS_OPTS} ${OZONE_SCM_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:6006" - 在
ozone-s3gateway中添加OZONE_S3G_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:7007"
在 Kubernetes 中启动 Ozone
启动 Kubernetes 服务器。例如,如果使用 k3s,则执行
sudo k3s server在一个新的终端中
cd <ozone-root>/hadoop-ozone/dist/target/ozone-X.X../kubernetes/examples/ozonekubectl apply -f .检查 Pod 是否正在运行:
kubectl get pods在后台启动端口转发
kubectl port-forward om-0 5005:5005 & kubectl port-forward scm-0 6006:6006 & kubectl port-forward s3g-0 7007:7007 &
将 IntelliJ 连接到 Kubernetes 集群
查看代码,并为你想要调试的部分设置断点
在 IntelliJ 中以 Debug 模式启动我们之前创建的 Remote JVM Debug 配置
一个使用示例是:在 bash 中读写对象,然后在 IntelliJ 的调试器中查看输出。例如,在
OMVolumeCreateRequest中设置一个断点,然后按如下方式创建卷以触发该断点:kubectl exec -it scm-0 bash ozone sh volume create testVolume
评论
登录后参与评论
正在加载评论…
KnowForge