CentOS7安装部署CDH6.2.1
文章目录
- CentOS7安装部署CDH6.2.1
- 一、前言
- 1.简介
- 2.架构
- 3.环境
- 二、环境准备
- 1.部署服务器
- 2.安装包准备
- 3.修改机器名
- 4.关闭防火墙
- 5.关闭 SELinux
- 6.Hosts文件
- 7.limits文件
- 8.设置swap空间
- 9.关闭透明巨页内存
- 10.免密登录
- 三、安装CM管理端
- 1.安装第三方依赖包
- 2.安装Oracle的JDK
- 3.安装lrzsz
- 4.安装ntp
- 5.安装MySQL
- 6.配置CM的yum源
- 7.CDH parcel包安装
- 8.CM 组件安装
- 四.配置CDH集群
- 1.CM欢迎页
- 2.集群安装欢迎页
- 五、高可用
- 1.Zookeeper高可用
- 2.HDFS高可用
- 3.添加服务
- 六、告警
- 1.CM 告警
- 2.集群告警
- 七、报错
- 报错1
- 报错2
- 报错3
- 报错4
- 报错5
- 报错6
CentOS7安装部署CDH6.2.1
一、前言
1.简介
Cloudera Manager 是一个用于管理 CDH 集群的端到端应用程序。Cloudera Manager 设定了标准 通过提供对 CDH 集群每个部分的精细可见性和控制,实现企业部署,使运营商能够提高性能、提高服务质量、增加 合规性并降低管理成本。借助 Cloudera Manager,您可以轻松部署和集中操作完整的 CDH 堆栈和其他托管服务。该应用程序自动执行 安装过程,将部署时间从几周缩短到几分钟;为您提供集群范围内正在运行的主机和服务的实时视图;提供单个中央控制台来制定配置 集群中的更改;并集成了全套报告和诊断工具,可帮助您优化性能和利用率。本入门书介绍了基本概念、结构、 和Cloudera Manager的功能。
2.架构
Cloudera Manager Server 可与其他几个组件配合使用:
- 代理(Agent):安装在每台主机上。代理负责启动和停止进程、解压缩配置、触发安装以及 监视主机。
- 管理服务(Management Service):由一组执行各种角色组成的服务 监视、警报和报告功能。
- 数据库(Database):存储配置和监视信息。
- Cloudera Repository :由ClouderaManager分发的软件存储库。
- 客户端(Clients):是与服务器交互的接口:
- Admin Console: 基于 Web 的 UI,Admin 可用于管理集群和 Cloudera Manager 。
- API:开发人员用来创建自定义 Cloudera 的 API 管理器应用程序。
3.环境
- Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
- JDK 版本:Java SE Development Kit 11.0.19
- CDH 版本:6.2.1
Cloudera Manager Overview | 6.2.x:https://docs.cloudera.com/documentation/enterprise/6/6.2/topics/cm_intro_primer.html
Cloudera Installation Guide | 6.2.x:https://docs.cloudera.com/documentation/enterprise/6/6.2/topics/installation.html
CDH 6.2.1 Packaging:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_62_packaging.html#cdh_621_packaging
CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916
CentOS7安装部署Doris:https://blog.csdn.net/u011424614/article/details/132419397
二、环境准备
1.部署服务器
机器名 | IP | 角色 | 硬件配置 |
---|---|---|---|
cdh001 | 192.168.249.121 | 主节点 | 4核 16G |
cdh002 | 192.168.249.122 | 从节点 | 4核 8G |
cdh003 | 192.168.249.123 | 从节点 | 4核 8G |
2.安装包准备
- 百度云盘
链接: https://pan.baidu.com/s/1ToePLghssMMxFnk-AiEkhQ
提取码: xvgx
- 所有节点创建目录
mkdir /root/download
- 将下载的文件夹,上传到 cdh001 的 /root/download 目录
3.修改机器名
执行机器:所有节点
- 修改 3 台服务器的机器名
#-- cdh001
hostnamectl set-hostname cdh001 --static
hostnamectl set-hostname cdh001 --transient#-- cdh002
hostnamectl set-hostname cdh002 --static
hostnamectl set-hostname cdh002 --transient#-- cdh003
hostnamectl set-hostname cdh003 --static
hostnamectl set-hostname cdh003 --transient
4.关闭防火墙
执行机器:所有节点
systemctl stop firewalld
systemctl disable firewalld# 状态
systemctl status firewalld
5.关闭 SELinux
执行机器:所有节点
- 临时关闭
setenforce 0
- 永久关闭
vim /etc/selinux/config
编辑内容
# SELINUX=enforcing 改为 SELINUX=disabled
SELINUX=disabled
6.Hosts文件
执行机器:所有节点
- 配置IP和机器名的映射
cat > /etc/hosts <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.249.121 cdh001
192.168.249.122 cdh002
192.168.249.123 cdh003
EOF
7.limits文件
执行机器:所有节点
- 设置用户最多可打开的文件数、进程数、内存占用
cat > /etc/security/limits.conf <<EOF
* soft nofile 32728
* hard nofile 1024999
* soft nproc 65535
* hard noroc unlimited
* soft memlock unlimited
* hard memlock unlimited
EOF
- 更新参数
sysctl -p
8.设置swap空间
执行机器:所有节点
- 输出交换分区的使用情况
cat /proc/sys/vm/swappiness
- 修改文件内容
echo 10 > /proc/sys/vm/swappiness
echo "vm.swappiness = 0" >> /etc/sysctl.conf
- Cloudera 建议将交换空间设置为 0,过多的交换空间会引起 GC 耗时激增
9.关闭透明巨页内存
执行机器:所有节点
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
- 配置到文件
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
#避免重启后不生效,设置执行权限
chmod +x /etc/rc.d/rc.local
10.免密登录
执行机器:zdb001
# 生成公钥和私钥;如果不设置密码,三次回车
ssh-keygen -t rsa# 复制公钥和私钥,输入对应机器的root用户密码
ssh-copy-id root@cdh001
ssh-copy-id root@cdh002
ssh-copy-id root@cdh003
三、安装CM管理端
1.安装第三方依赖包
执行机器:所有节点
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb httpd mod_sslyum -y install bind-utils psmisc cyrus-sasl-plain libaio cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
2.安装Oracle的JDK
执行机器:所有节点
- 将 cdh001 的 JDK 安装包拷贝到其它两台机器
# 拷贝到 192.168.249.122
scp /root/download/cdh6.2.1/cloudera-repos-6.2.1/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm root@192.168.249.122:/root/download/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm# 拷贝到 192.168.249.123
scp /root/download/cdh6.2.1/cloudera-repos-6.2.1/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm root@192.168.249.123:/root/download/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
- 安装 JDK
# 查询已安装的java
rpm -qa | grep java# 卸载
yum -y remove java*# cdh001执行
cd /root/download/cdh6.2.1/cloudera-repos-6.2.1/
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm# cdh002 和 cdh003 执行
cd /root/download
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
- 配置环境变量
vim /etc/profile
- 写入内容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export PATH=$PATH:$JAVA_HOME/bin
- 更新环境变量
source /etc/profile
3.安装lrzsz
执行机器:所有节点
- 类似 ftp 的上传和下载工具
rpm -qa | grep lrzsz# 如果已安装,可忽略
yum -y install lrzsz
4.安装ntp
1)设置中国时区
- 修改时区;如已修改过,可跳过
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 验证
date
2)安装 ntp
执行机器:所有节点
- 用于各个机器的时间同步
rpm -qa | grep ntp# 如果已安装,可忽略
yum -y install ntp
- 管理 ntp 服务
# 启动
systemctl start ntpd.service
systemctl enable ntpd.service
# 重启
systemctl restart ntpd.service
# 关闭
systemctl stop ntpd.service
systemctl disable ntpd.service
# 状态
systemctl status ntpd.service
3)选一台机器作为 ntp 服务端
执行机器:cdh001
vim /etc/ntp.conf
- 注释其它 server , 采用本地时间作为集群时间,且允许内网时间同步
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10
4)其它机器作为 ntp 客户端,同步服务端的时间
执行机器:cdh002、cdh003
- 使用 crontab 实现每隔 30 分钟同步一次内网一台机器的时间
crontab -e
30 * * * * /usr/sbin/ntpdate cdh001; /sbin/hwclock -w
- crontab 格式
* * * * * command
分 时 日 月 周 命令
5.安装MySQL
执行机器:cdh001
- MySQL connector 包
# 创建目录
mkdir -p /usr/share/java# 安装包目录
cd /root/download/cdh6.2.1
# 解压
tar -zxvf mysql-5.7/mysql-connector-java-5.1.47.tar.gz# 移动到新建目录下,并改文件名为 mysql-connector-java.jar
cd mysql-connector-java-5.1.47
mv mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
# 设置权限
chmod 755 /usr/share/java/mysql-connector-java.jar
- 安装 MySQL 服务
# 检查 mariadb 是否安装
rpm -qa|grep mariadb# 卸载 mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64# 解压 MySQL 安装包
cd /root/download/cdh6.2.1
tar -xvf mysql-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar# rpm 安装
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
- 配置 MySQL 参数
cat > /etc/my.cnf <<EOF
[mysqld]
basedir = /usr/local/mysql
datadir = /var/lib/mysql
port = 3306
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0server_id=1
max-binlog-size = 500M
log_bin=/var/lib/mysql/mysql_binary_log
#binlog_format = mixed
binlog_format = Row
expire-logs-days = 14max_connections = 550
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidsql_mode=STRICT_ALL_TABLES
skip-ssl
EOF
- 启动 MySQL
# 注意保存初始化生成的临时密码
# [Note] A temporary password is generated for root@localhost: q5TP/wdFjN?i
mysqld --initialize --user=mysql# 启动
systemctl start mysqld.service
systemctl enable mysqld
- 修改密码和远程访问权限
mysql -u root -p
# 设置密码
set password for root@localhost = password('cdh123Z');
# 设置远程权限
use mysql;
update user set host='%' where user='root' and host='localhost';
flush privileges;
# 备用
quit;
- 创建默认数据库
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- 查询现有数据库
show databases;
6.配置CM的yum源
执行机器:cdh001
- 安装和启动 http 服务器
yum install httpd
# 启动
service httpd start
systemctl enable httpd.service
- 创建 CM 的 yum 源
# 创建 yum 源目录
mkdir -p /var/www/html/cloudera-repos/repodata# 安装包目录
cd /root/download/cdh6.2.1
# 复制 CM 的文件夹
cp -r cloudera-repos-6.2.1/. /var/www/html/cloudera-repos/cd /var/www/html/cloudera-repos/# 安装 createrepo
yum -y install yum-utils createrepo
# 创建 repodata
createrepo .# yum 清理
yum clean all
- 访问 yum 源:http://cdh001/cloudera-repos/ 或 http://192.168.249.121/cloudera-repos/
如无法访问,请注意配置 Hosts 文件
7.CDH parcel包安装
执行机器:cdh001
# 创建 parcel 包存放目录
mkdir -p /opt/cloudera/parcel-repo# 安装包目录
cd /root/download/cdh6.2.1
cp -r parcel-6.2.1/. /opt/cloudera/parcel-repo# 创建 cloudera-scm 用户
useradd --system --home=/opt/cloudera-manager/cm-6.2.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
# 修改用户组
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/cd /opt/cloudera/parcel-repo
#校验 parcel 文件
sha1sum CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel
# 查看.sha1 内容
cat CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1
# 如果一样,直接将后缀 .sha1 改为 .sha
# 如果不一样,将 sha1sum 后的值替换到 .sha1 文件中 并改为 .sha
mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1 CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha
8.CM 组件安装
执行机器:cdh001
- 安装 CM 组件
# 主节点(cdh001)导入 GPGkey
rpm --import http://cdh001/cloudera-repos/RPM-GPG-KEY-cloudera# 顺序安装
# 所有节点安装 daemons
yum -y localinstall http://cdh001/cloudera-repos/cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm
# 主节点(cdh001)安装 server
yum -y localinstall http://cdh001/cloudera-repos/cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm
# 所有节点安装 agent
yum -y localinstall http://cdh001/cloudera-repos/cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm# 主节点(cdh001)初始化数据库
# /opt/cloudera/cm/schema/scm_prepare_database.sh 数据库类型 数据库名 用户名 密码
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root cdh123Z
- 修改 CM Agent 配置文件
执行机器:cdh002、cdh003
# 配置CM Server的Host
sed -i '/server_host=/cserver_host=cdh001' /etc/cloudera-scm-agent/config.ini
- 启动 CM 服务
# 启动server(主节点 cdh001 执行)
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
# 启动agent(所有节点执行)
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent
# 服务状态
systemctl status cloudera-scm-server
systemctl status cloudera-scm-agent
四.配置CDH集群
执行机器:cdh001
1.CM欢迎页
CM管理端配置CDH集群
- 登录 CM 管理端:http://cdh001:7180 或 http://192.168.249.121:7180/
- 默认账号和密码:admin || admin
- 欢迎页
- 用户协议
- 选择免费版
2.集群安装欢迎页
- 填写集群名称
- 切换到【当前管理的主机】,勾选所有主机
- 点击【更多选项】按钮,填写 “远程 Parcel 存储库 URL”
- 远程 Parcel 存储库 URL:【http://cdh001/cloudera-repos/cm6】,其它链接可删除
- 等待 CDH 安装完成
- 点击 【Inspect Network Performance】 按钮 和 【Inspect Hosts】按钮,检查集群网络环境和主机状态
- 根据需要,选择要安装的服务,这里选择 【自定义服务】
- 自定义角色分配
- 数据库设置,填写数据库信息后,点击【测试连接】按钮
- 审核更改,默认存储目录
- 等待安装完成
- 安装完成
五、高可用
1.Zookeeper高可用
- 点击
zookeeper
实例
-添加角色实例
选择主机
- 勾选 cdh002 和 cdh003
- 安装之后,重启服务
2.HDFS高可用
- 提前清理目录(cdh001执行)
rm -rf /dfs/nn
- 点击
HDFS
操作
-启用 HighAvailability
- 修改 nameservice 名称
- 选择角色的主机
- 编辑 NameNode 数据目录和 JournalNode 目录,注意:设置的目录与前面清理目录关联
- 等待部署完成后,重启服务
3.添加服务
- 集群操作 -
添加服务
- 选择服务
六、告警
1.CM 告警
2.集群告警
- 点击蓝色文字,根据提示修改配置
七、报错
报错1
- 提示信息
# 集群配置 - 数据库设置
JDBC driver cannot be found. Unable to find the JDBC database jar on host : cdh003.
- 解决方法
方案一:查看 Hive、Activity Monitor、Hue 是否已选择 cdh001,因为 cdh001 安装了 MySQL
方案二:/usr/share/java/mysql-connector-java.jar
是否有 MySQL 连接驱动
报错2
- 提示信息
对当前 NameNode 的名称目录进行格式化。如果名称目录不为空,此操作将失败。
- 解决方法
rm -rf /dfs/nn
报错3
- 提示信息
Failed to start namenode.
java.io.IOException: NameNode is not formatted.at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:237)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1084)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:709)at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:665)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:727)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:950)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:929)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1653)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1720)
- 解决方法
hdfs namenode -format
报错4
- 提示信息
场景说明:终端执行 hdfs dfs -ls /tmp
时,提示一下信息
ls: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
- 原因
HDFS 高可用模式下,执行的 NameNode 处于 standby 状态
- 解决方法
- 编辑配置文件
vim /etc/hadoop/conf/core-site.xml
vim /etc/hadoop/conf.cloudera.hdfs/core-site.xml
- 将配置改成 active 状态的 NameNode
<property><name>fs.defaultFS</name><value>hdfs://cdh002:8020</value>
</property>
- 重启 HDFS ,配置才会生效
报错5
- 提示信息
不良 : Canary 测试无法为 /tmp/.cloudera_health_monitoring_canary_files 创建父目录。
- 解决方法
-
创建
/tmp
目录; -
创建完成后,HDFS 会自动创建
.cloudera_health_monitoring_canary_files
文件夹
hdfs dfs -ls /tmpsudo -u hdfs hdfs dfs -mkdir /tmp
报错6
- 报错提示
场景说明:在 NameNode 的 Web UI 中创建文件夹时,提示一下信息
Permission denied: user=dr.who, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
- 解决方法
-
HDFS =
配置
- 搜索hdfs-site
-hdfs-site.xml 的 HDFS 服务高级配置代码段(安全阀)
-
配置 dfs.permissions.enabled = false
相关文章:

