大数据平台搭建
1. 准备安装包本文所需的系统镜像、大数据软件安装包、开发环境软件安装包等都可以在我的百度云盘中下载。 对应仓库HBase:https://github.com/apache/hbaseHive:https://github.com/apache/hiveSpark:https://github.com/apache/spark 查看对应版本兼容HBase 与 Hadoop 版本兼容性Hive 与 Hadoop 版本兼容性Spark 与 Hive 集成兼容性 Windows下安装Ubuntu双系统 Hadoop等大数据开源框架是不支持Windows系统的,所以需要先安装一个Linux双系统。当然,如果你有一台单独的电脑用来安装Ubuntu系统,就不需要安装双系统了。 双系统安装请参考安装指南:第一步:制作系统启动U盘第二步:安装双系统 搭建Hadoop平台 Hadoop是Apache 公司开发的一款可靠的、可扩展性的、分布式计算的开源软件。以Hadoop分布式文件系统(HDFS)和分布式运算编程框架(MapReduce)为核心,允许在集群服务器上使用简单的编程模型对大...
查看 CPU 核心频率
1watch -n 1 grep \"cpu MHz\" /proc/cpuinfo
Python 装饰器
谈装饰器前,还要先要明白一件事,Python 中的函数和 Java、C++不太一样,Python 中的函数可以像普通变量一样当做参数传递给另外一个函数,例如: 1234567def foo(): print("foo")def bar(func): func()bar(foo) 正式回到我们的主题。装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景,装饰器是解决这类问题的绝佳设计。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 先来看一个简单例子,虽然实际代码可能比这复杂很多: 12def foo(): print('i am foo') 现在有一个新的需求,希望可以记录下函数的执行日志,于是在代码中添加日志代码: 123def foo():...
python-crontab 定时任务
安装1pip install python-crontab 注意:如果在使用CronTab的时候报错,报错信息为 got an unexpected keyword argument ‘user’ 可能是库安装错了,应该安装python-crontab而不是crontab。 使用案例 增加crontab任务,一般有两种方式 123456789101112131415161718192021222324from crontab import CronTab# 方法一# 创建cron访问cron = CronTab(user='root')# 增加新作业job = cron.new(command='echo hello_world')# 每一分钟执行一次job.minute.every(1)# 写入作业cron.write()# 方法二with CronTab(user='root') as cron: job = cron.new(command='echo hello_world') ...
压缩与解压
Linux系统tar、rar、7z、zip压缩解压缩命令使用 # 1.tar压缩解压缩 tar命令常见参数:必须的参数:(3个参数不能共存)-c :创建压缩文件c代表create。-x :解压缩文件-t :查看压缩包里面的文件辅助参数:-z :用 gzip 压缩/解压缩-j :用 bzip2 压缩/解压缩-v :显示压缩/解压缩的进度条-f :使用档名(注意:f后面不要接参数,也就是说-zxfv是不对的,要写成-zxvf) 打包:tar -cvf [目标文件名].tar [原文件名/目录名]解包:tar -xvf [原文件名].tar 实例:解压一个文件:tar -zxvf filename.tar.bz2(解压缩filename.tar.bz2)创建压缩文件:tar -zcvf filename.tar.bz2 file1.txt file2.txt(把file1.txt和file2.txt压缩成filename.tar.bz2)——————————————————————————————— 2.rar压缩解压缩安装: sudo apt...
DockerCheckPoint
checkpoint和restore是一个实验性的功能,它允许将一个正在运行的容器冻结,并且将其状态转换成磁盘上的文件集合,使你可以从checkpoint恢复容器的状态。checkpoint基于CRIU实现,CRIU是一个Linux应用程序,在用户空间将一个进程树冻结并将其状态保存到磁盘,使得容器或应用程序可以实时迁移,远程调试和快照等。CRIU的工作过程是: 冻结正在运行的应用程序 将整个进程树的地址空间和状态检查到镜像文件的集合 从检查点恢复进程树 从冻结点恢复应用程序 CRIU与Docker集成的现状以及使用方式从Docker 1.13开始,CRIU是Docker的实验性功能。 安装,由于CRIU是Docker的外部依赖,所以在使用Docker checkpoint之前,需要安装CRIU。 Debian 10 1234wget http://github.com/checkpoint-restore/criu/archive/v3.18/criu-3.18.tar.gzapt install libprotobuf-dev libprotobuf-c-dev pro...
Samba 文件共享服务器配置指南
官方文档 安装smb服务器我用的是Manjaro gnome 18,需要安装下面几个软件 12sudo su pacman -S samba nautilus-share manjaro-settings-samba 配置/etc/samba/smb.conf参数1) 安装上面软件之后,开始配置参数,先备份smb.conf1mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 2) 然后新建一个,写入如下参数 vim /etc/samba/smb.conf,这里感谢Conanx给我的参考!123456789101112131415161718192021222324252627[global]workgroup = WORKGROUP #所要加入的工作组或者域netbios name = Manjaro #用于在 Windows 网上邻居上显示的主机名security = user #定义安全级别map to guest = bad user #将所有...
Docker换源
Docker中国区官方镜像: https://registry.docker-cn.com 网易: http://hub-mirror.c.163.com ustc: https://docker.mirrors.ustc.edu.cn 中国科技大学: https://docker.mirrors.ustc.edu.cn 阿里云: https://cr.console.aliyun.com/ 腾讯云: https://mirror.ccs.tencentyun.com 1Panel: https://docker.1panel.live 创建或修改 /etc/docker/daemon.json 文件,修改: 12cd /etc/dockervim daemon.json 加入如下配置: 12345678910{ "registry-mirrors" : [ "https://registry.docker-cn.com", "http://hub-mirror.c.16...
Tesla vGPU 安装与授权
对于 Proxmox VE 8,需要使用16.0+版本的 vGPU 驱动程序,低版本的驱动程序不支持 Linux 6.x 内核 最近我刚升级了我的 NAS 主机,并且购买了一块 Tesla P4 显卡。我想把 vGPU 分配给虚拟机上的 Jellyfin 容器硬解使用,经过几天的研究,我简单总结了使用方法。关于如何使用硬解,我会在下一篇文章中进行说明。 术语说明简单介绍后面内容中的几个术语: vGPU vGPU 技术通过将硬件 GPU 分割成多个虚拟 GPU 以支持多个虚拟机。每个虚拟 GPU 可以被分配给不同的虚拟机,从而使多个虚拟机拥有“独显”。 vGPU-unlock 从硬件上来看,同代的数据中心显卡和消费者显卡 GPU 架构是一样的,只是驱动层限制了支持的特性。通过修改型号与宿主驱动等方式,将消费级显卡伪装成具有相同核心型号的专业卡,使得普通消费者显卡也可以支持虚拟化;对于虚拟机,同时在 vGPU 启动前后进行 hook,绕过特定检查、汇报虚假结果等,使得虚拟机的 vGPU 能正常启动。目前支持的消费卡型号可以参考此文章。 vGPU 授权机制 在宿主机上,驱动无...
Jellyfin Docker 部署与 GPU 硬件解码
现在来讲解如何在 Linux 服务器上,使用 Docker 版的 Jellyfin/Emby 搭配 vGPU 来实现硬件解码,本文同样适用于N卡直通用户。关于文件访问,推荐使用 NFS 将 NAS 上的文件挂载到 GPU 虚拟机上。 本文以 Debian 11 系统作为示例,理论上也适用于 Ubuntu 系统,不同发行版的用户请根据实际情况适当微调相关命令。 配置环境 安装 Docker 环境,版本不要低于23,具体安装方法略 安装 NVIDIA Container Toolkit,这是一组用于支持 NVIDIA GPU 的 Docker 容器的工具集,一共包含4个组件,分别为: NVIDIA Docker2:针对官方 Docker 引擎提供支持 NVIDIA GPU 的解决方案。 NVIDIA Container Runtime:基于 Docker 运行时的 NVIDIA GPU 加速解决方案。 NVIDIA device plugin for Kubernetes:支持在 Kubernetes 中使用标准名称分配 NVIDIA GPU。 NVIDIA ...






