Hadoop 2.4 完全分布式环境安装与配置及配置信息介绍

2024-08-28 08:38

本文主要是介绍Hadoop 2.4 完全分布式环境安装与配置及配置信息介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载: 仅仅是为了个人学习使用 , 记录遇到的问题,和解决方法。


本文是CentOS6 hadoop2.4完全分布式安装文档姊妹篇,本篇介绍的更加详细,可以相互参考,环境的搭建,前面基本都相同,这里重点:
导读:
1.各个文件之间权限是否一致
2.环境变量、配置文件发生发了哪些变化?
3.在配置过程中,自己有什么需要注意的地方?
4.文件中路径发生变化,对应的配置项哪些会发生变化?






包下载:hadoop2.4最新版本各种包下载
依赖项
Java
1. 从http://www.Oracle.com/technetwor ... nloads-1880260.html下载tar.gz格式的,32位和64位机器对应下载,这里下的是64位的
wget http://download.oracle.com/otn-p ... 51-linux-x64.tar.gz
2. 解压到/usr/local
tar -jxvf jdk-7u51-linux-x64.tar.gz -C /usr/local
3. 配置符号链接:cd /usr/local; ln -snf jdk1.7.0_45/ jdk
4. 配置环境变量到~/.bashrc
export JAVA_HOME="/usr/local/jdk"
export PATH="$JAVA_HOME/bin:$PATH"
5. 命令行下使用java、javax命令判断是否安装成功。
6. 在其他机器上
Hosts
所有的节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
 

SSH 无密码登陆
首先要配置本机的SSH服务器,运行 ps -e | grep ssh,查看是否有sshd进程,如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程,如果提示ssh不存在 那么就是没安装server。Ubuntu下通过 sudo apt-get install openssh-server命令安装即可。
(1)生成当前用户的SSH公钥。
$ ssh-keygen -t rsa -P ''
它在/home/[你当前登录的用户名] 下生成.ssh目录(root用户即是在/root目录下),.ssh下有id_rsa和id_rsa.pub。id_rsa.pub即是本地SSH生成的公钥文件。客户端机器将id_rsa.pub文件添加到自己的~/.ssh/authorized_keys文件中即可免密码登录到本机。
(2)将~/.ssh/id_rsa.pub添加到目标机器的~/.ssh/authorized_keys文件中
•如果是本机的操作,则使用
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将要登录的机器的公钥添加到本地的认证密钥库中。注意这里必须要用>>操作符进行追加操作。
使用
ssh localhost
命令即可免密码登录到本地。
•如果是将自己的公钥发送到别的机器上。
可以使用
scp ~/.ssh/id_rsa.pub root@172.24.253.2:.ssh/id_rsa.pub
这条scp命令进行文件上传操作。
安装Hadoop
下载Hadoop
最新版本hadoop-2.4.0安装包为 hadoop-2.4.0.tar.gz
下载官网地址 :http://www.apache.org/dyn/closer.cgi/hadoop/common/
下载到 /opt/hadoop/source 目录下
wget http://ftp.riken.jp/net/apache/hadoop/common/hadoop-2.4.0/hadoop-2.4.0.tar.gz
解压目录
tar zxvf hadoop-2.4.0.tar.gz
最终是这样子:
 
环境配置项
配置环境变量:
vim /etc/profile
添加
export HADOOP_DEV_HOME=/opt/hadoop/source
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

文件配置
配置之前,需要在Cluster文件系统创建以下文件夹,用于存放命名空间以及数据信息。
~/dfs/name
~/dfs/data
~/temp
这里要涉及到的配置文件有7个:
~/Hadoop-2.4.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.4.0/etc/hadoop/yarn-env.sh
~/hadoop-2.4.0/etc/hadoop/slaves
~/hadoop-2.4.0/etc/hadoop/core-site.xml
~/hadoop-2.4.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.4.0/etc/hadoop/mapred-site.xml
~/hadoop-2.4.0/etc/hadoop/yarn-site.xml
以上个别文件默认不存在的,可以复制相应的template文件获得。
~/ect/hadoop/hadoop-env.sh 与 yarn-env.sh
原文件中设置Java环境:export JAVA_HOME=${JAVA_HOME},如果你环境变量中未配置JAVA_HOME,那么这里JAVA_HOME设置指向你的JAVA配置路径。
譬如:export JAVA_HOME="/usr/local/jdk"
~/etc/hadoop/slave
slaves (这个文件里面保存所有slave节点)
写入以下内容:
Slave1
Slave2
~/etc/hadoop/core-site.xml
在configuration节点里面添加属性
<property>
  <name>hadoop.tmp.dir</name>
  <value>file:/opt/hadoop/hdfs/tmp</value>
  <description>A base for other temporary directories.</description>
</property>
<property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
</property>
<property>
  <name>fs.default.name</name>
  <value>hdfs://Master:9000</value>
</property>
添加httpfs的选项
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

~/etc/hadoop/hdfs-site.xml
<property> 
  <name>dfs.replication</name> 
  <value>3</value>
</property> 
<property> 
  <name>dfs.namenode.name.dir</name> 
  <value>file:/opt/hadoop/hdfs/name</value> 
  <final>true</final>
