从0开始搭建Hadoop2.x高可用集群(HDFS篇)

2023-05-16

从0开始搭建Hadoop2.x高可用集群(HDFS篇)

  • 演示目标
  • 演示环境
  • 注意事项
  • 准备虚拟机
    • 关闭防火墙
    • 检查系统时间
    • 修改host
    • 设置免密登录
    • 卸载OpenJDK
    • 安装软件
  • 准备HDFS
    • 配置cote-site.xml
    • 配置hdfs-site.xml
    • 配置slaves
    • 配置hadoop-env
    • 拷贝配置
  • 准备Zookeeper
    • 配置zoo.cfg
  • 启动集群
    • 启动Zookeeper集群
    • 启动HDFS集群
      • 首次启动
  • 验证高可用(HA)

演示目标

搭建双NameNode节点的高可用集群,其中一台节点的状态为Active,另一台是standby。当Active节点发生故障时,standby节点能自动接管并切换到Active状态。

演示环境

软件备注
VMware Workstation15.5
CentOSCentOS-7-x86_64-DVD-1804.iso
JDKjdk-8u211-linux-x64.tar.gz
Hadoophadoop-2.6.5.tar.gz
Zookeeperzookeeper-3.4.14.tar.gz
下载地址若有需要请按需下载上述软件

注意事项

  • 文章中所有shell命令都是以root用户进行操作,所以请优先使用su root命令切换用户;
  • 在输入shell命令前先阅读命令注释,以避免遗漏和错误。
  • 可以使用虚拟机快照功能帮助自己在执行了错误的操作后进行回滚。

准备虚拟机

  • 安装WMware Workstation,并使用CentOS7镜像创建三台虚拟机;
  • 配置好三台虚拟机的网络环境使其之间能够相互Ping通(如何设置?),演示中所用的虚拟机网络信息如下:
HOSTNAMEIP
vm1192.168.0.51
vm2192.168.0.52
vm3192.168.0.53

关闭防火墙

依次使用所有虚拟机执行下列命令

# 关闭防火墙
systemctl stop firewalld
# 禁用开机启动
systemctl disable firewalld
# 编辑selinux文件
# 设置SELINUX值等于disabled
# SELINUX=disabled
vim /etc/sysconfig/selinux

检查系统时间

依次使用所有虚拟机执行下列命令

# 查看时区
timedatectl | grep Time
# 设置时区为上海
timedatectl set-timezone Asia/Shanghai
# 打印出当前系统时间
date
# 如果显示出的时间比当前时间快8小时,则执行下列命令
date -s '-8hour'
hwclock -w

修改host

使用虚拟机vm1执行下列命令

# 修改hostname
hostnamectl set-hostname vm1

使用虚拟机vm2执行下列命令

# 修改hostname
hostnamectl set-hostname vm2

使用虚拟机vm3执行下列命令

# 修改hostname
hostnamectl set-hostname vm3

使用虚拟机vm1执行下列命令

# 追加内容到hosts文件
cat >> /etc/hosts << EOF # 回车
> 192.168.0.51 vm1 # 回车
> 192.168.0.52 vm2 # 回车
> 192.168.0.53 vm3 # 回车
> EOF # 回车
# 将hosts文件拷贝到vm2和vm3
# 拷贝完毕后分别使用所有虚拟机执行ping vm1、ping vm2、ping vm3检查网络是否通畅
scp /etc/hosts root@vm2:/etc/hosts
scp /etc/hosts root@vm3:/etc/hosts

设置免密登录

依次使用所有虚拟机执行下列命令

# 登录本机,该操作用于初始化ssh目录
# 如果出现Are you sure you want to continue connecting (yes/no)?请输入:yes
ssh localhost
# 退出登录
exit
# 进入ssh目录
cd ~/.ssh/
# 生成密钥
# 执行后系统会出现多次提示,依次回车即可
ssh-keygen
# 编辑ssh_config文件
# 将StrictHostKeyChecking的值设置为no
# StrictHostKeyChecking no
vim /etc/ssh/ssh_config

使用虚拟机vm1执行下列命令

