当前位置: 首页 > news >正文

HiDataPlus 3.3.2-005 搭建(个人的一点心得体会 x86 平台)

HDP 集群搭建

前置安装

yum -y install createrepo
yum install -y lrzsz
yum install -y wget
yum install -y vim

修改当前集群机器的主机名

hostnamectl set-hostname XXX

​ 这里的 XXX 就是要设置的当前机器的主机名称。主机名称是集群唯一的,一定不要重复!

安装基础环境

rpm -qa | grep java   rpm -e --nodeps 旧包
mkdir /opt/download /opt/software
echo 'export JAVA_HOME=/opt/software/jdk1.8.0_311' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH:' >> /etc/profile

配置主机间的映射 - 3

echo '192.168.3.126 hdp3.node1' >> /etc/hosts
echo '192.168.3.127 hdp3.node2' >> /etc/hosts
echo '192.168.3.128 hdp3.node3' >> /etc/hosts

关闭防火墙及selinux - 3

systemctl stop firewalld.service | systemctl disable firewalld.service | systemctl status firewalld.service | setenforce 0 | sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

重启3台机器后进行验证是否修改成功

# sestatus -v
SELinux status:                 disabled

配置ssh互信 - 3

ssh-keygen -t rsa
ssh-copy-id hdp3.node1
ssh-copy-id hdp3.node2
ssh-copy-id hdp3.node3

配置ntp时钟同步 - 3台

卸载系统原装的chrony

yum -y remove chronyd

所有节点安装NTP服务

yum -y install ntp
systemctl restart ntpd
systemctl enable ntpd.service

rpm包检查关闭

sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.conf

安装http服务 - 本服务仅安装在解压了安装包的机器上

yum -y install httpd
systemctl start httpd
systemctl enable httpd.service

安装Ambari&HDP - 主

cd /opt/download/HDP3.3.2.0-005/
mkdir /var/www/html/ambari
mkdir /var/www/html/HDP
mkdir /var/www/html/HDP-UTILS
mkdir /var/www/html/HDP-GPL
tar -zxvf ambari-2.7.6.0-25-redhat7-x86_64.tar.gz -C /var/www/html/ambari 
tar -zxvf HDP-3.3.2.0-005-redhat789-x86_64-2.tar.gz -C /var/www/html/HDP
tar -zxvf HDP-UTILS-1.1.0.22-centos7_8-x86_64.tar.gz -C /var/www/html/HDP-UTILS/
tar -zxvf HDP-GPL-3.3.2.0-005-redhat789-x86_64.tar.gz -C /var/www/html/HDP-GPL/
cd /var/www/html/
chown -R root:root HDP
chown -R root:root HDP-GPL
chown -R root:root HDP-UTILS
chmod -R 755 HDP
chmod -R 755 HDP-GPL
chmod -R 755 HDP-UTILScreaterepo /var/www/html/ambari/2.7.6.0-25/

安装mariadb - 主

