OpenStack离线Train版安装系列—1控制节点-环境准备

2024-09-08 10:58

本文主要是介绍OpenStack离线Train版安装系列—1控制节点-环境准备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。
在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。

OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。


文章目录

  • 控制节点环境准备
    • 一、部署规划
      • 1.系统说明
      • 2.部署规划
    • 二、环境准备
      • 1.基础网络
      • 2.主机名称
        • (1)文件修改
        • (2)验证连通性
      • 3.免密登录
      • 4.禁用防火墙
        • (1)关闭iptables
        • (2)关闭 selinux
      • 5.yum源配置
        • (1)新建repo文件
        • (2)更新软件源
    • 三、系统基础软件安装
      • 1.Linux工具
      • 2.NTP时间同步
    • 四、OpenStack基础软件安装
      • 1、(省略)OpenStack仓库安装
      • 2.OpenStack客户端相关软件
      • 3.数据库SQL database
      • 4、消息队列Message queue
      • 5、缓存服务Memcached
      • 6、服务发现与注册Etcd
    • 五、完成控制节点环境准备


控制节点环境准备

一、部署规划

官方参考链接:OpenStack安装指南:环境,OpenStack安装指南:服务组件
CSDN博客参考:CentOS7安装OpenStack(Rocky版)-01.控制节点的系统环境准备

1.系统说明

(1)服务器操作系统
系统:Centos7
版本:CentOS-7-x86_64-Minimal-1908
镜像:阿里云下载地址CentOS-7-x86_64-Minimal-1908

(2)开发环境
VMware workstation Pro
在这里插入图片描述

(3)OpenStack版本:Train

2.部署规划

在这里插入图片描述
(1)节点说明
控制节点:controller,服务组件
计算节点:compute1,服务组件
可选节点:block等,其他各种服务组件。。。等

(2)物理网络
在部署之前做好网络部署规划,相关参考OpenStack官方安装指南:环境-网络。
①管理网IP地址段选择,建议使用使用官方文档中的示例地址段;
②物理网卡1,默认使用第1张网卡ens33,作为管理网卡;
③物理网卡2,可以为供应商网络;provider network。
至少准备两张网卡,建议网卡数量≥3.

管理网络:10.0.0.0/24;
供应网络:192.168.2.0/24,(使用网卡,以及使用网段可以根据实际情况进行确定);

(3)虚拟网络

  • 供应网络:192.168.2.0/24,ens34,根据实际情况确定;参考launch-instance-networks-provider
    在这里插入图片描述

在这里插入图片描述

  • 私有网络1:172.16.0.0/24,实例私有局域网;参考launch-instance-networks-selfservice
    在这里插入图片描述

在这里插入图片描述

(4)规划概览

主机名管理网络网卡1供应网络网卡2配置
controller10.0.0.11ens33192.168.2.11ens344C8G64G
compute110.0.0.31ens33192.168.2.31ens344C8G64G
compute210.0.0.32ens33192.168.2.32ens344C8G64G
compute310.0.0.33ens33192.168.2.33ens344C8G64G

注:更多节点类型,可以依次递增,但最好完成各类网络的规划。

本教程实际测试为,在后面的教程中以下面的地址为准。

主机名管理网络网卡1供应网络网卡2配置
controller192.168.232.101ens33192.168.2.101ens344C8G64G
compute1192.168.232.111ens33192.168.2.111ens344C8G64G
compute2192.168.232.112ens33192.168.2.112ens344C8G64G
compute3192.168.232.113ens33192.168.2.113ens344C8G64G

二、环境准备

1.基础网络

(1)网卡配置
博客参考:Centos7设置静态IP地址,CentOS7设置静态IP而且还可以上网
配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
# IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ea1c227b-1fad-48f0-942f-968d183b3523"
DEVICE="ens33"
ONBOOT="yes"# add follow
BOOTPROTO="static"
IPADDR="192.168.232.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.232.2"
DNS1="1.1.1.1"

(2)网关配置
配置文件:/etc/networks

[root@controller ~]# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0#add follow
NETWORKING=yes
GATEWAY=192.168.232.2

2.主机名称

(1)文件修改

配置文件/etc/hosts
控制节点

hostnamectl set-hostname controller
exec bash
[root@controller ~]# hostnamectl set-hostname controller
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点1