# 进入ssh目录
cd ~/.ssh/
# 将vm1公钥文件中的内容追加到到authorized_keys文件
cat id_rsa.pub >> authorized_keys
# 分别将vm2和vm3的id_rsa.pub中的内容也追加到vm1的authorized_keys文件中
# 最终vm1的authorized_keys文件拥有所有虚拟机的公钥,文件类容类似如下所示:
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK4UGWdR1BfeB55eN/5j4f5vG1qzARyZ0IzVbmujdVqeBC3jMJDBU4DiGNH1DlL7M9ga7ocmzIR+/B9u/7f7jQNAejsPNVTo4TUt5f8+f4csH7CSXUVbB8oQrWrpH7hwNIf5RMzCAoEGoDSxm7/AZUM632IRz4ns4GKiJVES871VNDbrtal82mmdVPf84V2YpdgP8FmSbGe3C2UdsS8PzZ3QMb+gMi+jNTKi4UN7dAZxh5v58fBKqyX9sFkvwWCibr2t3MUnHOdAP789i1KTAubWjlthiHhF+CnUn0S0BFTiWfec/hJwYlOo8rOReVdS4ymB/q5kR/5uNFHJUEQrsX root@vm1
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCVBoca02VsaihYD52FnkEEP/f/do/iO6ao/l12EFbnHWivYKbja4CMty/c4Uwowo33ylFVahhlEMornJ76tLtxsOMOPcJby6SJdbmx7Aqy1CVccMU7NrMYnRosnnazIq+tUCrGWhXGAmZ3TUSAC7RNrIAtFkzeYpsylWenexPx+/mbARon8gc0Y3KamcYJjAyK1hVQN3VixxjeNw8i4VfEvxEY74JRjYR63QQUGqptKuDQCBn06BgACIJxaLLNcxCyB5Fb72gOgjIWyG/+azItimxRDAEIqdax47HoKjrE+tpKrq0CIswm1q+NfafO5m06NtAydUzfedtLrAmVLUEX root@vm2
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDp1yt3cYWY3n8oMCGykr8oX1bGEbHWqNMxe2gOsJoBZCMKkqVyM98iajoG5KsZdNZM91+jqH6nbuse6lcDPOMKZ+rY+DqUSW/2tg3VqByAywNL3SW44gPQyKwdgNucAJtfgZdRaYiIglkEm9GT09zGCbUkd7YReNULeuTVx92CXH5jRBNCSHze9kg3s9eHOvKZ2rfNhIf/xqR2wxGlioBD0Ql3/jEAvGwgl2QTIC4BBrYgya8SIEpmaf0t6dIsDbnnzfcHgaZe/VdiQtT7km7Odx/65E/ECl7xYLZetrJS/cvebc5I+t/IP0OBSOeVHtHLux+o/aWBIN44uFcdwTMX root@vm3
# 将authorized_keys文件拷贝到vm2和vm3
scp ~/.ssh/authorized_keys root@vm2:~/.ssh/
scp ~/.ssh/authorized_keys root@vm3:~/.ssh/
# 使用任意虚拟机检查是否能免密登录
ssh vm1 #[vm2、vm3]
# 登录其他虚拟机后切记退出
exit

卸载OpenJDK

依次使用所有虚拟机执行下列命令

# 查看系统自带的OpenJDK信息
rpm -qa | grep java
# 显示信息类似如下:
tzdata-java-2018c-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
# 卸载系统自带的OpenJDK(以下每行卸载的软件名称应该以自己机器为主,请先检查)
# 卸载完成后输入java命令,如果提示command not found...则说明卸载成功
yum -y remove java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 \
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 \
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64 \
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64

# 如果卸载失败则检查虚拟机外网是否通畅,或者使用rpm命令卸载
rpm -e --nodeps #加上你要卸载的软件名称

安装软件

  • 将下载好的JDK、Hadoop、Zookeeper压缩包拷贝到vm1机器的/opt目录下,可以使用Xftp(官方下载地址)工具进行拷贝;
  • 使用tar -zxvf xxx.tar.gz依次解压三个压缩包。
  • 配置环境变量:

使用虚拟机vm1执行下列命令

# 编辑profile文件
vim /etc/profile
# 在文件内容开头添加以下内容
export JAVA_HOME=/opt/jdk1.8.0_211
export HADOOP_HOME=/opt/hadoop-2.6.5
export ZK_HOME=/opt/zookeeper-3.4.14
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
export PATH=$ZK_HOME/bin:$PATH
# 使环境变量立即生效
# 完成后输入java命令检查是否设置成功
source /etc/profile
# 将解压后的三个软件拷贝到vm2和vm3
scp -rp /opt/jdk1.8.0_211/ root@vm2:/opt/
scp -rp /opt/jdk1.8.0_211/ root@vm3:/opt/
scp -rp /opt/hadoop-2.6.5/ root@vm2:/opt/
scp -rp /opt/hadoop-2.6.5/ root@vm3:/opt/
scp -rp /opt/zookeeper-3.4.14/ root@vm2:/opt/
scp -rp /opt/zookeeper-3.4.14/ root@vm3:/opt/
# 将profile文件拷贝到vm2和vm3
scp /etc/profile root@vm2:/etc/
scp /etc/profile root@vm3:/etc/

使用虚拟机vm2执行下列命令

# 使环境变量立即生效
# 完成后输入java命令检查是否设置成功
source /etc/profile

使用虚拟机vm3执行下列命令

# 使环境变量立即生效
# 完成后输入java命令检查是否设置成功
source /etc/profile

准备HDFS

  • 查看官方文档的方式:
    • 官方在线文档;
    • 在Windows中打开hadoop-xxx.tar.gz压缩包中根目录下的\share\doc\hadoop\index.html可以查看当前版本的离线文档;
  • 节点部署情况 :
NameNodeDataNodeJournalNodeZookeeper
vm1
vm2
vm3

配置cote-site.xml

使用虚拟机vm1执行下列命令

# 进入Hadoop配置文件目录
cd /opt/hadoop-2.6.5/etc/hadoop
# 编辑core-site.xml
vim core-site.xml
<!-- core-site.xml文件配置如下 -->
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hdfs-cluster</value>
  </property>
  <property>
    <name>ha.zookeeper.quorum</name>
    <value>vm1:2181,vm2:2181,vm3:2181</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.6.5/tmp</value>
  </property>
</configuration>

配置hdfs-site.xml

使用虚拟机vm1执行下列命令

# 进入Hadoop配置文件目录
cd /opt/hadoop-2.6.5/etc/hadoop
# 编辑hdfs-site.xml
vim hdfs-site.xml
<!-- hdfs-site.xml文件配置如下 -->
<configuration>
  <property>
    <name>dfs.nameservices</name>
    <value>hdfs-cluster</value>
  </property>
  <property>
    <name>dfs.ha.namenodes.hdfs-cluster</name>
    <value>nn1,nn2</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.hdfs-cluster.nn1</name>
    <value>vm1:8020</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.hdfs-cluster.nn2</name>
    <value>vm2:8020</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.hdfs-cluster.nn1</name>
    <value>vm1:50070</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.hdfs-cluster.nn2</name>
    <value>vm2:50070</value>
  </property>
  <property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>qjournal://vm1:8485;vm2:8485;vm3:8485/hdfs-cluster</value>
  </property>
  <property>
    <name>dfs.client.failover.proxy.provider.hdfs-cluster</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  </property>
  <property>
    <name>dfs.ha.fencing.methods</name>
    <value>sshfence</value>
  </property>
  <property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/root/.ssh/id_rsa</value>
  </property>
  <property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/opt/hadoop-2.6.5/data/journalnode</value>
  </property>
  <property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
  </property>
</configuration>

配置slaves

使用虚拟机vm1执行下列命令

# 进入Hadoop配置文件目录
cd /opt/hadoop-2.6.5/etc/hadoop
# 编辑slaves
vim slaves
# slaves文件配置如下,使用回车换行
vm1
vm2
vm3

配置hadoop-env

使用虚拟机vm1执行下列命令