rpm -qa |grep -i mysql
rpm -qa |grep -i mariadb
rpm -e --nodeps 旧包
yum install mariadb-server -ysystemctl enable mariadb
systemctl start mariadb# 初始化 mariadb
/usr/bin/mysql_secure_installation
按照以下过程进行 mariadb 的初始化操作
[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:123456
Re-enter new password:123456
[...] 
Remove anonymous users? [Y/n] Y 
[...] 
Disallow root login remotely? [Y/n] N 
[...] 
Remove test database and access to it [Y/n] Y 
[...] 
Reload privilege tables now? [Y/n] Y 
[...] 
All done! If you've completed all of the above steps, your MariaDB 18 installation should now be secure. 
Thanks for using MariaDB!
初始化完成后开始准备 mariadb 连接器
mkdir /usr/share/java/
# 上传mysql连接器
cp mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';FLUSH PRIVILEGES;
# 如果需要ranger,编辑以下⽂件: vi /etc/my.cnf 并添加以下⾏:
# vi /etc/my.cnfecho "log_bin_trust_function_creators = 1" >> /etc/my.cnf
# 重启并登陆
systemctl restart mariadb
mysql -uroot -p123456

制作本地源 - 3台机器

​ 这里需要注意,baseurl 属性所对应的 http 地址就是之前我们安装 http 服务的机器。路径就是将 /var/www/http/ 替换为 http://hostname/ 后续路径不变。

touch /etc/yum.repos.d/ambari.repoecho "[Ambari]" >> /etc/yum.repos.d/ambari.repo
echo "name=ambari" >> /etc/yum.repos.d/ambari.repo
echo "baseurl=http://hdp3.node1/ambari/2.7.6.0-25/" >> /etc/yum.repos.d/ambari.repo
# 重新创建 Yum 源
yum clean all
yum makecatch
yum repolist

安装和配置ambari-server - 主

mkdir -p /var/lib/ambari-server/resources/
yum install -y ambari-server --nogpgcheckcp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/# --------------------------------- 添加
# vim /etc/ambari-server/conf/ambari.properties
echo "server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar" >> /etc/ambari-server/conf/ambari.properties
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
初始化ambari-server - 主

登录mariadb创建ambari安装所需要的库

mysql -uroot -pRhein.2023
CREATE DATABASE ambari; 
use ambari; set global validate_password_policy=0;
set global validate_password_length=1;CREATE USER 'ambari'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; 
CREATE USER 'ambari'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost'; 
CREATE USER 'ambari'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'hdp3.node1'; source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sqlshow tables; 
use mysql; 
select host,user from user where user='ambari'; 
CREATE DATABASE hive; 
use hive; 
CREATE USER 'hive'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; 
CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost'; 
CREATE USER 'hive'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hdp3.node1'; CREATE DATABASE oozie; 
use oozie; 
CREATE USER 'oozie'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; 
CREATE USER 'oozie'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost'; 
CREATE USER 'oozie'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'hdp3.node1'; CREATE DATABASE hue; 
use hue; 
CREATE USER 'hue'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%'; 
CREATE USER 'hue'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'localhost'; 
CREATE USER 'hue'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'hdp3.node1'; CREATE DATABASE dolphinscheduler; 
use dolphinscheduler; 
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'dolphinscheduler'@'%'; 
CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'dolphinscheduler'@'localhost'; 
CREATE USER 'dolphinscheduler'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'dolphinscheduler'@'hdp3.node1'; CREATE DATABASE druid; 
use druid; 
CREATE USER 'druid'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'druid'@'%'; 
CREATE USER 'druid'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'druid'@'localhost'; 
CREATE USER 'druid'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'druid'@'hdp3.node1'; CREATE DATABASE superset; 
use superset; 
CREATE USER 'superset'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'%'; 
CREATE USER 'superset'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'localhost'; 
CREATE USER 'superset'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'hdp3.node1'; CREATE DATABASE ranger; 
use ranger; 
CREATE USER 'rangeradmin'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'%'; 
CREATE USER 'rangeradmin'@'localhost' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'localhost'; 
CREATE USER 'rangeradmin'@'hdp3.node1' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'hdp3.node1'; FLUSH PRIVILEGES;
service mysqld restart
ambari-server setup
# (1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
#(2)ambari-server 守护进程账号。如果直接回车就是默认选择root用户
Enter user account for ambari-server daemon (root):
Adjusting ambari-server permissions and ownership...
#(3)检查防火墙是否关闭
Adjusting ambari-server permissions and ownership...
Checking firewall...
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)?
# 直接回车
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
#==============================================================================
#(4)设置JDK。输入:2
Enter choice (1): 2
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
# 如果上面选择 2 自定义JDK,则需要设置JAVA_HOME。输入:/opt/software/jdk1.8.0_311
Path to JAVA_HOME: /apps/software/jdk1.8.0_311
Validating JDK on Ambari Server...done.GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
# 是否安装 GPL
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? yCompleting setup...
Configuring database...
#(5)数据库配置。选择:y
Enter advanced database configuration [y/n] (n)? y
Configuring database...
#==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL/ MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
#==============================================================================
#(6)选择数据库类型。输入:3
Enter choice (3): 3
#(7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。
Hostname (localhost):node1
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):123456
Re-Enter password: 123456
#(8)将Ambari数据库脚本导入到数据库
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 这个sql后面会用到,导入数据库
Proceed with configuring remote database connection properties [y/n] (y)? y