hostnamectl set-hostname compute1
exec bash
[root@compute1 ~]# hostnamectl set-hostname compute1
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点2

hostnamectl set-hostname compute2
exec bash
[root@compute2 ~]# hostnamectl set-hostname compute2
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

计算节点3

hostnamectl set-hostname compute3
exec bash
[root@compute3 ~]# hostnamectl set-hostname compute3
echo 192.168.232.101 controller >> /etc/hosts
echo 192.168.232.111 compute1 >> /etc/hosts
echo 192.168.232.112 compute2 >> /etc/hosts
echo 192.168.232.113 compute3 >> /etc/hosts

存储节点(可选),参考官方说明官方environment-networking-storage-cinder
注:
①某些发行版本在/etc/hosts 文件中添加了多余的条目,该条目将实际的主机名解析为另一个回送IP地址,例如127.0.1.1。如果有的话,则必须将其注释或删除,以防止名称解析问题。
②不要删除127.0.0.1条目。
③每一个节点都需要对其他节点进行主机名的解析配置。
主机名修改完成后,退出当前终端,重新登录服务器。

(2)验证连通性

在每一个节点都要进行连通性测试,最后一条ping qq.com,管理网络不一定需要和公用互联网络连通。

ping -c 4 controller
ping -c 4 compute1
ping -c 4 compute2
ping -c 4 compute3
ping -c 4 qq.com

3.免密登录

【可选】

  • 在此之前,需要先进行root密码的设置
  • 以及允许root的ssh远程登陆(一般为permissionrootlogin项)设置为yes,并且重启ssh服务
  • 至少保证控制节点和计算节点,(如果需要配置所有控制和计算节点相互之间的无密码登录,每个节点都 要进行以下操作。)
ssh-keygen -t rsa
ssh-copy-id controller
ssh controller
ssh-copy-id compute1
scp -r .ssh compute1:~/
ssh compute1

控制节点计算节点

[root@controller ~]# ssh-keygen -t rsa			#生成公私钥文件,连续回车
[root@controller ~]# ssh-copy-id controller		#将公钥复制到目标机器中,需要输入当前用户为root,对应controller主机的也应是root的密码
[root@controller ~]# ssh controller				#测试登录,然后exit退出测试终端[root@controller ~]# ssh-copy-id compute1 		#将公钥复制到目标机器中,需要输入当前用户为root,对应compute1主机的也应是root的密码
[root@controller ~]# scp -r .ssh compute1:~/ 	#文件复制到compute1,完成相互免密登录。
[root@controller ~]# ssh compute1				#测试登录,然后exit退出测试终端[root@controller ~]# ssh-copy-id compute2 		#将公钥复制到目标机器中,需要输入当前用户为root,对应compute2主机的也应是root的密码
[root@controller ~]# scp -r .ssh compute2:~/ 	#文件复制到compute2,完成相互免密登录。
[root@controller ~]# ssh compute2				#测试登录,然后exit退出测试终端
。。。

4.禁用防火墙

(1)关闭iptables

在CentOS7上面是firewalld服务,停止并且禁止开机启动firewalld.service

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
(2)关闭 selinux
setenforce 0
getenforce
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
grep SELINUX=disabled /etc/sysconfig/selinux

5.yum源配置

(1)新建repo文件

首先移除原系统自带的repo文件,避免和新建的配置文件内容冲突