# 编辑hadoop.env.sh
vim /opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
# 将export JAVA_HOME=${JAVA_HOME}修改为下列内容
export JAVA_HOME=/opt/jdk1.8.0_211

拷贝配置

使用虚拟机vm1执行下列命令

# 将vm1上配置好的配置文件拷贝到vm2和vm3
scp -rp /opt/hadoop-2.6.5/etc/hadoop root@vm2:/opt/hadoop-2.6.5/etc/
scp -rp /opt/hadoop-2.6.5/etc/hadoop root@vm3:/opt/hadoop-2.6.5/etc/

准备Zookeeper

使用vm1、vm2、vm3搭建Zookeeper集群。

配置zoo.cfg

使用虚拟机vm1执行下列命令

# 进入Zookeeper配置文件目录
cd /opt/zookeeper-3.4.14/conf/
# 编辑zoo.cfg文件
vim zoo.cfg
# 添加以下内容:
tickTime=2000
dataDir=/opt/zookeeper-3.4.14/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=vm1:2888:3888
server.2=vm2:2888:3888
server.3=vm3:2888:3888
# 将zoo.cfg拷贝到vm2和vm3
scp /opt/zookeeper-3.4.14/conf/zoo.cfg root@vm2:/opt/zookeeper-3.4.14/conf/
scp /opt/zookeeper-3.4.14/conf/zoo.cfg root@vm3:/opt/zookeeper-3.4.14/conf/
# 创建目录
mkdir /opt/zookeeper-3.4.14/data -p
# 在$dataDir路径下创建myid文件,文件内容为1
cd /opt/zookeeper-3.4.14/data
echo '1' > myid

使用虚拟机vm2执行下列命令

# 创建目录
mkdir /opt/zookeeper-3.4.14/data -p
# 在$dataDir路径下创建myid文件,文件内容为2
cd /opt/zookeeper-3.4.14/data
echo '2' > myid

使用虚拟机vm3执行下列命令

# 创建目录
mkdir /opt/zookeeper-3.4.14/data -p
# 在$dataDir路径下创建myid文件,文件内容为3
cd /opt/zookeeper-3.4.14/data
echo '3' > myid

启动集群

在启动过程中,如果有问题,应该优先查看日志。

  • 查看日志可以使用tail -f -n 100 /xx/xxx进行查看;
  • Zookeeper日志查看zookeeper.out文件;
  • HDFS日志查看Hadoop根目录下的logs文件夹;

启动Zookeeper集群

依次使用所有虚拟机执行下列命令

# 启动Zookeeper
zkServer.sh start

启动HDFS集群

  • 全面启动HDFS使用start-dfs.sh
  • 全面停止HDFS使用stop-dfs.sh
  • 首次启动HDFS集群时,不能直接使用start-dfs.sh,此时需要一些额外操作,主要是为了格式化NameNode。首次启动操作如下:

首次启动

使用虚拟机vm1执行下列命令

# 启动所有JournalNode,注意是hadoop-daemons.sh而不是hadoop-daemon.sh,两者区别在于多了一个s,前者是启动所有节点的jn
hadoop-daemons.sh start journalnode
# 格式化NameNode
hdfs namenode -format
# 启动NameNode
hadoop-daemon.sh start namenode

使用虚拟机vm2执行下列命令

# 拷贝vm1上namenode的格式化数据
hdfs namenode -bootstrapStandby
# 启动NameNode
hadoop-daemon.sh start namenode
# 初始化ZKFC
hdfs zkfc -formatZK
# 停止所有HDFS相关服务
stop-dfs.sh
# 重新启动所有HDFS相关服务
start-dfs.sh

验证高可用(HA)

  • 在Windows中使用浏览器打开两个NameNode的地址:
    • http://192.168.0.51:50070
    • http://192.168.0.52:50070
  • 如图所示,此时vm1虚拟机上的NameNode节点为Active状态:
    验证高可用(1)
    验证高可用(2)
  • 杀死状态为Active的NameNode,此时是vm1上的NameNode。

使用虚拟机vm1执行下列命令

