CDH6.3.2安装

文章目录

    • @[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
EOFansible 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; thenecho never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; thenecho 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 ~]# timedatectlLocal time: Mon 2023-12-11 10:05:51 CSTUniversal time: Mon 2023-12-11 02:05:51 UTCRTC time: Mon 2023-12-11 02:05:51Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yes
NTP synchronized: yesRTC in local TZ: noDST 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<8UDThe 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
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.mzph.cn/news/215804.shtml

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

相关文章

el-collapse 默认展开第一个(实测有效)

<el-collapse accordion v-model"activeCollapse"> <el-collapse-item v-for"(item, index) in assetList" :name"index" :key"item.id" > 我这个是通过循环, 只需要v-model 绑定的值和 name 相等,就可以实现展开 然后就…

重新认识Word——给图、表、公式等自动编号

重新认识Word——给图、表、公式等自动编号 给图增加题注题注失败的情况给图添加“如图xx-xx所示” 给公式插入题注第一步——先加题注第二步——设置两个制表符 解决题注“图一-1”的问题 前面我们已经学习了如何引用多级列表自动编号了&#xff0c;现在我们有第二个问题&…

大数据湖体系规划与建设方案:PPT全文51页,附下载

关键词&#xff1a;大数据解决方案&#xff0c;数据湖解决方案&#xff0c;数据数仓建设方案&#xff0c;大数据湖建设规划&#xff0c;大数据湖发展趋势 一、大数据湖体系规划与建设背景 在传统的企业信息化建设中&#xff0c;各个业务系统通常是独立建设的&#xff0c;导致…

学习笔记10——Mysql的DDL语句

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/197161.html 数据库创建&#xff1a; CREATE DATABASE books&#xff1b; CREATE DATABASE IF NOT EXISTS books;更改字符集 ALTER DATABASE books CHARACTER SET gbk;库的删…

C语言常用字符串

目录 1.什么是字符串 2.如何定义字符串 第3和第4定义的区别&#xff1a;3是字符串变量&#xff0c;4是字符串常量&#xff0c;不予许被修改 3.strlen和sizeof的区别 4.地址分配&#xff08;malloc,realloc,free,memset&#xff09; 案例 5.字符串拷贝(strcpy,strncpy) …

JS实现返利网注册系统(网页数据验证)

主代码 <!DOCTYPE HTMLPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"><head><title>返利网注册</tit…

品牌线下店铺的查价方式

不同于电商平台&#xff0c;线下店铺会更传统&#xff0c;产品定价除了受品牌规则的约束&#xff0c;同样也与门店实际销量和促销有关&#xff0c;当遇到地方活动&#xff0c;促销力度大了&#xff0c;价格难免会与品牌要求相差异&#xff0c;但是管控渠道&#xff0c;包含线上…

痤疮分割 实验心路历程

数据集的制作 将labelme生成的标注文件记普通的json文件转成coco数据集格式的json文件 图像分辨率过大 如果不做任何调整&#xff1a; 会出现“killed”的报错&#xff0c;表示图片像素过大&#xff0c;显卡内存不够&#xff0c;无法支撑训练 显卡 换成更高性能的显卡&am…

FPGA高端项目:UltraScale GTH + SDI 视频解码,SDI转DP输出,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 GT 高速接口解决方案我目前已有的SDI编解码方案 3、详细设计方案设计框图3G-SDI摄像头LMH0384均衡EQUltraScale GTH 的SDI模式应用UltraScale GTH 基本结构参考时钟的选择和分配UltraScale GTH 发送和接收处理流程UltraScale…

『Redis』在Docker中快速部署Redis并进行数据持久化挂载

&#x1f4e3;读完这篇文章里你能收获到 在Docke中快速部署Redis如何将Redis的数据进行持久化 文章目录 一、拉取镜像二、创建挂载目录1 宿主机与容器挂载映射2 挂载命令执行 三、创建容器—运行Redis四、查看运行情况 一、拉取镜像 版本号根据需要自己选择&#xff0c;这里以…