cd
mkdir ori_repo-config
mv /etc/yum.repos.d/* ./ori_repo-config/
touch /etc/yum.repos.d/CentOS-PrivateLocal.repo
vim /etc/yum.repos.d/CentOS-PrivateLocal.repo

文件内容:/etc/yum.repos.d/CentOS-PrivateLocal.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.2.111/yumrepository/base/
gpgcheck=0
enabled=1[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.2.111/yumrepository/updates/
gpgcheck=0
enabled=1[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.2.111/yumrepository/extras/
gpgcheck=0
enabled=1[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://192.168.2.111/yumrepository/centos-openstack-train/
gpgcheck=0
enabled=1[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://192.168.2.111/yumrepository/centos-qemu-ev/
gpgcheck=0
enabled=1[centos-ceph-nautilus]
name=CentOS-7 - Ceph Nautilus
baseurl=http://192.168.2.111/yumrepository/centos-ceph-nautilus/
gpgcheck=0
enabled=1[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://192.168.2.111/yumrepository/centos-nfs-ganesha28/
gpgcheck=0
enabled=1
(2)更新软件源
[root@controller ~]# yum clean all
[root@controller ~]# yum makecache
[root@controller ~]# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                 repo name                     status
base                    CentOS-7 - Base               10097 
centos-ceph-nautilus    CentOS-7 - Ceph Nautilus      224 
centos-nfs-ganesha28    CentOS-7 - NFS Ganesha 2.8    140 
centos-openstack-train  CentOS-7 - OpenStack train    2323 
centos-qemu-ev          CentOS-7 - QEMU EV            87 
extras                  CentOS-7 - Extras             341 
updates                 CentOS-7 - Updates            1787 
repolist: 14999
[root@controller ~]# 

三、系统基础软件安装

1.Linux工具

yum install -y lsof vim net-tools wget git 

2.NTP时间同步

官方参考:OpenStack官方文档:环境-NTP
博客园参考:CentOS7安装OpenStack(Rocky版)-01.控制节点的系统环境准备

yum  -y install chrony
vim /etc/chrony.conf

(1)编辑chrony.conf文件,添加以下内容。

# add follow
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
allow 192.168.232.2/24

注意:
①替换NTP_SERVER为合适的更准确(较低层)NTP服务器的主机名或IP地址。
②该配置支持多个server键。默认情况下,控制器节点通过公共服务器池同步时间。但是也可以选择配置备用服务器,例如组织提供的服务器。
③要使其他节点能够连接到控制器节点上的chrony守护程序,请将此密钥添加到上述相同的chrony.conf文件中:allow 10.0.0.0/24,如有必要,请替换10.0.0.0/24为您的子网描述。

(2)重新启动NTP服务,并配置开机启动:

systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service

(3)设置时区,同步时间

timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status
[root@controller ~]# timedatectl set-timezone Asia/Shanghai
[root@controller ~]# chronyc sources
210 Number of sources = 6
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- 139.199.214.202               2   9   377   424  +2409us[+2409us] +/-   33ms
^- 4-53-160-75.rev.nuso.clo>     2   9   173    57    -19ms[  -19ms] +/-  165ms
^- hydra.spiderspace.co.uk       2   9   157   599  +2178us[+2178us] +/-  139ms
^- srcf-ntp.stanford.edu         2   9   137     3    +15ms[  +15ms] +/-  118ms
^* 120.25.115.20                 2   9   377   779  +1182us[+1340us] +/-   10ms
^- 203.107.6.88                  2  10   377   403  -5063us[-5063us] +/-   37ms
[root@controller ~]# timedatectl statusLocal time: Wed 2020-04-22 14:33:50 CSTUniversal time: Wed 2020-04-22 06:33:50 UTCRTC time: Wed 2020-04-22 06:26:21Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yes
NTP synchronized: noRTC in local TZ: noDST active: n/a
[root@controller ~]#

四、OpenStack基础软件安装

1、(省略)OpenStack仓库安装

【所有节点】
在进行本地源配置的时候已经将本地仓库中的相关yum源配置其中,故此步骤周可省略。
OpenStack官方文档environment-packages-rdo

  • On CentOS, the extras repository provides the RPM that enables the OpenStack repository.
  • CentOS includes the extras repository by default, so you can simply install the package to enable the OpenStack repository.
yum clean all
yum makecache
yum repolist
yum update -y #可选
yum install centos-release-openstack-train -y
yum clean all
yum makecache

2.OpenStack客户端相关软件

yum install python-openstackclient openstack-selinux -y
yum install openstack-utils -y 

openstack-utils 用于OpenStack配置文件的快速配置。

3.数据库SQL database

(1)安装mariadb相关软件包

[root@controller ~]# yum install mariadb mariadb-server MySQL-python python2-PyMySQL -y

(2)创建openstack的数据库配置文件,/etc/my.cnf.d/mariadb_openstack.cnf

[root@controller ~]# vim /etc/my.cnf.d/mariadb_openstack.cnf

在[mysqld]添加以下配置

[mysqld]
bind-address = 0.0.0.0
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
init-connect = 'SET NAMES utf8'

配置解释:

#默认存储引擎
default-storage-engine = innodb   
#使用独享表空间模式,每一个表都会建一个表空间,都会有索引文件,查索引快,共享表空间,共用一个表空间和索引,如果有损坏很难修复,比如说zabbix用到的数据库如果不使用的独享表空间,很难进行优化
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

(3)启动数据库,初始化数据库并设置开机启动

systemctl restart mariadb.service
systemctl status mariadb.service systemctl enable mariadb.service 
systemctl list-unit-files |grep mariadb.service

设置数据库root账户密码,默认密码为空

/usr/bin/mysql_secure_installation
# 输入命令后,第一次按回车,Y,设置密码,然后输入root账户,密码为root,然后一路y回车,直至安装成功。
systemctl restart mariadb.service
systemctl status mariadb.service

注意:生产环境可以使用pwgen工具生成数据库密码

openssl rand -hex 10

(4)测试下数据库,相关的数据库在需要时单独创建

mysql -proot
-----------------------------------
flush privileges;
show databases;
select user,host from mysql.user;
exit
-----------------------------------

4、消息队列Message queue

消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。
消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。
队列的使用除去了接收和发送应用程序同时执行的要求。
RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。遵循 Mozilla Public License 开源协议。

(1).安装rabbitmq-server

yum install rabbitmq-server -y

(2).启动rabbitmq,并配置自启动
端口5672,15672,用于排错

systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.servicesystemctl enable rabbitmq-server.service
systemctl list-unit-files |grep rabbitmq-server.service

(3).创建消息队列中openstack账号及密码
添加openstack用户和密码,配置用户权限,配置读,写权限
格式为:

rabbitmqctl add_user openstack RABBIT_PASS

将Replace RABBIT_PASS 更换为安全性合适的密码.

#这里可能会报错,修改主机名之后,需要退出当前终端重新登陆。
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl set_permissions -p "/" openstack ".*" ".*" ".*"

(4)启用rabbitmq_management插件实现 web 管理

#查看支持的插件
rabbitmq-plugins list
# 启用web管理插件,需要重启服务使之生效
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service
rabbitmq-plugins listlsof -i:15672

(5).浏览器访问RabbitMQ进行测试
访问地址:http://192.168.232.101:15672
默认用户名密码都是guest,web界面可以管理和创建用户,管理权限如果无法访问请查看控制节点的防火墙配置状态。
可以进入选择admin,点击openstack用户名,设置openstack用户的密码和权限,然后update user,退出当前guest用户,使用用户名openstack密码openstack登录。
至此,RabbitMQ配置完毕

5、缓存服务Memcached

认证服务使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,推荐联合启用防火墙、认证和加密保证它的安全。
(1)安装Memcached用于缓存令牌

yum install memcached python-memcached -y

(2)修改memcached配置文件

# 如果没有启用IPv6地址需要删掉::1的地址绑定
vim /etc/sysconfig/memcached
----------------------------------
OPTIONS="-l 127.0.0.1,controller"
----------------------------------# memcached参数说明:
-d选项是作为守护进程在后台运行 
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, 
-u是运行Memcache的用户,我这里是root, 
-l是监听的服务器IP地址,如果有多个地址的话 
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口, 
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定, 
-P是设置保存Memcache的pid文件
-vv是以very vrebose模式启动,将调试信息和错误输出到控制台

(3)启动memcached并设置开机自启动

systemctl start memcached.service
systemctl status memcached.service
netstat -anptl|grep memcachedsystemctl enable memcached.service
systemctl list-unit-files |grep memcached.service

至此,memcached配置完毕

6、服务发现与注册Etcd

这个Etcd服务是新加入的,用于自动化配置
(1).安装etcd服务

yum install etcd -y

(2).修改etcd配置文件

# 注意IP地址不能用controller替代,无法解析  
vim /etc/etcd/etcd.conf
-----------------------------------
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.232.101:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.232.101:2379"
ETCD_NAME="controller"#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.232.101:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.232.101:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.232.101:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
------------------------------------

(3)启动etcd并设置开机自启动

systemctl start etcd.service
systemctl status etcd.service
netstat -anptl|grep etcdsystemctl enable etcd.service
systemctl list-unit-files |grep etcd.service

五、完成控制节点环境准备

至此,控制节点controller就完成基础环境的配置,后面可以开始安装 openstack 的组件。
使用VMware虚拟机的话,现在可以关机做快照 。

这篇关于OpenStack离线Train版安装系列—1控制节点-环境准备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147922

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装