CDH6.3.2安装

news2024/12/24 10:23:55

文章目录

    • @[toc]
    • 一、CM简介
      • 1、ClouderaManager的概念
      • 2、ClouderaManager的功能
      • 3、ClouderaManager的架构
    • 二、准备清单
      • 1、部署步骤
      • 2、集群规划
      • 3、软件环境准备
    • 三、安装清单
      • 1、操作系统iso包
      • 2、JDK包
      • 3、MySQL包
      • 4、CM和CDH包
      • 5、部署ansible
    • 四、基础环境准备
      • 1、配置网络
      • 2、配置host解析
      • 3、关闭防火墙
      • 4、配置swap
      • 5、关闭透明大页
      • 6、 配置最大进程数和最大文件句柄数
      • 7、禁用atime(暂时不操作)
      • 8、搭建私有源
        • 1)配置centos源(h1)
        • 2)安装httpd
        • 3)centos源配置为http方式获取
        • 4)部署离线parcel源
        • 5)生成repodata文件
        • 6)配置cm服务端源
        • 7)配置cm客户端源
        • 8)配置cdh服务端源
        • 9)配置cdh客户端源
      • 11、配置chronyd
        • 1)时区设置为本地时区
        • 1)配置chrony服务端
        • 2)配置chronyd客户端
      • 12、安装jdk
      • 13、安装MySQL
        • 1)下载安装
        • 2)安全加固
        • 3)登录查看
        • 4)配置远程登录
        • 5)卸载MySQL
    • 五、CM6.3.1安装步骤
      • 1、配置JDBC驱动包
      • 2、修改MySQL配置文件
      • 3、创建cm所数据库
        • 1)创建所需数据
        • 2)按照官方创建数据库
      • 3、安装服务端
      • 4、安装客户端
      • 5、初始化scm库
        • 1)MySQL和服务同机
        • 2)MySQL和服务不同机
        • 3)CM的数据库配置文件已经修改
        • 4)启动server
        • 5)配置本地的parcel文件
        • 6)修改config.ini
        • 7)上传allkeys.asc
      • 6、访问
      • 六、配置集群
        • 1、登录配置
        • 2、设置集群名
        • 3、选择集群主机
        • 4、配置CDH安装包
        • 5、配置CDH parcel的位置
        • 6、安装Agent
      • 7、安装parcels
      • 8、检查集群
      • 9、选择服务
        • 1)选择安装的内容和服务
        • 2)自定义角色分配
        • 3)数据库配置
        • 4)CM管理页面

一、CM简介

1、ClouderaManager的概念

 简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。

2、ClouderaManager的功能

  • 1)、管理:对集群进行管理,如添加、删除节点等操作。
  • 2)、监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
  • 3)、诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
  • 4)、集成:多组件进行整合。

3、ClouderaManager的架构

  • 1)、Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
  • 2)、Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
  • 3)、Management Service:由一组执行各种监控,警报和报告功能角色的服务。
  • 4)、Database:存储配置和监视信息。
  • 5)、Cloudera Repository:软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库)
  • 6)、Clients:是用于与服务器进行交互的接口(API和Admin Console)

image

CM6.3.1+CDH6.3.2 组件版本如下:

组件版本发行版CDH
版本Supervisord3不可用不适用
Cloudera Manager Agent6.3.11466458.el7不适用
Cloudera Manager Management Daemon6.3.11466458.el7不适用
Flume NG1.9.0+cdh6.3.21605554CDH 6.3.2
Hadoop3.0.0+cdh6.3.21605554
HDFS3.0.0+cdh6.3.21605554
HttpFS3.0.0+cdh6.3.21605554
hadoop-kms3.0.0+cdh6.3.21605554CDH 6.3.2
MapReduce 23.0.0+cdh6.3.21605554CDH 6.3.2
YARN3.0.0+cdh6.3.21605554CDH 6.3.2
HBase2.1.0+cdh6.3.21605554CDH 6.3.2
Lily HBase Indexer1.5+cdh6.3.21605554CDH 6.3.2
Hive2.1.1+cdh6.3.21605554CDH 6.3.2
HCatalog2.1.1+cdh6.3.21605554CDH 6.3.2
Hue4.2.0+cdh6.3.21605554CDH 6.3.2
Impala3.2.0+cdh6.3.21605554CDH 6.3.2
Java 8java version 1.8.0_131不可用不适用
Kafka2.2.1+cdh6.3.21605554CDH 6.3.2
Kite(仅限 CDH 5 )1.0.0+cdh6.3.21605554CDH 6.3.2
kudu1.10.0+cdh6.3.21605554CDH 6.3.2
Oozie5.1.0+cdh6.3.21605554CDH 6.3.2
Parquet1.9.0+cdh6.3.21605554CDH 6.3.2
Pig0.17.0+cdh6.3.21605554CDH 6.3.2
sentry2.1.0+cdh6.3.21605554CDH 6.3.2
Solr7.4.0+cdh6.3.21605554CDH 6.3.2
spark2.4.0+cdh6.3.21605554CDH 6.3.2
Sqoop1.4.7+cdh6.3.21605554CDH 6.3.2
ZooKeeper3.4.5+cdh6.3.21605554CDH 6.3.2

二、准备清单