AI 种菜革命:农业科学家们的探索/《流浪地球》导演感受到AI的威胁,《浪球3》也遇灵感洗礼 | 魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525; 资讯预览 AI 种菜革命&#xff1a;农业科学家们的探索 《流浪地球》导演感受到AI的威…

外贸:这些你可能并不知道

昨天我打开平台&#xff0c;然后发现有一个产品被限流了&#xff0c;限流的原因是有客户投诉产品的价格和实际销售的价格不符&#xff0c;然后查看产品&#xff0c;发现是之前很久发布的一款产品&#xff0c;于是赶紧删除了。 以往&#xff0c;我们在平台上发布产品的时候为了…

STM32超声波——HC_SR04

文章目录 一.超声波图片二.时序图三.超声波流程四.单位换算五.取余计算六.换算距离七.超声波代码 一.超声波图片 测量距离&#xff1a;2cm——400cm 二.时序图 (1).以下时序图要先提供一个至少10us的脉冲触发信号&#xff0c;告诉单片机我准备好了&#xff0c;然后该超声波…

电脑连接了wifi但是没有网络

电脑连接了WiFi但是网络不可用 问题场景&#xff1a;问题描述解决方案&#xff1a; 问题场景&#xff1a; 搬砖搬的好好的&#xff0c;电脑的WiFi突然就断开了&#xff0c;这时候还没意识到问题的严重性&#xff0c;直接就去重新连WiFi&#xff0c;能连上&#xff0c;但是没有…

医院HIS系统慢和卡顿网络流量分析

分析背景 近期医院的医生使用HIS系统的时候&#xff0c;经常出现系统慢和卡顿现象。经过交流得知医生在点击一个页面&#xff0c;需要等很久才能加载出来&#xff0c;且对于开药这种的操作&#xff0c;医生需要点每个大类去找到对应的药&#xff0c;每点一次都需要等一会儿才能…

灰度图存储 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰色阶段值,256节阶灰图是一个灰阶值取值范围为0-255的灰阶矩阵,0表示全黑,255表示全白,范围内的其他值表示不同的灰度。 但在计算机中实…

杰发科技AC7840——CAN通信简介(1)

简介 7840支持4路CAN-FD Demo调试 官网下载demo&#xff0c;烧录&#xff0c;打开串口发现打印如下。原因是没有连接CAN盒子&#xff0c;总线错误。 CAN收发器端波形 CAN_L有信号&#xff0c;CAN_H没有 波形放大 GPIO端波形 有持续波形输出 波形放大查看&#xff0c;有50U…

【尘缘送书第六期】2023年度学习:AIGC、AGI、GhatGPT、人工智能大模型实现必读书单

【文末送书】今天推荐几本AIGC、AGI、GhatGPT、人工智能大模型领域优质书籍。 目录 前言1 《ChatGPT 驱动软件开发》2 《ChatGPT原理与实战》3 《神经网络与深度学习》4 《AIGC重塑教育》5 《通用人工智能》6 文末送书 前言 2023年是人工智能大语言模型大爆发的一年&#xff0…

IJCAI 2024 International Joint Conference on Artificial Intelligence

目录 1、 重要1.1 官网&#xff1a;1.2 提交网址&#xff1a;1.3 模板 &#xff08;latex & word&#xff09; 2、 Call for Papers2.1 Important Dates2.2 Details 3、 注意事项4 New in 20245 Simplified procedure for resubmission information6、 Submission Process …

电脑出现错误0x80004005怎么解决,解决0x80004005的问题

当电脑出现0x80004005错误时&#xff0c;通常是由于系统或应用程序之间的通信问题或文件系统损坏引起的。该错误代码表示未指定错误&#xff0c;在Windows系统中较为常见。 一.解决0x80004005错误的步骤 重新启动电脑 有时候&#xff0c;错误只是一个暂时的问题&#xff0c;重…