flink 的 yarn-session 命令说明
为什么写这一个说明呢?因为网上关于yarn-session命令都是错误的,导致集群无法启动,或者命令行参数不生效。
1. 网上常见命令 1bin/yarn-session.sh -n 2 -jm 1024 -tm 1024 -d
这个命令会启动一个flink的yarn-session集群,但是后面的参数都不生效(flink-1.15及以上, 本人只查看这个版本以后的代码。其它版本能否使用不清楚)。
这个原因是:flink的FlinkYarnSessionCli中对与未知参数的处理使用stopAtNonOptions=true的选项,导致后面的参数都失效, 而不会抛出Unrecognized option:异常。
2. 正确命令通过bin/yarn-session.sh -h 命令查看参数说明,可以发现这个命令中并没有-n这个参数,见下图。
12345678910111213141516171819Usage: Optional -at,--applicationType <arg> Set a custom application type ...
配置cpu调度与隔离
在hadoop集里,你可以配置cpu调度, 为应用程序容器分配具有所需 CPU 资源的最佳节点。
1. 配置资源计算器在ResourceManager和NodeManager节点,将capacity-scheduler.xml中的DefaultResourceCalculater修改为DominantResourceCalculator以启用cup调用。
Property: yarn.scheduler.capacity.resource-calculator
Value: org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
Example:
12345<property> <name>yarn.scheduler.capacity.resource-calculator</name> <!-- <value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</ ...
怎么启用cgroup2
本文介绍如何查看系统是否支持cgroup2,是否启用,以及如何启用cgroup2。
1. 查看系统是否支持cgroup21grep cgroup /proc/filesystems
输出包含nodev cgroup2,则表明系统支持cgroup2。
2. 查看系统是否启用cgroup21state -fc %T /sys/fs/cgroup
如果输出为tmpfs,则表明系统启用cgroup v1, 没有启用cgroup v2。如果输出为cgroup2fs,则表明系统启用cgroup2。
3. 启用cgroup2
在/etc/default/grub中的GRUB_CMDLINE_LINUX=添加systemd.unified_cgroup_hierarchy=1
修改完成后以root用户执行update-grub或sudo update-grub, 如果是ubuntu,则执行sudo grub2-mkconfig
执行apt/yum upgrade
重启系统并查看cgroup2是否启用
java运程调试
远程调试Java程序是一种在开发环境以外的服务器或设备上运行的Java应用进行调试的方法。这对于无法直接在IDE中运行和调试的应用尤其有用。以下是使用Java Remote Debugging的一般步骤:
1. 准备应用启动参数配置远程调试端口:在启动Java应用时,需要添加特定的JVM参数来启用远程调试模式。基本的参数格式如下:
jdk 1.5 - 1.8:
1-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=port
jdk 1.9+:
1-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:port
transport=dt_socket 指定使用套接字通信。
server=y 表示该Java进程作为调试服务器等待连接。
suspend=n 控制Java应用是否在启动时暂停,直到调试器连接 (n 表示不暂停,直接启动;y 表示暂停)。
address=*:port 指定监听的地址和端 ...
mac生成新的SSH密钥并添加到ssh-agent
可以使用SSH来访问Git服务与你的运程主机。通过SSH,你可以避免每次使用密码,而直使用本地计算机上的私钥文件进行身份验证。有关详细信息,请阅读什么是SSH。
由于一些安全性低的算法已经被弃用,所以这篇文章记录一下新的配置步骤。
生成新的SSH密钥
打开终端,输入ssh-keygen -t ed25519 -C "your_email@example.com"
如果你系统不支持ed25519,可以使用ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将以提供的电子邮件地址创建新的SSH密钥。
1> Generating public/private ALGORITHM key pair.
当系统提示“Enter a file in which to save the key”时,按回车键以使用默认值。请注意,如果以前创建了 SSH 密钥,则 ssh-keygen 可能会要求重写另一个密钥,在这种情况下,我们建议创建自定义命名的 SSH 密钥。 为此,请键入默认文件位置 ...
在Ubuntu22.04中安装cuda、cuDNN
Ubuntu 22.04 下安装cuda、cuDNN的过程。
一、检查是否安装nvidia显卡通过命令lspci | grep -i nvidia 查看是否安装nvidia显卡,如果有输出则说明系统有nvidia显示。输出如下:
100:05.0 3D controller: NVIDIA Corporation GP102GL [Tesla P40] (rev a1)
二、安装NVIDIA显卡的官方驱动
增加官方的apt源
从NVIDIA官网CUDA下载页面获取apt源。
如上图所示的界面,选择Linux –> x86_64 –> Ubuntu –> 22.04 –> deb(network), 具体的系统架构,根据真实系统进行选择。可以得到具体的安装命令。
执行安装命令
123wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1- ...
在Ubuntu22.04中安装KVM(二)--webvirtcloud
WebVirtCloud 是一个基于 Web 的 KVM 虚拟化管理工具。它允许管理员和用户从 Web 界面创建、管理和删除在 KVM 管理程序上运行的虚拟机。它基于 Django 构建,支持基于用户的授权和身份验证。使用 WebVirtCloud,您可以从单个安装管理多个 QEMU/KVM Hypervisor、管理 Hypervisor 网络和管理数据存储池。
因为在实体机上直接安装WebVirtCloud, 会出现比较多的问题,比如我已经安装了conda,但是安装手册里又要安装venv等问题。 所以这里选用docker进行webvirtcloud的安装。
这个可以直接通过webVirtCloud的wiki查看到https://github.com/retspen/webvirtcloud/wiki/Docker-Installation-&-Update, 这个链接有时可能需要科学上网。
也可以参考我同步的gitee仓库
我这里对几处地方进行修改,以方便大家参考。
安装步骤首先需要下载webvirtcloud, 可以webVirtCloud的wiki上的1-3步。
1 ...
在Ubuntu22.04中安装KVM(一)
KVM(Kernel-based Virtual Machine)是基于内核的虚拟机的首字母缩写, 这是一项集成在内核中的开源虚拟化技术。虚拟机是一种软件应用程序,可作为另一台实体计算机中的独立计算机使用。虚拟机与实体计算机共享 CPU 周期、网络带宽和内存等资源。KVM 是 Linux 操作系统组件,它为 Linux 上的虚拟机提供原生支持。自 2007 年以来,它已在 Linux 发行版中推出。
本文将介绍在Ubuntu22.04(jammy) 中如何安装KVM。
一、 安装准备在安装KVM前需要将Ubuntu的软件进行更新,并检查本系统是否支虚拟化,同时检查本系统是否能够运行KVM虚拟机。
1. 系统更新12sudo apt updatesudo apt upgrade
2. 检查本系统是否支虚拟化检查CPU是否支持KVM虚拟化,如英特尔处理器的VT-x(vmx)或AMD处理器的AMD-V(svm)虚拟化技术。可以通过运行如下命令,如果输出值大于 0,那么虚拟化被启用。如果虚拟化功能没有启用,请确保在系统的BIOS设置中启用虚拟化功能;同时确保CPU支持虚拟化技术。
1egre ...