1、部署步骤

  • 网络配置(所有节点)
  • hosts配置
  • 关闭防火墙(所有节点)
  • 免密(所有节点)
  • ntpd同步
  • 安装jdk-u8-131(所有节点)
  • 安装MySQL(主节点)
  • 初始化MySQL(主节点)
  • 部署/启动CM Server(主节点)
  • 部署/启动CM Agent(从节点)
  • 配置CDH

其他

  • 停止集群步骤
  • 启动集群步骤

2、集群规划

节点名称IPCentoSCPU内存磁盘组件
h1192.168.6.617.9210G/dev/sda3 250Gmysql5.7,http,ntp,jdk-8u131
h2192.168.6.627.928G/dev/sda3 250Gntp,jdk-8u131
h3192.168.6.637.928G/dev/sda3 250Gntp,jdk-8u131
h4192.168.6.647.928G/dev/sda3 250Gntp,jdk-8u131

3、软件环境准备

序号软件名称版本信息备注
1Centos操作系统发行版CentOS Linux release 7.9.2009 x86_64CDH要求7.2或更高
2MySQL数据库5.7.43 x86_64CDH6推荐5.7或更高,务必使用utf8编码而非utf8mb4编码
3JDK1.8.0_181 x86_64CDH6将不再支持JDK1.7推荐1.8u181
4python2.7.5
5CDH6.3.2
6CM6.3.1

三、安装清单

1、操作系统iso包

  • 本地镜像yum源包:CentOS-7-x86_64-Everything-2003.iso
  • 下载地址:https://developer.aliyun.com/mirror/

2、JDK包

  • JDK包:jdk-8u281-linux-x64.tar.gz
  • 下载地址:https://www.oracle.com/java/technologies/downloads/archive/

3、MySQL包

  • MySQL包:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
  • MySQL驱动包:mysql-connector-java-5.1.49.jar
  • 下载地址:https://downloads.mysql.com/archives/community/

4、CM和CDH包

CM包:

allkeys.asc
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

CDH包:

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
manifest.json

5、部署ansible

安装方式二
#登录后复制 
cd /tmp
wget -c https://github.com/ghl1024/ansible-offline-install/releases/download/V1/ansible-offline-install.tar.gz
tar xf ansible-offline-install.tar.gz
cd ansible
sh install.sh
#设置参数为不检查key
sed -i  "s/#host_key_checking = False/host_key_checking = False/g"  /etc/ansible/ansible.cfg

#如果有提示安装则安装
yum  install -y sshpass
cat >/etc/ansible/hosts <<EOF
[all:vars]
ansible_ssh_user='root'
ansible_ssh_port=7009
ansible_ssh_pass='Abcd@123456'
[k8s]
192.168.6.61
192.168.6.62
192.168.6.63
192.168.6.64
EOF

ansible all  -m raw -a " df -h"

四、基础环境准备

1、配置网络

 Centos7静态网络配置文件是/etc/sysconfig/network-scripts/ifcfg-,我本机网络接口名称为p2p1,修改所有节点网络配

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.6.61      #改为对应节点IP
GATEWAY=192.168.6.1
NETMASK=255.255.255.0
DNS1=61.139.2.69
DNS2=8.8.8.8

#重启网络可立即生效
systemctl restart network

2、配置host解析

  • 所有节点操作
#修改所有节点的hostname,重启节点立即生效
ansible 192.168.6.61  -m raw -a "hostnamectl set-hostname h1"
ansible 192.168.6.62  -m raw -a "hostnamectl set-hostname h2"
ansible 192.168.6.63  -m raw -a "hostnamectl set-hostname h3"
ansible 192.168.6.64  -m raw -a "hostnamectl set-hostname h4"
  • 所有节点操作
ansible all  -m raw -a "echo '192.168.6.61 h1' >>/etc/hosts"
ansible all  -m raw -a "echo '192.168.6.62 h2' >>/etc/hosts"
ansible all  -m raw -a "echo '192.168.6.63 h3' >>/etc/hosts"
ansible all  -m raw -a "echo '192.168.6.64 h4' >>/etc/hosts"

3、关闭防火墙

  • 所有节点操作
ansible all  -m raw -a "systemctl stop firewalld" 
ansible all  -m raw -a "systemctl disable firewalld" 

#关闭seliunx
ansible all  -m raw -a "sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config"
ansible all  -m raw -a "setenforce 0"

4、配置swap

 内核参数swappiness用于控制系统在内存紧张时将内存中的数据交换到硬盘交换空间(swap)中 ,一般而言,swappiness值可以设置在 0 到 100 之间。内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上推荐设置一个比较小的值,而不要禁用交换。

ansible all  -m raw -a "echo \"vm.swappiness=10\">> /etc/sysctl.conf"DD
#ansible all  -m raw -a "echo \"net.ipv6.conf.all.disable_ipv6 = 1\">> /etc/sysctl.conf"
ansible all  -m raw -a "sysctl -p"
  • Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增。

5、关闭透明大页

#临时关闭
ansible all  -m raw -a  "echo never > /sys/kernel/mm/transparent_hugepage/defrag"
ansible all  -m raw -a  "echo never > /sys/kernel/mm/transparent_hugepage/enabled"

#永久关闭,每个节点添加
cat >>/etc/rc.d/rc.local<<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
 echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
 echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF

#验证查看,如果是never则表示成功。
ansible all  -m raw -a "cat /sys/kernel/mm/transparent_hugepage/defrag;cat /sys/kernel/mm/transparent_hugepage/enabled"