启动ambari服务 - 主节点

systemctl start ambari-server

安装ambari-agent - 3台机器

yum -y install ambari-agent --nogpgcheck
systemctl start ambari-agent
sed -i 's/hostname=localhost/hostname=hdp3.node1/' /etc/ambari-agent/conf/ambari-agent.ini

安装 libtirpc-devel - 3

yum -y install libtirpc-devel

WEB端集群部署

登录界面:http://hdp3.node1:8080
默认管理员账户登录, 账户:admin 密码:admin

在这里插入图片描述

​ 开始创建相应的集群

在这里插入图片描述

​ 在标签 1 的位置输入要创建的集群的名称,名称可以任意。

​ 输入完成后点击标签 2 的 next 继续下一步的安装。

在这里插入图片描述

1 - 选择版本,配置yum源
2 - 选择版本并修改本地源地址
3 - 选HDP-3.1(Default Version Definition);
4 - 选Use Local Repository;
5 - 选redhat7(这里因为当前选择的系统是Centos7所以选择 Redhat7 ,如果此处是安装在其他系统上的就要选择对应的系统):

HDP-3.1:				http://hdp3.node4/HDP/3.3.2.0-005/
HDP-3.1-GPL: 			http://hdp3.node4/HDP-GPL/gpl-3.3.2.0-005/
HDP-UTILS-1.1.0.22: 	http://hdp3.node4/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/

配置节点和密钥

在主节点执行以下命令:

cat /root/.ssh/id_rsa

将执行的内容放置到web页面指定位置即可

在这里插入图片描述

​ 这里继续点击 CONTINUE 即可

在这里插入图片描述

​ 之后就可以看到集群正在安装,等待安装成功后点击 NEXT 即可

在这里插入图片描述

​ 安装成功后页面如下所示:

在这里插入图片描述

​ 点击 Next 后出现如下页面:

在这里插入图片描述

Sqoop

Sqoop访问Hive异常:

error:
INFO hive.HiveImport: Connecting to jdbc:hive2://hdp3.node1:2181,hdp3.node2:2181,hdp3.node3:2181/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
ERROR tool.ImportTool: Import failed: java.io.IOException: Hive exited with status 2at org.apache.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:253)
解决方案:

1-在 hive 的 conf 目录下创建 beeline-hs2-connection.xml 文件:

hdp 的 conf 目录:/usr/hdp/3.3.2.0-005/hive/conf
vim /usr/hdp/3.3.2.0-005/hive/conf/beeline-hs2-connection.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property><name>beeline.hs2.connection.user</name><value>hive</value>
</property>
<property><name>beeline.hs2.connection.password</name><value>hive</value>
</property>
</configuration>

2-新建一个存储格式为textfile的临时表

create table hive_db.hive_01( id string comment 'Id') 
row format delimited fields terminated by '\001' 
stored as textFile;

3-将数据导入临时表中(Sqoop执行的Import写入到临时表中)
4-通过查询插入的方式将临时表数据导入目标表

insert overwrite table hive_db.news_detail_hive select * from hive_db.news_detail_hive_01;

HDFS 权限检查属性设置

dfs.permissions.enabled

yarn 资源只能使用 50%

增加以下属性的值大小(默认0.2,调整0.3-0.5)

yarn.scheduler.capacity.maximum-am-resource-percent

Hue

默认使用的pg数据库,在安装的时候替换成 mysql 及相关的参数即可。

在这里插入图片描述

SeaTunnel

需要前置安装 Hue

Dolphin Scheduler

默认登陆用户密码:

admin
dolphinscheduler123

phoenix连接HBase

