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,…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