#授权
ansible all  -m raw -a "chmod +x /etc/rc.local"

6、 配置最大进程数和最大文件句柄数

 用户的进程和文件句柄数配置文件是/etc/security/limits.conf,类型包括硬限制(hard)和软限制(soft),*表示所有用户,nproc表示打开最大进程数,nofile表示最大文件句柄数。Cloudera推荐最大进程数nproc为65536或26214。

  • pssh批量修改所有用户的进程和文件句柄最大限制
ansible all  -m raw -a"echo '* soft nproc 65535' >> /etc/security/limits.conf"
ansible all  -m raw -a "echo '* hard nproc 65535' >> /etc/security/limits.conf"
ansible all  -m raw -a "echo '* soft nofile 65535' >> /etc/security/limits.conf"
ansible all  -m raw -a "echo '* hard nofile 65535' >> /etc/security/limits.conf"
#查看是否生效
ansible all  -m raw -a "ulimit -a"
  • -a:显示目前资源限制的设定;
  • -c <core文件上限>:设定core文件的最大值,单位为区块;
  • -d <数据节区大小>:程序数据节区的最大值,单位为KB;
  • -f <文件大小>:shell所能建立的最大文件,单位为区块;
  • -H:设定资源的硬性限制,也就是管理员所设下的限制;
  • -m <内存大小>:指定可使用内存的上限,单位为KB;
  • -n <文件数目>:指定同一时间最多可开启的文件数;
  • -p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
  • -s <堆叠大小>:指定堆叠的上限,单位为KB;
  • -S:设定资源的弹性限制;
  • -t <CPU时间>:指定CPU使用时间的上限,单位为秒;
  • -u <程序数目>:用户最多可开启的程序数目;
  • -v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

7、禁用atime(暂时不操作)

 Linux文件系统会保留记录每个文件访问时间的元数据,这可能会导致即使是读取操作也会导致磁盘写入。为了提高文件读取性能,Cloudera建议在/etc/fstab配置文件中使用noatime挂载选项来禁用atime选项。

  • pssh批量禁用文件最后访问时间,本机的挂载数据目录是/data
# 数据目录添加noatime
ansible all  -m raw -a "sed -i 's/\/data                   ext4    defaults/\/data                   ext4    defaults,noatime/' /etc/fstab"

# 重新挂载不需要重启节点
#mount -o remount /data

8、搭建私有源

  • 镜像源作用范围:只能在机器h1使用。
  • 目的:为了安装httpd服务和createrepo服务。
1)配置centos源(h1)

【阿里下载地址】http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

#上传
mkdir -p /data/isos
cd /data/isos
rz

#挂载centos7镜像
mkdir /mnt/cdrom
chmod o+x CentOS-7-x86_64-Everything-2003.iso 
mount -t iso9660 /data/isos/CentOS-7-x86_64-Everything-2003.iso /mnt/cdrom
lsblk |grep /mnt/cdrom