/usr/hdp/3.3.2.0-005/phoenix/bin/sqlline.py hdp3.node1:2181

API删除服务

curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo": {"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' http://hdp3.node4:8080/api/v1/clusters/cluster/services/RANGERhdp3.node1 是 ambari 安装机器cluster 是集群名称RANGER 是服务名称curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://hdp3.node4:8080/api/v1/clusters/cluster/services/RANGER

Yarn 任务 kill

yarn application -kill application_1704037136405_0001

相关文章:

HiDataPlus 3.3.2-005 搭建(个人的一点心得体会 x86 平台)

HDP 集群搭建 前置安装 yum -y install createrepo yum install -y lrzsz yum install -y wget yum install -y vim修改当前集群机器的主机名 hostnamectl set-hostname XXX​ 这里的 XXX 就是要设置的当前机器的主机名称。主机名称是集群唯一的&#xff0c;一定不要重复&am…...

【PHP】PHP实现与硬件串口交互,接收硬件发送的实时数据

一、前言 目的&#xff1a;借助虚拟串口软件&#xff08;VSPD&#xff09;模拟硬件串口发送数据&#xff0c;使用PHP语言实现接收硬件发送的数据。 我这里的需求是连接天平&#xff0c;把天平的称量数据实时的传送到PHP使用。 使用工具&#xff1a;vspd串口调试工具 使用语…...

HNU-数据库系统-作业

数据库系统-作业 计科210X 甘晴void 202108010XXX 第一章作业 10.09 1.(名词解释)试述数据、数据库、数据库管理系统、数据库系统的概念。 数据&#xff0c;是描述事物的符号记录。 数据库&#xff08;DB&#xff09;&#xff0c;是长期存储在计算机内、有组织、可共享的大量…...

Python基础知识:整理10 异常相关知识