# 查看Namenode的pid
jps
# 显示结果如下
17779 DFSZKFailoverController
17335 NameNode
15144 QuorumPeerMain
17609 JournalNode
18089 Jps
17439 DataNode
# 杀掉NameNode
kill -9 17335
  • 刷新http://192.168.0.52:50070,检查状态是否从standby转为Active
  • 如果以上步骤都没问题,则HDFS高可用集群搭建完毕,如果存在问题,请检查以下几点:
    • 检查Zookeeper和Hadoop的配置文件是否正确配置、日志是否有错误输出;
    • 检查jps命令显示的服务数是否正确;
    • 检查是否正确的完成了首次启动中的操作说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从0开始搭建Hadoop2.x高可用集群(HDFS篇) 的相关文章

  • webpack5常用配置

    该常用配置使用的npm包 xff1a span class token string property property 34 dependencies 34 span span class token operator span span
  • 【Linux】CentOS & Makefile

    目录 1 Ubuntu入门1 1 文件1 2 网络相关1 2 1 Linux网络相关概念和修改IP地址的方法IP信息临时修改ip地址NetworkManager修改主机名 1 2 2 关闭防火墙并设置开机开不启动firewalld临时和永久
  • HTTP请求报文(请求行、请求头、请求体)

    HTTP协议 1 简介 HTTP协议 xff08 Hyper Text Transfer Protocol xff0c 超文本传输协议 xff09 是用于从万维网 xff08 WWW World Wide Web xff09 服务器传输超文
  • Linux 下使用vscode调试C/C++程序记录

    Linux 下使用vscode调试C C 43 43 程序记录 本文主要介绍了 xff0c 在linux下使用vscode调试工程时的 xff0c 一些经验记录 基础配置 常用的配置方法网上的材料很多 xff0c 可以直接参照 链接 lin
  • 形状特征的提取

    物体和区域的形状是图像表达和图像检索中的另一重要的特征 但不同于颜色或纹理等底层特征 xff0c 形状特征的表达必须以对图像中物体或区域的划分为基础 由于当前的技术无法做到准确而鲁棒的自动图像分割 xff0c 图像检索中的形状特征只能用于某
  • c语言中全局变量在不同文件中的引用

    c语言中全局变量在不同文件中的引用 c语言中在某个文件中定义的全局变量可以在不同的文件中引用 xff0c 对数组和指针这两种全局变量在使用时必须要注意 xff0c 外部引用格式不正确时会出现编译或运行错误 下面通过不同的例子来说明数组和指针
  • Linux上MathGL的安装和使用

    Linux上MathGL的安装和使用 本人参考http mathgl sourceforge net doc en index html SEC Contents MathGL官网教程第一种方案在Ubuntu上对MathGL进行了编译安装
  • kvaser在linux下的二次开发

    kvaser在linux下的二次开发 linux下kvaser的驱动和SDK包安装 下载连接 http www kvaser cn software 7330130980754 V5 13 0 linuxcan tar gz 安装过程 解压
  • linux 交叉编译 C和C++

    linux 交叉编译 C和C 43 43 安装编译器Cmake中选择编译器编译运行注意 在ubuntu 中搭建arm交叉编译环境的过程记录 安装编译器 安装aarch64 linux gnu编译器 xff0c 可以参考 参考链接 安装完成后
  • vscode中git使用

    vscode中git使用 目的 xff1a 减少git的命令输出 xff0c 尽量使用vscode可视化完成日常代码提交管理 将该过程简单记录 创建文件 xff0c 并使用Vscode打开 vscode中打开终端 xff0c 并进行git的
  • 程序调试正常 运行错误排查

    调试正常 运行错误排查 检查是否生成core文件 输入ulimit a 第一行core file size 如果0 xff0c core文件不会生成 xff0c 需要设置 ulimit c unlimited 生成core文件 xff0c
  • linux 指定网卡发送UDP数据

    问题 xff1a 解决方法1 xff08 有权限要求 xff09 可以使用SO BINDTODEVICE绕过路由表查找 xff0c 解决该问题 注意 xff1a 该方法需要程序有cap net raw和cap net bind servic
  • TortoiseGit的安装与配置方法

    目录 1 为什么选择Git 效率 历史 TortoiseGit 简介 2 下载安装Git及Tortoisegit 3 Tortoisegit 配置 1 为什么选择Git 效率 很多人有一种习惯吧 xff0c 什么软件都要最新的 xff0c
  • Python isinstance() 函数

    描述 isinstance 函数来判断一个对象是否是一个已知的类型 xff0c 类似 type isinstance 与 type 区别 xff1a type 不会认为子类是一种父类类型 xff0c 不考虑继承关系 isinstance 会
  • uniapp开发微信小程序登录获取openid并解决code无效问题:invalid code

    场景 xff1a 实现微信支付的时候需要获取到openid openid需要在登录的时候用登录返回的code获取 1 登录获取code xff0c 用code获取openid uni login success function res l
  • CSS解决高度塌陷的方法

    一 什么是高度塌陷 当父元素不设置高度的时候靠子元素撑大 xff0c 也就是说子元素有多高 xff0c 父元素就有多高 xff0c 当子元素浮动后 xff0c 父元素就会高度塌陷 父元素高度塌陷后 xff0c 父元素下面的元素就会向上移动
  • mysql中如何查看sql语句是否用到索引,以及分析一条SQL的性能瓶颈

    mysql中如何查看sql语句是否用到索引 1 操作步骤 1 1 使用explain xff0c 放在sql前面 2 解释 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引 xff1a type结果值从好到坏依次是 xff
  • NoMachine配置

    NoMachine配置以及连接中遇到的问题 1 软件下载 软件官方下载网站 xff1a https www nomachine com xff08 软件下载缓慢 xff0c 请耐心等待下载完成 xff09 xff1b 本人上传了连个下载好的
  • 同星T1014在线回放设置

    同星T1014在线回放设置以及常见问题解决方法 1 同星T1014连接硬件进行在线数据回放 1 将同星T1014硬件连接到到电脑中 xff1b 2 打开TSMaster软件 xff0c 在通道选择选项中配置通道 xff0c 该硬件最大支持四
  • 虚拟串口VSPD和XCOM的下载+安装+使用

    虚拟串口VSPD和XCOM的下载 43 安装 43 使用 1 软件下载 对于上机位开发的伙伴来说 xff0c 上机位软件的调试尤为重要 xff0c 但是上机位软件的调试并不关心硬件 xff0c 只需要关注验证发送的数据的接收情况 xff0c