</property> 
<property> 
  <name>dfs.dataname.data.dir</name> 
  <value>file:/opt/hadoop/hdfs/data</value> 
  <final>true</final>
</property> 
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>Master:9001</value>
</property>
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>

~/etc/hadoop/yarn-site.xml
<property>
  <name>yarn.resourcemanager.address</name>
  <value>Master:18040</value>
</property>
<property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>Master:18030</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>Master:18088</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>Master:18025</value>
</property>
<property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>Master:18141</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce.shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

Hadoop 测试

HDFS

格式化NameNode

执行命令:hadoop namenode -format,可以格式化NameNode。

l 可能错误:出现未知的主机名问题。

java.net.UnknownHostException: localhost.localdomain: localhost.localdomain  

        at java.net.InetAddress.getLocalHost(InetAddress.java:1353)  

        at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:91)  

        at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:80)  

        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.initialize(FSDirectory.java:73)  

        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.<init>(FSDirectory.java:68)  

        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:370)  

        at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:853)  

        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:947) 

        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:964)  

/************************************************************  

SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: localhost.localdomain: localhost.localdomain  

************************************************************/  

使用hostname命令,可以发现当前的主机名为hadoop_master(Ubuntu系统下在/etc/hostname,CentOS系统在 /etc/sysconfig/network文件中设置),而hosts文件中信息如下:

127.0.0.1 localhost

127.0.1.1 ubuntu

192.168.198.133 Master

192.168.198.134 Slave1

即无法解析hadoop_master的信息,将hosts文件信息改为如下:

127.0.0.1 hadoop_master

127.0.1.1 ubuntu

192.168.198.133 Master

192.168.198.134 Slave1




Hadoop集群

启动集群

~/sbin/start-all.sh 启动Hadoop集群,最好使用~/sbin/start-dfs.sh与~/sbin/start-yarn.sh来代替。


.1 64位平台不兼容错误

Starting namenodes on [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/hadoop/source/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.

在/etc/profile 或者 ~/.bash_profile中添加:

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_DEV_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_DEV_HOME/lib"



Command Lines

Hadoop

* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack

* stop-all.sh 停止所有的Hadoop

* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack

* stop-mapred.sh 停止Map/Reduce守护

* start-dfs.sh 启动Hadoop DFS守护Namenode和Datanode

* stop-dfs.sh 停止DFS守护

HDFS

1. 查看文件列表

查看hdfs中/user/admin/hdfs目录下的文件。

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs -ls /user/admin/hdfs

查看hdfs中/user/admin/hdfs目录下的所有文件(包括子目录下的文件)。

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs -lsr /user/admin/hdfs

2. 创建文件目录

查看hdfs中/user/admin/hdfs目录下再新建一个叫做newDir的新目录。

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs -mkdir /user/admin/hdfs/newDir

3. 删除文件

删除hdfs中/user/admin/hdfs目录下一个名叫needDelete的文件

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs -rm /user/admin/hdfs/needDelete

删除hdfs中/user/admin/hdfs目录以及该目录下的所有文件

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs -rmr /user/admin/hdfs

4. 上传文件

上传一个本机/home/admin/newFile的文件到hdfs中/user/admin/hdfs目录下

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs–put /home/admin/newFile /user/admin/hdfs/

5. 下载文件

下载hdfs中/user/admin/hdfs目录下的newFile文件到本机/home/admin/newFile中

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs –get /user/admin/hdfs/newFile /home/admin/newFile

6. 查看文件内容

查看hdfs中/user/admin/hdfs目录下的newFile文件

a. 进入HADOOP_HOME目录。

b. 执行sh bin/hadoop fs–cat /home/admin/newFile






配置文件详解
CoreHadoop-env.sh

记录脚本要用的环境变量,以运行hadoop。
文件位于~/hadoop/etc/hadoop/core-site.xml目录下。
# 设置JDK的位置
export JAVA_HOME=${JAVA_HOME}
如果你的环境变量中没有设置JAVA_HOME,这里即可设置为:
exportJAVA_HOME=/home/java/jdk/jdk1.7.0_51
另外,鉴于Hadoop默认的是32位系统,还需要加上64位支持:
exportHADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_DEV_HOME}/lib/native
exportHADOOP_OPTS="-Djava.library.path=$HADOOP_DEV_HOME/lib"

core-site.xml该文件是 hadoop core的配置项,例如hdfs和mapreduce常用的i/o设置等,位于~/hadoop/etc/hadoop/core-site.xml目录下。

属性