CentOS7安装部署CDH6.2.1
文章目录 CentOS7安装部署CDH6.2.1一、前言1.简介2.架构3.环境 二、环境准备1.部署服务器2.安装包准备3.修改机器名4.关闭防火墙5.关闭 SELinux6.Hosts文件7.limits文件8.设置swap空间9.关闭透明巨页内存10.免密登录 三、安装CM管理端1.安装第三方依赖包2.安装Oracle的JDK3.安装…...

海思Hi3519DV500边缘计算盒子-英码IVP09A,双核A55 64位处理器
产品简介 IVP09A是英码科技推出的边缘计算智能工作站,搭载双核 Cortex-A55 架构AI 处理器;内置高效的神经网络推理引擎,提供2.5TopsNPU算力;支持多路视频图像识别硬件加速。IVP09A,高效能低成本、稳定易开发、多点布线、联网管控…...

理解数据库
文章目录 一、了解什么是信息1.1 信息和数据1.1.1 信息 (information)1.1.2 数据 (Data) 1.2 数据处理 二、如何描述数据具备的信息2.1 数据库的一些术语: 三、数据模型3.1 概念模型 E-R,是对信息世界的建模…...

RHCE---Shell基础 2
文章目录 目录 文章目录 前言 一.变量 概述 定义 自定义变量 环境变量 概述: 定义环境变量: 位置变量 "$*"会把所有位置参数当成一个整体(或者说当成一个单词 变量的赋值和作用域 read 命令 变量和引号 变量的作用域 变…...

Git报错解决
本篇主要汇总在使用 Git 进行提交和拉取文件时,遇到的问题的解决方案,以便下次查找。 1 关于使用Git出现“git Failed to connect to 127.0.0.1 port xxxx: Connection refused”的问题解决方案 1. 问题描述 在使用 git 拉取、提交代码的时候ÿ…...

TechSmith Camtasia 2023 for Mac 屏幕录像视频录制编辑软件
TechSmith Camtasia for Mac 2023中文破解版 是一款专业的屏幕录像视频录制编辑软件,非常容易就可以获得精彩的截屏视频。创建引人注目的培训,演示和演示视频。Camtasia 屏幕录制软件简化,直观,让您看起来像专业人士。利用Camt…...

高效MMdetection(3.1.0)环境安装和训练自己数据集教程(实现于Linux(ubuntu),可在windows尝试)
一、前言 很久没用mmdetection了,作为目标检测常见的几个深度学习框架,mmdetection用的人还是很多的,其中比较吸引人的一点就是mmdetection集成了非常多的算法,对于想做实验对比和算法学习的人来说,基于这个框架可以事…...
软考-入侵检测技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 入侵检测技术概念 入侵检测技术是指一种计算机安全技术,旨在监测计算机系统、…...

openGaussDatakit让运维如丝般顺滑!
📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

整理MongoDB文档:身份验证
整理MongoDB文档:身份验证 个人博客,求关注。 文章概叙 本文主要讲MongoDB在单机状态下的账户配置。理解了MongoDB的语法,对于如何配置用户权限会知道怎么配置,但是请注意给谁配置什么权限才是最重要的。 最小权限原则 系统的每个程序或者…...

逐字稿 | 视频理解论文串讲(下)【论文精读】
1 为什么研究者这么想把这个双流网络替换掉,想用3D 卷积神经网络来做? 大家好,上次我们讲完了上半部分,就是 2D 网络和一些双流网络以及。它们的。变体。今天我们就来讲一下下半部分,就是 3D 网络和 video Transformer…...

【C++入门:C++世界的奇幻之旅】
1. 什么是C 2. C发展史 3. C的重要性 4. C关键字 5. 命名空间 6. C输入&输出 7. 缺省参数 8. 函数重载 9. 引用 10. 内联函数 11. auto关键字(C11) 12. 基于范围的for循环(C11) 13. 指针空值---nullptr(C11)05. 1. 什么是C C语言是结构化和模块化的语言&…...

rancher2.6.4配置管理k8s,docker安装
docker快速安装rancher并管理当前k8s集群。 1、拉镜像 docker pull rancher/rancher:v2.6.4 2、启动rancher 启动很慢 --privileged必须拥有root权限,并挂载卷 docker run --privileged -d --restartunless-stopped -p 80:80 -p 443:443 -v /usr/local/docker_vo…...

Python---练习:使用while嵌套循环打印 9 x 9乘法表
案例 使用while嵌套循环打印 9 x 9乘法表 思考 之前做过打印出三角形,那个三角形是5行的,这次打印9行的三角形。可以先使用while嵌套循环打印9行的直角三角形 相关链接Python---练习:打印直角三角形(利用wihle循环嵌套…...

仅手机大小!极空间T2随身数据魔盒发布:既是NAS 又是U盘
今天极空间召开新品发布会,带来了极空间T2随身数据魔盒,售价1999元起。 极空间T2随身数据魔盒体积仅手机大小,充电宝可供电。既是个NAS,又是个U盘。 其具备双M.2插槽,可安装两块固态硬盘。4G内存支持docker,…...

设计院图纸加密防泄密方案——天锐绿盾加密软件@德人合科技
天锐绿盾是一款专业的企业信息化防泄密软件,主要针对文档全生命周期进行加密保护,包括创建、修改、传输、归档、分发、销毁等全过程。它可以加强外发数据及终端离线的管理,对正常授权外带范围内的数据流程进行规范。设计图纸、文档等成果数据…...

AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (二)
AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…...
实用新型和发明的区别
实用新型专利:是指对产品的形状、构造或者其结合所提出的适于实用的新的技术方案,指对有具体产品结构提出的改进或创造。与发明相比,实用新型专利申请对于技术的要求更低一点,在审查的时候不会进行详细的检索和对比,授…...

Oracle通过透明网关查询SQL Server 报错ORA-00904
Oracle通过透明网关查询SQL Server 报错ORA-00904 问题描述: 只有全表扫描SELECT * 时SQL语句可以正常执行 添加WHERE条件或指定列名查询,查询语句就报错 问题原因: 字段大小写和SQLSERVER中定义的不一致导致查询异常 解决办法: 给…...

MySQL表操作—存储
建表: mysql> create table sch( -> id int primary key, -> name varchar(50) not null, -> glass varchar(50) not null -> ); Query OK, 0 rows affected (0.01 sec) 插入数据: mysql> insert into sch (id,name,…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
中国政务数据安全建设细化及市场需求分析
(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...

基于django+vue的健身房管理系统-vue
开发语言:Python框架:djangoPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat12开发软件:PyCharm 系统展示 会员信息管理 员工信息管理 会员卡类型管理 健身项目管理 会员卡管理 摘要 健身房管理…...