随机推荐

  • VCU功能控制

    VCU功能控制 VCU具有整车转矩管理 电池能量协调管理 电机功率协调管理 充电管理 故障诊断等功能 能够对上 下电时的高 低压控制逻辑进行管理 xff0c 能够根据驾驶员输入对需求转矩做出准确判断 xff0c 能够对车辆当前工况进行判断
  • 车速计算方法-附赠车速快速计算App

    车速计算的原理和方法 假设车辆配置为 xff1a 发动机WP10 310E40 xff0c 变速箱12JSD160TA 最高挡速比0 78 xff0c 车桥速比 xff1a 4 769 xff0c 轮胎11 00R20 滚动半径为0 527
  • 说说你对模块化的理解(CommonJS、AMD、CMD、ES Module)

    模块化的开发方式可以提高代码复用率 xff0c 方便进行代码的管理 通常一个文件就是一个模块 xff0c 有自己的作用域 xff0c 只向外暴露特定的变量和函数 目前流行的js模块规范有common js AMD CMD ES Module
  • python使用request+xpath爬取豆瓣电影数据

    python使用request 43 xpath爬取豆瓣电影 背景话不多说上代码 背景 由于毕设需要用到电影相关的数据 xff0c 在网上想查找一个可以爬电影的教程 xff0c 但是基本上所有的教程都是爬的豆瓣top250 xff0c 并没
  • git 报错 error: src refspec master does not match any

    这个错误通常表示你的本地仓库中没有与远程仓库对应的分支 可能的原因是你还没有进行过任何提交或者还没有将本地分支推送到远程仓库 以下是几种可能的解决方法 xff1a 1 检查是否存在本地分支 使用git branch命令检查本地是否存在分支
  • Modbus通信工具学习记录

    Modbus通信工具学习记录 Modbus通信方式Serial PortSerial Port调试助手虚拟Serial Port驱动 TCPTCP调试助手 Modbus模拟工具Modbus PollModbus Slave通信测试后记 Mo
  • HandlerInterceptorAdapter

    HandlerInterceptorAdapter是什么 xff1f HandlerInterceptorAdapter是Spring框架提供的一个适配器 xff0c 通过继承它可以很方便的实现一个拦截器 xff1b HandlerInte
  • 我的Chrome插件

    1 AdBlock 用来屏蔽广告 xff0c 用过的人都说好 2 Flash Block Plus 用来限制Flash的播放 3 Flash Control 用来限制Flash的播放 4 Full Page Screen Capture 好
  • 网络协议栈基本知识

    https www cnblogs com mrlayfolk p 11965347 html 个人觉得原作者把网络协议栈讲解的很好 xff08 生动 xff0c 易理解 xff09 xff0c 所以在这里记录并分享 1 网络协议分层 按照
  • VS code 发送http请求

    下载rest http插件 xff0c 重启vscode 发送get请求 span class token annotation punctuation 64 hostname span span class token operator
  • AD 教程(一)

    写在前面 xff1a 本教程源自凡亿教育出品的 AD2019 从入门到精通 xff0c 笔记分为六部分 xff0c 如有错误之处 xff0c 请多指教 视频出处 一 元件库的创建 1 软件的安装2 AD工程的组成及创建3 元件库介绍 电阻容
  • docker 常用删除镜像和容器命令记录

    删除镜像命令 一 通过标签删除镜像 通过如下两个都可以删除镜像 xff1a 1 docker rmi image 或者 xff1a 1 docker image rm image 支持的子命令如下 xff1a f force 强制删除镜像
  • 树莓派安装ROS系统【第一篇】

    树莓派装ROS系统 xff08 第一篇 xff09 注 xff1a 第一篇 主要是撰写了树莓派安装ROS系统 xff0c 远程连接等操作 在网上扒拉了一些资料 xff0c 感觉各有优缺 xff0c 作为踩坑者要进行信息的筛选 xff0c 因
  • 使用Scala编写第一个Spark程序

    使用Scala编写第一个Spark程序 演示目标演示环境创建Spark工程本地运行Spark集群运行安装SparkSpark standaloneSpark on yarnyarn client模式yarn cluster模式运行结果 演示
  • Git常用命令及使用

    Git常用命令 根据分支名查询分支 根据分支名查询分支 span class token comment 根据输入的分支名模糊匹配本地和远程分支 span span class token function git span branch
  • Elasticsearch的安装与启动

    Elasticsearch的安装与启动 演示目标安装与启动配置远程服务器访问启动时异常与解决方法 演示目标 在Linux环境中安装并启动Elasticsearch 7 x版本 安装与启动 下载ES https www elastic co
  • 各软件下载地址

    常用软件下载地址 软件备注JDK各版本华为云高速下载
  • 使用VMware创建CentOS7虚拟机并设置网络环境(桥接、NAT、内网)

    使用VMware创建CentOS7虚拟机并设置网络环境 xff08 桥接 NAT 内网 xff09 演示目标演示环境创建虚拟机设置外网NAT模式桥接模式 设置内网 演示目标 使用VMware Workstation创建三台CentOS7虚拟
  • SOAP出现问题:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理(已解决)

    场景 SOAPUI在服务器上正常运行 xff1b 用Java的Post请求调用时 xff0c 能够调通接口 xff0c 但出现问题 xff1a lt s Envelope xmlns s 61 http schemas xmlsoap or
  • 从0开始搭建Hadoop2.x高可用集群(HDFS篇)

    从0开始搭建Hadoop2 x高可用集群 xff08 HDFS篇 xff09 演示目标演示环境注意事项准备虚拟机关闭防火墙检查系统时间修改host设置免密登录卸载OpenJDK安装软件 准备HDFS配置cote site xml配置hdfs