1 异常的捕获 1.1 基础写法 """基本语法&#xff1a;try:可能发生错误的代码except:如果出现异常&#xff0c;将执行的代码""" try:fr open("D:/abc.txt", "r", encoding"utf-8") except:print("出现异常…...

golang并发安全-select

前面说了golang的channel&#xff0c; 今天我们看看golang select 是怎么实现的。 数据结构 type scase struct {c *hchan // chanelem unsafe.Pointer // 数据 } select 非默认的case 中都是处理channel 的 接受和发送&#xff0c;所有scase 结构体中c是用来存储…...

微软Visual Studio产品之Visual C++编程进阶——一维数组(画画版)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;看到不少初学者在学习编程语言的过程中如此的痛苦&#xff0c;我决定做点什么&#xff0c;我小时候喜欢看小人书&#xff08;连环画&#xff09;&#xff0c;在那个没有电视、没有手机的年代&#xff0c;这是…...

Moonbeam生态项目分析 — — 下一代DeFi协议HydraDX

作者&#xff1a;David 概览 HydraDX是一个基于Substrate区块链框架构建的DeFi协议&#xff0c;旨在为波卡带来大量流动性。HydraDX的特色服务&#xff0c;HydraDX Omnipool&#xff0c;是一种创新的自动化做市商&#xff08;AMM&#xff09;&#xff0c;通过将所有资产组合在…...

Spark九:Spark调优之Shuffle调优

Spark shuffle调优方法 map端和reduce端缓存大小设置&#xff0c;reduce端重试次数和等待时间间隔&#xff0c;以及bypass设置 学习资料&#xff1a;https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ 一、map和reduce端缓冲区大小 1.1 map端 在Spark任务运行过程中&…...

linux c多线程优先级

在 Linux 系统中&#xff0c;可以使用 pthread_setschedparam 函数来设置线程的优先级。该函数需要传入一个指向 pthread_t 类型的线程 ID&#xff0c;以及一个指向 struct sched_param 类型的结构体对象。struct sched_param 结构体包含了线程的优先级信息。 下面是一个示例代…...

Redis在项目开发中的应用

Spring Boot集成Redis构建博客应用 在这个示例中&#xff0c;我们将展示如何使用Spring Boot和Redis构建一个简单的博客应用&#xff0c;包括文章发布、点赞和评论功能。 1. 添加依赖 首先&#xff0c;我们需要在pom.xml文件中添加Spring Boot和Redis的依赖项。 <!-- Sp…...

mapper向mapper.xml传参中文时的乱码问题

1.起因&#xff1a; 在idea中进行模糊查询传参时&#xff0c;发现在idea中查中文查不出记录&#xff0c;在navicate中可以查出来。 2.猜测&#xff1a; 1.idea中的编码问题导致的乱码。 2.idea和navicate的编码一致性导致的乱码。 3.mapper向mapper.xml传参后出现乱码。 3.解…...

基于Docker官方php:7.1.33-fpm镜像构建支持67个常见模组的php7.1.33镜像

实践说明&#xff1a;基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2)&#xff0c;所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1)&#xff0c;但因为docker的特性&#xff0c;适用场景是不限于此的。 文档形成时期&#xff1a;2017-2023年 因系统或软件版本不同&am…...

Type-C PD充电器受电端sink诱骗取电汇总:小家电应用5V9V12V15V20V28V

小家电产品、美容产品、电动产品等升级采用Type-C接口&#xff0c;在Type-C接口上使用Type-C取电芯片&#xff0c;即可使用快速充电器的5V、9V、12V、15V、20V供电&#xff0c;无需再配充电器&#xff0c;各类品牌的充电器都可以支持。目前充电器常见的USB-PD功率为&#xff1a…...

禁用code server docker容器中的工作区信任提示

VSCode 添加受限模式&#xff0c;主要是防止自动运行代码的&#xff0c;比如在vscode配置的task和launch参数是可以运行自定义代码的。如果用VScode打开未知的工程文件就有可能直接运行恶意代码。 但是当我们的实验基础模板文件可控的情况下&#xff0c;要想禁用code server do…...

JSON格式插件-VUE

JsonEditor 安装&#xff1a; npm i bin-code-editor -S引入&#xff1a; import Vue from vue; import CodeEditor from bin-code-editor; import bin-code-editor/lib/style/index.css; import App from ./App.vue; Vue.use(CodeEditor); new Vue({el: #app,render: h > …...

dubbo的springboot集成

1.什么是dubbo&#xff1f; Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题&#xff0c;官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力&#xff0c; 利用 Dubbo …...

【人工智能】智能电网:未来能源的革命

未来能源的革命 智能电网革命的意义在于将电力行业从传统的集中式发电和集中式输配电模式转变为智能化、分布式、互动式的能源网络。 现在我们从以下方面详细认真的了解一下智能电网&#xff1a; 智能变电站&#xff0c;智能配电网&#xff0c;智能电能表&#xff0c;智能交互…...

【AIGC】一组精美动物AI智能画法秘诀

如何使用AI绘画&#xff0c;从以下角度&#xff0c;依据表格内容梳理&#xff0c;表格如下&#xff1a; 外貌特征物种姿势特征描述场景风格技术描述小巧可爱幼小浣熊倚在桌子上具有人形特征中世纪酒馆电影风格照明8k分辨率细节精致毛茸茸手持咖啡杯Jean-Baptiste Monge的风格蓝…...

JS 高频面试题

JS 的数据类型有哪些&#xff0c;有什么区别 基本数据类型&#xff08;Undefined、Null、Boolean、Number、String、Symbol&#xff09; 引用数据类型&#xff08;对象、数组和函数&#xff09; 区别&#xff1a; 原始数据类型直接存储在栈&#xff08;stack&#xff09;中的简…...

linux—多服务免密登录

文档结构 概念简介配置操作 概念简介 配置操作 场景&#xff1a;在部署gp集群时&#xff0c;希望 master 节点可以使用gpadmin用户可以实现免密登录 slave1和 slave2 节点&#xff1b; step_1: IP映射 xx.xx.xx.101 server-slave1 xx.xx.xx.102 server-slave2说明&#x…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...