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
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
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文件查看

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Doris学习笔记

目录 简介 特点 MPP数据库 PB和EB都是用来衡量数据存储量的单位。 秒级响应 Google Mesa Apache Impala 支持标准sql且兼容mysql协议 ROLAP OLAP&#xff08;On-Line Analytical Processing&#xff0c;联机分析处理&#xff09; ROLAP&#xff08;Relational On-Line An…

理解Mysql索引原理及特性

作为开发人员&#xff0c;碰到了执行时间较长的sql时&#xff0c;基本上大家都会说”加个索引吧”。但是索引是什么东西&#xff0c;索引有哪些特性&#xff0c;下面和大家简单讨论一下。 1 索引如何工作&#xff0c;是如何加快查询速度 索引就好比书本的目录&#xff0c;提高数…

智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.差分进化算法4.实验参数设定5.算法结果6.…

FTP、U盘等传统数据安全摆渡方法的6个弊端

数据安全摆渡&#xff0c;即数据在不同的网络之间&#xff0c;进行安全流转。做网间隔离的初衷&#xff0c;就是为了保护数据安全&#xff0c;但是在数据摆渡时&#xff0c;除了安全&#xff0c;企业还是需要考虑其他的要素&#xff0c;比如可靠性、易用性、兼容性等等。而传统…

linux 防火墙systemctl (个人笔记)

查看 systemctl status firewalld 开启 systemctl start firewalld 关闭 systemctl stop firewalld.service 查看所有 firewall-cmd --zonepublic --list-ports 开放端口&#xff1a;// --permanent 永久生效,没有此参数重启后失效 firewall-cmd --zonepublic --add-port9527/…

c语言 词法分析器《编译原理》课程设计 文本形式保存

词法分析器的功能输入源程序&#xff0c;按照构词规则分解成一系列单词符号。单词是语言中具有独立意义的最小单位&#xff0c;包括关键字、标识符、运算符、界符和常量等。 (1) 关键字&#xff1a;是由程序语言定义的具有固定意义的标识符。例如begin&#xff0c;end&#xf…

SpringBoot中日志的使用log4j2

SpringBoot中日志的使用log4j2 1、log4j2介绍 Apache Log4j2 是对 Log4j 的升级&#xff0c;它比其前身 Log4j 1.x 提供了重大改进&#xff0c;并提供了 Logback 中可用的许多改 进&#xff0c;同时修复了 Logback 架构中的一些问题&#xff0c;主要有&#xff1a; 异常处理…

GPDB - 高可用特性 - 同步复制与异步复制

GPDB - 高可用特性 - 同步复制与异步复制 GreenPlum是基于PostgreSQL的分布式数据库&#xff0c;master用于接收用户请求并生成执行计划与分发&#xff0c;当然也可以参与计算&#xff1b;而segment则用于存储数据&#xff0c;将计算的结果传递给master。Segment本身具有高可用…

5.4 Linux KickStart 无人值守安装

1、概念介绍 搭建无人执行安装服务器需要从装网络引导安装操作系统&#xff0c;这样我们就可以不必走到机器那里插入CD&#xff0d;ROM光盘或者U盘手动一台一台安装操作系统&#xff0c;使用网络引导批量部署服务器操作系统。 服务架构&#xff1a;PXE DHCP TFTP Kickstar…

dockerfite创建镜像---INMP+wordpress

目录 搭建dockerfile---lnmp 创建nginx镜像 运行 创建数据库镜像 运行 ​编辑 创建php镜像 运行 搭建dockerfile---lnmp 在192.168.10.201 服务IP地址nginx 172.111.0.10 dockernginxmysql172.111.0.20dockermysqlphp172.111.0.30dockerphp 创建nginx镜像 路径 vim /…

python基本数据类型(一)-字符串

1.字符串 字符串就是一系列字符&#xff0c;在Python中&#xff0c;用引号括起的都是字符串&#xff0c;其中的引号可以是单引号&#xff0c;也可以是双引号&#xff0c;如下所示&#xff1a; "This is a string." This is also a string.这种灵活性让你能够在字符…

【产品经理】产品增效项目落地,项目反哺产品成长

产品和项目是相辅相成的关系&#xff0c;产品的规范、成熟&#xff0c;为项目的快速落地提供支撑&#xff0c;项目的落地反哺产品&#xff0c;促进产品的成长成熟。 软件工程的初期是&#xff0c;我们需要什么&#xff0c;就立项项目&#xff0c;通过项目实现需要。 随着项目的…

用实例域代替序数

在Java中&#xff0c;枚举类型的ordinal()方法返回枚举常量的序数&#xff08;即其在枚举声明中的位置&#xff09;。在某些情况下&#xff0c;使用实例域&#xff08;instance field&#xff09;代替序数可能更加安全和易读。以下是一个示例&#xff0c;演示如何使用实例域代替…

低代码开发如何快速构建AI应用

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;越来越多的企业和开发者开始意识到AI在业务和应用中的重要性。然而&#xff0c;AI应用的开发通常被认为是复杂和耗时的过程&#xff0c;需要大量的编码和数据科学知识。为了解决这个问题&#xff0c;低代码开发平…

图片转HTML-screenshot-to-code

Github地址 https://github.com/abi/screenshot-to-code 在线站 Screenshot to Code 简介 这是一个基于GPT4开发的一个工具站&#xff0c;它可以基于截图生成站点代码&#xff0c;生成速度快且准确。

Linux-----2、虚拟机安装Linux

# 虚拟机安装Linux # 一、学习环境介绍 # 1、虚拟机概述 1、什么是虚拟机软件&#xff1f; 虚拟机软件&#xff0c;有些时候想模拟出一个真实的电脑环境&#xff0c;碍于使用真机安装代价太大&#xff0c;因此而诞生的一款可以模拟操作系统运行的软件。 虚拟机软件目前有2…

DSP定时器0笔记

首先了解开发板TMS320f28335是150Mhz的频率 定时器结构图和概要 定时器0对应的中断是TINT0 大概是这样&#xff0c;时钟sysclkout 进入和TCR控制时钟进入 &#xff0c;经过标定计数器&#xff08;stm32的预分频&#xff09;&#xff0c;标定器挂这自动装载寄存器&#xff0c…

Unity中实现ShaderToy卡通火(移植篇)

文章目录 前言一、准备好我们的后处理基础脚本1、C#&#xff1a;2、Shader&#xff1a; 二、开始逐语句对ShaderToy进行转化1、首先&#xff0c;找到我们的主函数 mainImage2、其余的方法全部都是在 mainImage 函数中调用的方法3、替换后的代码(已经没报错了&#xff0c;但是效…

基于ssm旅游网站的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本旅游网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&#x…

rocketmq window测试小Demo 解决找不到或无法加载主类的问题

文章目录 rocketMQ启动1.下在相关的二进制文件2.配置环境变量3.启动NameServer4.启动broker5. MQ 启动&#xff01;5.1 测试发送数据 6.关闭服务 rocketMQ启动 1.下在相关的二进制文件 下载地址&#xff0c;点击即达 2.配置环境变量 3.启动NameServer 在文件夹下执行cmd进…