说明
fs.default.name
hdfs://master:9000
定义master的URI和端口
fs.checkpoint.dir
${hadoop.tmp.dir}(默认)
/dfs/namesecondary
SNN的元数据以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉
fs.checkpoint.period
1800
定义ND的备份间隔时间,秒为单位,只对SNN效,默认一小时
fs.checkpoint.size
33554432
以日志大小间隔做备份间隔,只对SNN生效,默认64M
fs.checkpoint.edits.dir
${fs.checkpoint.dir}(默认)
SNN的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录
fs.trash.interval
10800
HDFS垃圾箱设置,可以恢复误删除,分钟数,0为禁用,添加该项无需重启hadoop
hadoop.tmp.dir
/tmp/hadoop
临时文件夹,指定后需将使用到的所有子级文件夹都要手动创建出来,否则无法正常启动服务。
hadoop.http.filter.initializers
org.apache.hadoop.security.
AuthenticationFilterInitializer
(排版调整,实际配置不要回车)
需要jobtracker,tasktracker
NN,DN等http访问端口用户验证使用,需配置所有节点
hadoop.http.authentication.type
simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
验证方式,默认为简单,也可自己定义class,需配置所有节点
hadoop.http.authentication.token.validity
36000
验证令牌的有效时间,需配置所有节点
hadoop.http.authentication.signature.secret
默认可不写参数
默认不写在hadoop启动时自动生成私密签名,需配置所有节点
hadoop.http.authentication.cookie.domain
domian.tld
http验证所使用的cookie的域名,IP地址访问则该项无效,必须给所有节点都配置域名才可以。
hadoop.http.authentication. simple.anonymous.allowed
true | false
简单验证专用,默认允许匿名访问,true
hadoop.http.authentication.kerberos.principal
HTTP/localhost@$LOCALHOST
Kerberos验证专用,参加认证的实体机必须使用HTTP作为K的Name
hadoop.http.authentication.kerberos.keytab
/home/xianglei/hadoop.keytab
Kerberos验证专用,密钥文件存放位置
hadoop.security.authorization
true|false
Hadoop服务层级验证安全验证,需配合hadoop-policy.xml使用,配置好以后用dfsadmin,mradmin -refreshServiceAcl刷新生效
hadoop.security.authentication
simple | kerberos
hadoop本身的权限验证,非http访问,simple或者kerberos
hadoop.logfile.size
1000000000
设置日志文件大小,超过则滚动新日志
hadoop.logfile.count
20
最大日志数
io.bytes.per.checksum
1024
每校验码所校验的字节数,不要大于io.file.buffer.size
io.skip.checksum.errors
true | false
处理序列化文件时跳过校验码错误,不抛异常。默认false
io.serializations
org.apache.hadoop.io.serializer.WritableSerialization
序列化的编解码器
io.seqfile.compress.blocksize
1024000
块压缩的序列化文件的最小块大小,字节
io.compression.codecs
org.apache.hadoop.io.compress.DefaultCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec,
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
(排版调整,实际配置不要回车)
Hadoop所使用的编解码器,gzip、bzip2为自带,lzo需安装hadoopgpl或者kevinweil,逗号分隔。
snappy需要单独安装并修改hadoop-env.sh配置LD_LIBRARY_PATH=snappy类库位置
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
LZO所使用的压缩编码器
io.file.buffer.size
131072
用作序列化文件处理时读写buffer的大小
webinterface.private.actions
true | false
设为true,则JT和NN的tracker网页会出现杀任务删文件等操作连接,默认是false
topology.script.file.name
/hadoop/bin/RackAware.py
机架感知脚本位置
topology.script.number.args
1000
机架感知脚本管理的主机数,




<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://wsysisibeibei.blog.163.com/blog/configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<!-- fs.default.name -这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->
<value>hdfs://localhost:9100</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!--
hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配 置namenode和datanode的存放位置,默认就放在这个路径中Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。
不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。
-->
<value>/data/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
这里配置的是HDFS的地址和端口号。

Node HDFS hdfs-site.xml
hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等。
该文件位于~/hadoop/etc/hadoop/目录下。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://wsysisibeibei.blog.163.com/blog/configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<!--
dfs.replication -它决定着 系统里面的文件块的数据备份个数。
对于一个实际的应用,它应该被设为3(这个 数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。
少于三个的备份,可能会影响到数据的 可靠性(系统故障时,也许会造成数据丢失)
-->
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<!--
dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。
这个值只对NameNode有效,DataNode并不需要使用到它。
上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。
-->
<value>/home/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<!-- dfs.data.dir -
这是DataNode结点被指定要存储数据的本地文件系统路径。
DataNode结点上 的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。
但如果每台机器上的这 个路径都是统一配置的话,会使工作变得简单一些。
默认的情况下,它的值hadoop.tmp.dir, 这 个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆 盖。
-->
<value>/home/hdfs/data</value>
</property>
<!--
解决:org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x。因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/hadoop , 由于 DrWho用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限, 命令如下 :$ hadoop fs -chmod 777 /user/hadoop
-->
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS. If "false", permission checking is turned off, but all other behavior is unchanged. Switching from one parameter value to the other does not change the mode, owner or group of files or directories
</description>
</property>
</configuration>
在Hadoop中HDFS的默认备份方式为3,这里将其改为1。
Map/Reduce mapred-site.xml mapreduce守护进程的配置项,包括jobtracker和tasktracker。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://wsysisibeibei.blog.163.com/blog/configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9101</value>
</property>
</configuration>








http://blog.csdn.net/wxyyxc1992/article/details/25687173




这篇关于Hadoop 2.4 完全分布式环境安装与配置及配置信息介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二