#移除自带的源
mkdir -p  /etc/yum.repos.d/backup
mv  /etc/yum.repos.d/* /etc/yum.repos.d/backup

#新建一个本地yum源
cat > /etc/yum.repos.d/local.repo << EOF
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
EOF

#更新源和缓存
yum clean all && yum makecache

#验证
yum repolist|grep Centos

#检测源
yum remove  tree -y
yum install  tree -y
2)安装httpd
  • h1节点安装Apache httpd服务,用于后续通过Http方式访问和下载CDH和CM安装包
# 安装httpd
yum -y install httpd 
# 启动
systemctl start httpd
# 开机启动
systemctl enable httpd
3)centos源配置为http方式获取
  • h1节点
#在http服务的静态资源目录创建centos目录
mkdir -p /var/www/html/cdh6.3.1
mkdir /var/www/html/cdh6.3.1/centos
#将centos的镜像文件复制到centos目录
\cp -rf /mnt/cdrom/* /var/www/html/cdh6.3.1/centos

#修改cdh-1的本地centos源的配置
sed -i 's#baseurl=file:///mnt/cdrom#baseurl=file:///var/www/html/cdh6.3.1/centos#g' /etc/yum.repos.d/local.repo

#取消挂载
umount /mnt/cdrom/

#更新h1的源
##刷新源
yum clean all && yum makecache

#验证
yum repolist

#重启http
systemctl restart httpd

可以通过http访问了:http://192.168.6.61/cdh6.3.1/centos/

  • 其他节点
#移除自带的源
mkdir -p  /etc/yum.repos.d/backup
mv  /etc/yum.repos.d/* /etc/yum.repos.d/backup

#添加共享源
cat >/etc/yum.repos.d/local.repo << EOF
[c6-media]
name=CentOS-$releasever - Media
baseurl=http://h1/cdh6.3.1/centos/
gpgcheck=0
enabled=1
EOF

#刷新源
yum clean all && yum makecache

验证
yum repolist

#测试源
yum remove -y lsof 

#安装
yum install -y lsof 
4)部署离线parcel源
  • 移动文件安装包文件到http服务器静态文件目录(h1)
#在/var/www/html创建存放cm包的文件夹和cdh安装包的文件夹
mkdir /var/www/html/cdh6.3.1/{cm,cdh}

#上传CDH6.3.2
rz 
unzip CDH6.3.2  -d /opt/
tar -xf /opt/CDH6.3.2/cm6.3.1-redhat7.tar.gz -C /opt/

#移动cdh安装包和元数据文件
cd /opt/CDH6.3.2/
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel manifest.json CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1  /var/www/html/cdh6.3.1/cdh/
mv /var/www/html/cdh6.3.1/cdh/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1  /var/www/html/cdh6.3.1/cdh/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
mv  /opt/CDH6.3.2/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256  /var/www/html/cdh6.3.1/cdh/

#解压移动cm安装包
tar -xf /opt/CDH6.3.2/cm6.3.1-redhat7.tar.gz -C  /opt/
mv  /opt/cm6.3.1/RPMS/x86_64/*  /var/www/html/cdh6.3.1/cm/

#授权
chmod 755  /var/www/html/cdh6.3.1/cm
chmod 755  /var/www/html/cdh6.3.1/cdh
  • 移动 sha1 名称⽂件时,需要重命名,去掉最后的1,不然在部署过程中,CM 会认为如上⽂件下载不完整,会重新下载。
#查看
[root@h1 html]# ls -l /var/www/html/cdh6.3.1/
total 4
drwxr-xr-x. 2 root root   77 Sep 11 21:14 cdh
drwxr-xr-x. 8 root root  220 Sep 11 21:02 centos
drwxr-xr-x. 2 root root 4096 Sep 11 21:18 cm

[root@h1 html]# ls -l /var/www/html/cdh6.3.1/cm 
total 1380420
-rw-r--r--. 1 2001 2001   10483568 Sep 25  2019 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001 1203832464 Sep 25  2019 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001      11488 Sep 25  2019 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001      10996 Sep 25  2019 cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 2001 2001   14209868 Sep 25  2019 enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
-rw-rw-r--. 1 2001 2001  184988341 Sep 25  2019 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

[root@localhost CDH6.3.2]# ls -l /var/www/html/cdh6.3.1/cdh/
total 2033432
-rw-r--r--. 1 root root 2082186246 Jan  8  2021 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r--. 1 root root         40 Jan 11  2021 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
-rw-r--r--. 1 root root         64 Jan 11  2021 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
-rw-r--r--. 1 root root      33887 Jan 11  2021 manifest.json
5)生成repodata文件
  • 制作cm和cdh源生成repodata文件,需要用到createrepo这个包(h1)
#查看
yum install tree -y
tree  /var/www/html/
# 生成repodata文件夹
mv /etc/yum.repos.d/backup/CentOS-Base.repo /etc/yum.repos.d/
yum clean all && yum makecache
yum install -y createrepo
cd /var/www/html/cdh6.3.1/cm/
createrepo .
cd /var/www/html/cdh6.3.1/cdh/
createrepo .
systemctl restart httpd

访问浏览器:http://192.168.6.61/cdh6.3.1/cm/

6)配置cm服务端源
cat >/etc/yum.repos.d/cloudera-manager.repo<<EOF
[base-local]								
name=cm-local								
baseurl=file:///var/www/html/cdh6.3.1/cm		
enabled=1
gpgcheck=0						
EOF

#刷新源
yum clean all && yum makecache

#检测本地源是否配置成功
yum repolist|grep cm-local 
7)配置cm客户端源
cat >/etc/yum.repos.d/cloudera-manager.repo<<EOF
[base-local]								
name=cm-local								
baseurl=http://h1/cdh6.3.1/cm				
enabled=1
gpgcheck=0						
EOF

#刷新源
yum clean all && yum makecache

#检测本地源是否配置成功
yum repolist|grep cm-local 
8)配置cdh服务端源
cat >/etc/yum.repos.d/cdh-local.repo<<EOF
[cdh-local]								
name=cdh-local								
baseurl=file:///var/www/html/cdh6.3.1/cdh		
enabled=1
gpgcheck=0						
EOF

#刷新源
yum clean all && yum makecache

#检测本地源是否配置成功
yum repolist|grep cdh-local 
9)配置cdh客户端源
cat >/etc/yum.repos.d/cdh-local.repo<<EOF
[cdh-local]								
name=cdh-local							
baseurl=http://h1/cdh6.3.1/cdh				
enabled=1
gpgcheck=0						
EOF

#刷新源
yum clean all && yum makecache
  • [base-local] #本源的名字,不能和其他的重复(随便,不重复)
  • name=CentOS-local #名字(随意)
  • baseurl=file:///mnt/ #上方步骤一挂载镜像创建的目录(必须同步)
  • enabled=1 #yum源是否启用 1-启用 0-不启用
  • gpgcheck=1 #安全检测 1-开启 0-不开启
  • gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

11、配置chronyd

 Centos7默认使用Chrony工具而非NTP进行时间同步,Chrony和NTP两者有冲突只能选其一,CDH6推荐使用Chrony。
 chrony-2.2.1.tar.gz 下载地址:https://download.tuxfamily.org/chrony/

1)时区设置为本地时区
#硬件时钟设置为UTC
ansible all  -m raw -a"timedatectl set-local-rtc 0"

#设置本地时区,显示本地时间
ansible all  -m raw -a"timedatectl set-timezone Asia/Shanghai"

#手动加载RTC设置
ansible all  -m raw -a"hwclock --systohc"

#查看时间
ansible all  -m raw -a"timedatectl"
1)配置chrony服务端
#安装
ansible all  -m raw -a"yum -y install chrony"
ansible all  -m raw -a"systemctl start chronyd"

 #修改服务器配置⽂件
cp /etc/chrony.conf /etc/chrony.$(date +'%s')
cat > /etc/chrony.conf <<EOF
#编辑该行,设置ntp服务器地址,pool.ntp.org 替换为ntp服务器地址,注:保留1个即可,其他NTP服务器地址注销
pool pool.ntp.org iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
local stratum 10
logdir /var/log/chrony
EOF

#看正确时间,进行修改
date -s 09:57:00
#同步到硬件时间
clock -w
#启动chronyd
systemctl restart chronyd
systemctl enable chronyd
2)配置chronyd客户端
#安装
yum -y install chrony

# 修改服务器配置文件,以阿里云时间服务器为上游服务器
cp /etc/chrony.conf /etc/chrony.$(date +'%s')
cat > /etc/chrony.conf <<EOF
server 192.168.6.61 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
EOF

# 启动 chronyd服务
systemctl restart chronyd
systemctl enable chronyd

#重启后等几分钟,让系统识别到时间服务器,期间可多次执行chronyc sources或chronyc sources -v查询状态。
[root@localhost yum.repos.d]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* h1                            3   6   377     4   +874us[+1148us] +/-   49ms

[root@localhost ~]# timedatectl
      Local time: Mon 2023-12-11 10:05:51 CST
  Universal time: Mon 2023-12-11 02:05:51 UTC
        RTC time: Mon 2023-12-11 02:05:51
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

12、安装jdk

  • 参考网址:https://blog.csdn.net/BlogPan/article/details/132384949
  • 每个节点安装java环境
#上传到ansible管理节点
rz #jdk-8u131-linux-x64.tar.gz 

#拷贝到各个节点
ansible all -m copy  -a "src=jdk-8u131-linux-x64.tar.gz dest=/root/jdk-8u131-linux-x64.tar.gz"
#安装jdk
tar -xzf  /root/jdk-8u131-linux-x64.tar.gz 
mkdir -p /usr/java/ 
mv  jdk1.8.0_131/ /usr/java/
#、配置JAVA环境变量,/etc/profile配置文件中末尾加入如下代码
cp /etc/profile /etc/profile.bak
cat >>/etc/profile<<EOF
#################################################################
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib
export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH:\$HOMR/bin
##################################################################
EOF
#执行如下代码使其环境变量,并查看环境变量,命令如下:
source /etc/profile 
java  -version

13、安装MySQL

1)下载安装
  • 参考地址:https://blog.csdn.net/BlogPan/article/details/132393695
  • h1安装MySQL
  • 注意连接网络源才能下载,否则需要使用二进制部署。
#检测mysql,有则卸载
rpm -qa | grep -i mysql
rpm -qa|grep mariadb
#yum list installed | grep mariadb
#rpm -e --nodeps mariadb-libs-xxx
#rm -rf /etc/my.cnf
#查找指令rpm方式:rpm -qa|grep mysql
#查找指令yum方式:yum list installed | grep mysql
#find查看指令:find / -name mysql
#whereis查看指令:whereis mysql
#删除指令:rm -rf /etc/selinux/targeted/active/modules/100/mysql
#删除指令:rm -rf /usr/lib64/mysql

#noarch表示该软件包不依赖特定Linux发行版
wget -c https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm  --no-check-certificate 
rpm -ivh mysql57-community-release-el7-11.noarch.rpm ##安装Yum源配置文件
yum -y install mysql-community-server   --nogpgcheck   #安装MySQL服务器, --nogpgcheck跳过源认证。
systemctl start mysqld&&systemctl enable mysqld&&systemctl status mysqld #启动MySQL服务器
grep "password" /var/log/mysqld.log  #获取临时密码
2)安全加固
  • 执行安全脚本,加固MySQL安全性,设置新的root密码
#登录改密码
[root@h1 ~]# grep "password" /var/log/mysqld.log  #获取临时密码
2023-04-18T07:39:06.811617Z 1 [Note] A temporary password is generated for root@localhost: eR-UFk;F<8UD

[root@h1 ~]# mysql_secure_installation  
Securing the MySQL server deployment.
Enter password for user root:   #输入密码:eR-UFk;F<8UD

The existing password for the user account root has expired. Please set a new password.
New password:  Abcd$12356A 
Re-enter new password: Abcd$12356A
  • 输入要求的密码后可继续如下配置
# 移除匿名用户
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.  
 
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
 
# 禁用远程root登录
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
 
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
 
# 删除测试数据库及权限
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.
 
 - Removing privileges on test database...
Success.
 
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
 
# 重新加载授权表
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
 
All done!
3)登录查看
#登录
mysql -uroot -p
输入密码:Abcd$12356A

#设置开机启动和重启
systemctl enable mysqld&&systemctl restart  mysqld
4)配置远程登录
  • 登录本机,针对root用户赋权和设置密码
# 授权,all表示所有ddl和dml操作权限,*.*表示针对所有数据库所有表,%表示本机和远程主机均能访问
grant all privileges on *.* to 'root'@'%' identified by 'Abcd$12356A' with grant option;

# 刷新权限
flush privileges;

#退出
exit
#测试远程访问
yum install mysql -y
mysql -P 3306 -h 192.168.6.61 -uroot -p
输入密码:Abcd$12356A
5)卸载MySQL
  • 不操作
#卸载MySQL之前,首先需要停止MySQL服务
systemctl stop mysqld

#卸载MySQL软件包
yum -y remove mysql-server mysql-client mysql-common mysql-libs

#删除配置文件
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf

#卸载Yum源配置文件
rpm -e mysql57-community-release-el7-11.noarch

#清理MySQL用户和组
userdel mysql
groupdel mysql

#清理MySQL日志文件和临时文件
rm -rf /var/log/mysql
rm -rf /tmp/mysql*

五、CM6.3.1安装步骤

1、配置JDBC驱动包

  • ansible节点操作
#配置JDBC驱动包
cd  /root/
wget -c https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz --no-check-certificate
tar -xf mysql-connector-java-5.1.46.tar.gz 
mv mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar /root/mysql-connector-java.jar

#创建目录
ansible all -m raw -a 'mkdir -p /usr/share/java/'

# 复制到各个节点
ansible all -m copy -a 'src=/root/mysql-connector-java.jar dest=/usr/share/java/'

# 修改权限
ansible all -m raw -a 'cd /usr/share/java;chmod 775 mysql-connector-java.jar'

# 验证是否创建成功
ansible all -m raw -a 'ls -l /usr/share/java'

2、修改MySQL配置文件

  • https://zhuanlan.zhihu.com/p/140873987?utm_id=0

WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

注意此处有坑:对于MySQL5.7高版本,启动CM Server连接MySQL时可能会报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常,原因是默认开启了SSL认证,相当于useSSL=true,解决方法就是在配置中添加skip-ssl重启MySQL服务,另外[mysqld_safe]配置项已废弃不用,以下的配置均已经过验证。

[mysqld]
# 务必禁用掉ssl,相当于useSSL=false
skip-ssl 

#和重启
systemctl restart  mysqld

3、创建cm所数据库

1)创建所需数据
#登录
mysql -uroot -p
输入密码:Abcd$12356A

#创建
CREATE DATABASE scm DEFAULT CHARACTER SET UTF8;
CREATE USER scm@'%' IDENTIFIED WITH mysql_native_password BY 'Abcd$12356A';
GRANT ALL PRIVILEGES ON scm.* TO scm@'%';

CREATE DATABASE hive DEFAULT CHARACTER SET UTF8;
CREATE USER hive@'%' IDENTIFIED WITH mysql_native_password BY 'Abcd$12356A';
GRANT ALL PRIVILEGES ON hive.* TO hive@'%';

FLUSH PRIVILEGES;
SELECT user,host,plugin FROM mysql.user;
exit
2)按照官方创建数据库
  • Cloudera官网要求初始化的数据库及用户如下:
    image
# scm
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# amon
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# rman
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# hue
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# hive
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# sentry
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# nav
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# navms
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# oozie
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'Abcd$12356A';
 
# 最后刷新一下权限
flush privileges;
 
# 检查
show databases;

3、安装服务端

  • 只需要在h1节点上安装
yum install  mysql-community-libs-compat-5.7.44-1.el7.x86_64 -y  --nogpgcheck
#h1安装server和agent
yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
#安装报错,使用网络源
cd /etc/yum.repos.d
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all&&yum makecache

#MySQL报错 Failing package is: mysql-community-libs-compat-5.7.44-1.el7.x86_64
yum install  mysql-community-libs-compat-5.7.44-1.el7.x86_64 -y  --nogpgcheck

4、安装客户端

  • 只需要在h2、h3、h4节点上安装
#h2安装agent
yum -y install cloudera-manager-agent cloudera-manager-daemons

#h3安装agent
yum -y install cloudera-manager-agent cloudera-manager-daemons

#h4安装agent
yum -y install cloudera-manager-agent cloudera-manager-daemons

5、初始化scm库

1)MySQL和服务同机
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql  scm scm  
输入密码:Abcd$12356A
2)MySQL和服务不同机
  • 初始化指令格式:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h 数据库ip --scm-host scm的ip scm scm Abcd$12356A
#/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h 192.168.6.65 --scm-host 192.168.6.61 scm scm Abcd$12356A
3)CM的数据库配置文件已经修改
  • 初始化成功自动生成下面数据,修改文件。
#替换
sed -i s'#com.cloudera.cmf.db.host=localhost#com.cloudera.cmf.db.host=h1#'g /etc/cloudera-scm-server/db.properties
#查看
[root@h1 ~]# cat /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=h1
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=Abcd$12356A
4)启动server
  • 在主节点启动Cloudera Manager
systemctl restart cloudera-scm-server
systemctl status cloudera-scm-server -l
netstat -tnlp|grep 7180
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
5)配置本地的parcel文件
cp -r  /var/www/html/cdh6.3.1/cdh/*  /opt/cloudera/parcel-repo/
groupadd cloudera-scm&&useradd -r -g cloudera-scm cloudera-scm
chown -R cloudera-scm:cloudera-scm /opt/cloudera
6)修改config.ini
  • agent节点上修改cm agent的配置,指向server节点为:h1
ansible all -m raw -a "sed -i 's/server_host=localhost/server_host= h1/g' /etc/cloudera-scm-agent/config.ini"
7)上传allkeys.asc

链接:https://pan.baidu.com/s/1vjSPCUDW96sIiPswwaQ4Kw?pwd=maba
提取码:maba

cd /var/www/html/cdh6.3.1/cm
rz 
allkeys.asc

6、访问

  • 访问地址:http://192.168.6.61:7180/cmf/login
  • 登陆-默认账号/密码:admin/admin

六、配置集群

1、登录配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、设置集群名
  • 编辑集群名称,填入:cdh6.3.2,安装成功后可以重命名集群,点击“继续”。
3、选择集群主机
  • 使用模式输入主机名称(h[1-4])或者IP地址(192.168.6.[61-63]),点击“搜索”找到主机后勾选节点,点击“继续”。
4、配置CDH安装包
  • Cloudera Manager Agent的自定义存储库输入CM仓库地址:http://192.168.6.61/cdh6.3.1/cm
5、配置CDH parcel的位置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • CDH and other software选择“使用 Parcel (建议)”,点击“更多选项”进入Parcel存储库设置页面。“Parcel目录”和“本地Parcel存储库路径”不用编辑选择默认目录就好,编辑“远程Parcel存储库URL”,输入CDH仓库地址: http://192.168.6.61/cdh6.3.1/cdh/,点击“-”删除其它URL,点击“保存更改”。
6、安装Agent

image

【提示】
/tmp/scm_prepare_node.4jhFYJdo
http://192.168.101.105/cdh6/6.3.1/parcels/allkeys.asc
【解决】
上传allkeys.asc到cm的目录下

7、安装parcels

image

如果出现"主机运行状况不良"

  • 进入 /var/lib/cloudera-scm-agent下,把cm_guid文件 删除。然后重启代理服务节点
  • 命令: service cloudera-scm-agent restart
  • 重启之后 cloudera manager 等待片刻自动安装

【报错】
Parcel not distributed but have active state ACTIVATING

[root@localhost ~]#  curl -u admin:admin "http://h1:7180/api/v18/clusters"

[root@h1 ~]# curl -u admin:admin -X POST http://192.168.6.61:7180/api/v18/clusters/Cluster1/parcels/products/CDH6/versions/6.3.2-1.cdh6.3.2.p0.1605554/commands/deactivate

【解决】
https://blog.51cto.com/u_14049791/5701635

【报错】
cdh6安装过程报错 failure due to stall on seeded torrent
【解决】
#找到报错节点重启
systemctl restart cloudera-scm-agent.service

8、检查集群

image
先点击 Inspect Network Performance 再点击 Inspect Hosts

注意:没有黄色提示才能继续下一步,否则需要解决。

9、选择服务

1)选择安装的内容和服务
  • 安装的内容包括HDFS,YARN,ZooKeeper,Oozie,Hive,Hue,Spark,Impala,Hbase。
2)自定义角色分配
  • 具体角色配置可查看CM
3)数据库配置
  • 选择各个数据库,用户名,密码,并进行测试
  • 审核更改,默认设置(配置各个参数),命令详细信息
  • 如果集群资源不够,可以先申请一个集群,然后依次添加服务;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| amon               |
| hive               |
| hue                |
| metastore          |
| mysql              |
| nav                |
| navms              |
| oozie              |
| performance_schema |
| rman               |
| scm                |
| sentry             |
| sys                |
+--------------------+
4)CM管理页面
  • 之后出现的任何告警等,都可以进行自定义配置和解决
  • 安装的各个服务的版本,可通过cdh的mansion.json文件查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1303216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SiteGround如何设置WordPress网站自动更新

SiteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站&#xff0c;这样做是为了保证网站安全&#xff0c;并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress&#xff0c;包括主要版本和次要版本。在每次自动更新之前&…

博士毕业需要发表几篇cssci论文

大家好&#xff0c;今天来聊聊博士毕业需要发表几篇cssci论文&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 博士毕业需要发表几篇CSSCI论文 背景介绍 CSSCI即“中文社会科学引文索引”&#xff0c;被…

Unity之OpenXR+XR Interaction Toolkit接入微软VR设备Windows Mixed Reality

前言 Windows Mixed Reality 是 Microsoft 用于增强和虚拟现实体验的VR设备,如下图所示: 在国内,它的使用率很低,一把都是国外使用,所以适配起来是相当费劲。 这台VR设备只能用于串流Windows,启动后,会自动连接Window的Mixed Reality程序,然后打开微软的增强现实门户…

css的复合选择器(有案例)

目录 复合选择器的描述 后代选择器&#xff08;常用重点&#xff09; 子选择器 并集选择器&#xff08;重点常用&#xff09; 伪类选择器 链接伪类选择器 focus 伪类选择器 知识总结&#xff1a; 案例实现&#xff1a; 复合选择器的描述 在 CSS 中&#xff0c;可以根…

SSL证书HTTPS保护服务

SSL证书属于数字证书的其中一种&#xff0c;广泛用于https协议&#xff0c;从而可以让数据传输在加密前提下完成&#xff0c;确保HTTPS网络安全是申请SSL证书必要工作。 SSL证书是主要用于https是一种加密协议&#xff0c;仔细观察网站地址会发现目前主流的网址前面都会有http…

2,PyCharm的下载与安装

1&#xff0c;PyCharm的下载 a&#xff1a;打开PyCharm官网&#xff0c;并选择Developer Tools → PyCharm Pycharm官网地址 b&#xff1a;点击Download c&#xff1a;下载完成后&#xff0c;会在下载文件夹中&#xff0c;出现“pycharm-professional-2023.3.exe”文件 2&a…

计算机网络(三) | 数据链路层 PPP协议、广播CSMA/CD协议、集线器、交换器、扩展and高速以太网

文章目录 1 数据链路基本概念和问题1.1 基本概念1.2 基本问题&#xff08;1&#xff09;封装成帧&#xff08;2&#xff09;透明传输&#xff08;3&#xff09;差错控制 2.数据链路层协议2.1 点对点 PPP协议2.1.1 需要实现的2.1.2 PPP组成2.1.3 帧格式2.1.4 工作流程 2.2 广播 …

线上扭蛋机小程序搭建,扭蛋与科技的完美结合

扭蛋机作为当下比较热门的一种盲盒玩法&#xff0c;在年轻人群体中非常受欢迎。随着经济的增长和人们生活水平的提高&#xff0c;人们对娱乐消费需求也在增加&#xff0c;扭蛋机的受众群体也在扩大。 目前线上扭蛋机小程序也获得了大众的青睐&#xff0c;扭蛋机小程序就是把线…

Appium 2.X(移动端自动化保姆级教程)

文章目录 Appium 2.X 安装使用1. Appium &#xff08;Server&#xff09;安装2. Appium Inspector &#xff08;Client&#xff09;安装3. SDK Manger &#xff08;ADB&#xff09;安装4. adb操作 Appium 2.X 安装使用 1. Appium &#xff08;Server&#xff09;安装 Node&am…

AI生成视频专题报告:Runway基础模型快速迭代,视频生成领域的先行者

今天分享的AI系列深度研究报告&#xff1a;《AI生成视频专题报告&#xff1a;Runway基础模型快速迭代,视频生成领域的先行者》。 &#xff08;报告出品方&#xff1a;中泰证券&#xff09; 报告共计&#xff1a;14页 Runway Reaserch&#xff1a;视频软件编辑工具提供者&…

【EI会议征稿】2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)

2024年遥感、测绘与图像处理国际学术会议(RSMIP2024) 2024 International Conference on Remote Sensing, Mapping and Image Processing 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)将于2024年1月19日-21日在中国厦门举行。会议主要围绕遥感、测绘与图像处理等研究领…

深度学习 Day15——P4猴痘病识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 文章目录 前言1 我的环境2 代码实现与执行结果2.1 前期准备2.1.1 引入库2.1.2 设置GPU&#xff08;如果设备上支持GPU就使用GPU,否则使用C…

树莓派,opencv,Picamera2利用舵机云台追踪特定颜色对象

一、需要准备的硬件 Raspiberry 4b两个SG90 180度舵机&#xff08;注意舵机的角度&#xff0c;最好是180度且带限位的&#xff0c;切勿选360度舵机&#xff09;二自由度舵机云台&#xff08;如下图&#xff09;Raspiberry CSI 摄像头 组装后的效果&#xff1a; 二、项目目标…

视频美颜SDK技术的演变:从基础滤镜到智能特效

视频美颜SDK通过提供一系列的算法和工具&#xff0c;让开发者可以方便地集成美颜功能到他们的应用中。 一、背景&#xff1a;美颜技术的崛起 随着高清摄像设备的普及&#xff0c;用户对于自己在视频中的外观要求也变得越来越高。美颜技术应运而生&#xff0c;开始从照片领域渗…

freeRTOS使用

创建第一个FreeRTOS程序 1、官网源码下载 &#xff08;1&#xff09;进入FreeRTOS官网FreeRTOS professional services for application and RTOS development and consulting. FreeRTOS is an Open Source Code RTOS &#xff08;2&#xff09;点击下载FreeRTOS 2、处理目录 &…

千梦网创:有些事做的不如一泡尿顺畅

狗急了会跳墙&#xff0c;尿急了到路旁。 如果你有过在路边停车尿尿的经历&#xff0c;你一定体会过极度渴望是一种什么感觉。 你对那一刻的释放有着不可遏制无法压抑的情怀&#xff0c;所以不论时间地点人物情节&#xff0c;你都会风雨无阻的立即停在路边去解决你的“燃眉之…

数据结构与算法—排序算法(一)时间复杂度和空间复杂度介绍

排序算法 文章目录 排序算法1.排序算法的介绍1.1 排序的分类 2.算法的时间复杂度2.1 度量一个程序(算法)执行时间的两种方法2.2 时间频度2.2.1 忽略常数项2.2.2 忽略低次项2.2.3 忽略系数 2.3 时间复杂度2.3.1 常见的时间复杂度2.3.1.1 常数阶 O ( 1 ) O(1) O(1)2.3.1.2 对数阶…

8.STP生成树协议

8.STP生成树协议 资源被大量占用,网络卡顿,除非某条链路断开,不然会一直转发下去,不停的占用资源 同一个MAC地址,先从3口发来,又从2口发来,MAC地址表就会将旧的删掉,认为这个MAC地址属于2口所接的设备 有环路的时候,会禁用一个端口,虽然插着,但是处于阻塞状态 当另一条线路断开…

LAMP与LNMP架构

一、概述 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词&#xff0c;具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP&#xff08;或…

viple与物理机器人(一):线控模拟

为了检测viple程序与物理机器人是否能顺利连接上 如果能顺利连接上&#xff0c;那么&#xff0c;可以通过内建事件从而控制物理机器人的前进、后退、左转、右转以及暂停。 如果不能连接上&#xff0c;首先&#xff0c;程序无法控制物理机器人&#xff0c;其次&#xff0c;当vip…