【hadoop】Hadoop 3.3.4 集群安装及简单使用

news2024/11/19 7:27:44

目录

    • 环境信息
    • 1. 准备
      • 1.1 服务器规划
      • 1.2 主机名及hosts文件修改
        • 1.2.1 hostname修改
        • 1.2.2 hosts文件修改
      • 1.3 创建hadoop用户(建议)
      • 1.4 为hadoop用户添加sudo权限
      • 1.5 互信免密登录
      • 1.6 快速文件同步(可选)
    • 2. 安装
      • 2.1 下载并安装jdk
      • 2.2 下载并安装hadoop
        • 2.2.1 下载完成后放置到需要安装的目标目录并解压
        • 2.2.2 配置环境变量
    • 3. 配置hadoop并启动
      • 3.1 配置文件说明
      • 3.2 core-site.xml
      • 3.3 hdfs-site.xml
      • 3.4 yarn-site.xml
      • 3.5 mapred-site.xml
      • 3.6 workers
      • 3.7 格式化NameNode
      • 3.8 启动hdfs
      • 3.9 启动yarn
      • 3.10 配置历史服务器mapred-site.xml
      • 3.11 配置日志聚集(yarn-site.xml)
    • 4. 测试
      • 4.1 创建文件夹并上传文件
      • 4.2 查看
      • 4.3 下载
      • 4.4 删除
      • 4.5 yarn任务提交
    • 5. 常用端口清单
    • 6. 常用命令清单
      • 6.1 集群启停
        • 6.1.1 HDFS
        • 6.1.1 yarn
      • 6.2 按模块
        • 6.2.1 HDFS组件
        • 6.2.1 YARN组件
      • 6.3 历史服务器

环境信息

JDK: 1.8

Hadoop: 3.3.4

Linux: Centos7.5

防火墙状态: 关闭

1. 准备

下载地址:Index of /apache/hadoop/common/hadoop-3.3.4 (tsinghua.edu.cn)

1.1 服务器规划

HDFS的NameNode和SecondaryNameNode 不可安装在同一台主机

YARN的ResourceManager不要和HDFS的NameNode和SecondaryNameNode 安装在同一台主机(资源平衡考虑)

主机名ip用途
centos7-hadoop-130192.168.1.130HDFS:NameNode+DataNode
YARN: NodeManager
centos7-hadoop-131192.168.1.131HDFS:DataNode
YARN: NodeManager + ResourceManager
centos7-hadoop-132192.168.1.132HDFS:SecondaryNameNode + DataNode
YARN: NodeManager

1.2 主机名及hosts文件修改

使用root用户完成以下操作

1.2.1 hostname修改

分别修改三台服务的hostname文件,写入对应主机名

vim /etc/hostname

1.2.2 hosts文件修改

建议客户机(后续测试使用)也同样配置,window x64 hosts文件位置C:\Windows\System32\drivers\etc\hosts

192.168.1.130 centos7-hadoop-130
192.168.1.131 centos7-hadoop-131
192.168.1.132 centos7-hadoop-132

效果如下(以centos7-hadoop-130为例):
在这里插入图片描述

1.3 创建hadoop用户(建议)

三台规划的机器上均执行此操作

这里不建议直接使用root用户

#创建hadoop用户
useradd hadoop
#设置hadoop用户密码
passwd hadoop
#连续两次输入要设置的hadoop用户密码即可

1.4 为hadoop用户添加sudo权限

三台规划的机器上均执行此操作

此步骤的目的是在需要特殊权限时可方便使用

#修改文件
vim /etc/sudoers
#添加用户

修改效果如下:
在这里插入图片描述

NOPASSWD:ALL 表示无需密码即可切换root用户,一般不建议这么搞

参考:[linux]sudo的简单设置-CSDN博客

1.5 互信免密登录

三台规划的机器上均执行此操作,完成三个节点中任意节点到其他节点均可免密

参考: 【linux】ssh免密登录-CSDN博客

1.6 快速文件同步(可选)

基于sync的文件同步

参考: [rsync] 基于rsync的同步_-CSDN博客

本此使用脚本参考

#!/bin/bash

#判断参数
if [ $# -lt 1 ]
then
	echo 请传入要同步的文件
exit;
fi
#要同步的目标服务器清单
for host in centos7-hadoop-130 centos7-hadoop-131 centos7-hadoop-132
#for host in 192.168.1.2 192.168.1.3 192.168.1.4
do
	echo ==================== $host ====================
	#向下遍历所有目录,依次发送
	for file in $@
	do
	  #获取父目录,用于创建不存在的目录
	  pdir=$(cd -P $(dirname $file); pwd)
	  #获取当前文件的名称
	  fname=$(basename $file)
	  #创建目录,如果这一步里对应的服务器没有进行免密设置,则需要输入密码
	  ssh -p 50022 $host "mkdir -p $pdir"
	  #执行同步,如果这一步里对应的服务器没有进行免密设置,则需要输入密码
	  echo "rsync -av -e 'ssh -p 50022' $pdir/$fname hadoop@$host:$pdir"
	  rsync -av -e 'ssh -p 50022' $pdir/$fname hadoop@$host:$pdir
	done
done

2. 安装

三台规划的机器上均执行此操作,如无特殊说明,使用hadoop用户操作

2.1 下载并安装jdk

2.2 下载并安装hadoop

下载地址:Index of /apache/hadoop/common/hadoop-3.3.4 (tsinghua.edu.cn)

2.2.1 下载完成后放置到需要安装的目标目录并解压

这里以放置在/app目录下为例

mkdir -p /app
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xvf hadoop-3.3.4.tar.gz 

在这里插入图片描述

目录说明:

文件夹说明
bin相关服务的操作脚本
etc配置文件目录
libhadoop本地库
sbin启、停等相关脚本
share依赖包、文档、示例

2.2.2 配置环境变量

使用root用户操作

像配置JAVA_HOME一样配置HADOOP_HOME,值为Hadoop安装的根目录

#HADOOP的根目录
export HADOOP_HOME=/app/hadoop-3.3.4  
export PATH=$PATH:$HADOOP_HOME/bin  
export PATH=$PATH:$HADOOP_HOME/sbin

以上内容可配置到/etc/profile文件中,亦可在/etc/profile.d/下创建.sh的脚本单独放置,前提是/etc/profile文件包含如下内容:

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then 
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

生效配置

source /etc/profile

3. 配置hadoop并启动

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

hadoop集群工作时会通过ssh通讯,如果ssh默认不是22端口则通过修改 文件$HADOOP_HOME/etc/hadoop/hadoop-env.sh指定ssh连接时的配置选项.

添加配置

export SPARK_SSH_OPTS="-p 50022"

在这里插入图片描述

3.1 配置文件说明

Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认 配置值时,才需要修改自定义配置文件,更改相应属性值。

  • 默认配置文件:
配置文件所在 jar 包中的位置参考文件位置
[core-default.xml]$HADOOP_HOME/share/hadoop/common/hadoop-common-3.3.4.jar/core-default.xml$HADOOP_HOME/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml
[hdfs-default.xml]$HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-3.3.4.jar/hdfs-default.xml$HADOOP_HOME/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
[yarn-default.xml]$HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-common-3.3.4.jar/yarn-default.xml$HADOOP_HOME/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
[mapred-default.xml]$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.4.jar/mapred-default.xml$HADOOP_HOME/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
  • 自定义配置文件:
    $HADOOP_HOME/etc/hadoop 这个路径下core-site.xml、 hdfs-site.xml、 yarn-site.xml、 mapred-site.xml 、workers五个配置文件用户可以根据项目需求重新进行修改配置。

3.2 core-site.xml

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/core-site.xml

configuration节点下增加如下配置

    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://centos7-hadoop-130:8020</value>
    </property>
    <!-- 指定 hadoop 数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/data</value>
    </property>
    <!-- 配置 HDFS 网页操作时使用的用户 -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
    </property>

在这里插入图片描述

[

3.3 hdfs-site.xml

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/hdfs-site.xml

configuration节点下增加如下配置

    <!-- namenode web 端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>centos7-hadoop-130:9870</value>
    </property>
    <!-- secondaryNameNode web 端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>centos7-hadoop-132:9868</value>
    </property>

在这里插入图片描述

3.4 yarn-site.xml

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/yarn-site.xml

configuration节点下增加如下配置

    <!-- 指定 MR 走 shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定 ResourceManager 的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>centos7-hadoop-131</value>
    </property>
    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
    NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
    RED_HOME</value>
    </property>

在这里插入图片描述

3.5 mapred-site.xml

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/mapred-site.xml

查询classpath作为yarn.application.classpath对应的value

hadoop classpath

在这里插入图片描述

configuration节点下增加如下配置

	<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 指定yarnclasspath,value来源 hadoop classpath -->
    <property>
        <name>yarn.application.classpath</name>
        <value>/app/hadoop-3.3.4/etc/hadoop:/app/hadoop-3.3.4/share/hadoop/common/lib/*:/app/hadoop-3.3.4/share/hadoop/common/*:/app/hadoop-3.3.4/share/hadoop/hdfs:/app/hadoop-3.3.4/share/hadoop/hdfs/lib/*:/app/hadoop-3.3.4/share/hadoop/hdfs/*:/app/hadoop-3.3.4/share/hadoop/mapreduce/*:/app/hadoop-3.3.4/share/hadoop/yarn:/app/hadoop-3.3.4/share/hadoop/yarn/lib/*:/app/hadoop-3.3.4/share/hadoop/yarn/*</value>
    </property>

在这里插入图片描述

3.6 workers

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/workers

删除原有的一条localhost记录

增加集群的主机清单,如下内容:

centos7-hadoop-130
centos7-hadoop-131
centos7-hadoop-132

在这里插入图片描述

3.7 格式化NameNode

在centos7-hadoop-130上执行格式化命令,使用hadoop用户执行

仅在首次启动集群前执行一次,多次执行会导致重复生成namenode的集群id,当namenode和datanode的集群id不一致时将导致整个集群报错。重新格式化namenode前应停止namenode和datanode进程,并删除data和log目录,必要时/tmp相关进程信息文件也应删除。

格式化命令:

hdfs namenode -format

在这里插入图片描述

3.8 启动hdfs

entos7-hadoop-130 使用hadoop用户启动hdfs

启动命令:

cd $HADOOP_HOME
sbin/start-dfs.sh 

启动完成进程信息
在这里插入图片描述

注: NodeManager进程在yarn启动后出现

访问NameNode:http://192.168.1.130:9870/
在这里插入图片描述

访问SecondaryNameNode http://192.168.1.132:9868/
在这里插入图片描述

3.9 启动yarn

entos7-hadoop-131 使用hadoop用户启动yarn

启动命令:

cd $HADOOP_HOME
sbin/start-yarn.sh

启动完成进程信息
在这里插入图片描述

访问:http://192.168.1.131:8088/
在这里插入图片描述

查看132节点进程信息
在这里插入图片描述

3.10 配置历史服务器mapred-site.xml

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/mapred-site.xml

configuration节点下增加如下配置

	<!-- 历史服务器端地址 -->
    <property>
	    <name>mapreduce.jobhistory.address</name>
	    <value>centos7-hadoop-130:10020</value>
    </property>
<!-- 历史服务器 web 端地址 -->
    <property>
	    <name>mapreduce.jobhistory.webapp.address</name>
	    <value>centos7-hadoop-130:19888</value>
    </property>

在这里插入图片描述

启动历史服务器

mapred --daemon start historyserver

进程信息
在这里插入图片描述

访问: http://centos7-hadoop-130:19888/jobhistory/
在这里插入图片描述

3.11 配置日志聚集(yarn-site.xml)

三台机器均执行此配置(可使用1.6中的rsync进行同步),使用hadoop用户

path:$HADOOP_HOME/etc/hadoop/yarn-site.xml

configuration节点下增加如下配置

	<!-- 开启日志聚集功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 设置日志聚集服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://centos7-hadoop-13:19888/jobhistory/logs</value>
    </property>
    <!-- 设置日志保留时间为 7 天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

在这里插入图片描述

重启yarn和历史服务器

cd $HADOOP_HOME
#停止yarn  centos7-hadoop-131 上执行
sbin/stop-yarn.sh
#停止历史服务器 centos7-hadoop-130 上执行
mapred --daemon stop historyserve
# 启动yarn  centos7-hadoop-131 上执行
sbin/start-yarn.sh
# 启动历史服务器  centos7-hadoop-130 上执行
mapred --daemon start historyserve

提交测试任务

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input.txt /output00.txt

访问历史服务器:http://centos7-hadoop-130:19888/jobhistory
在这里插入图片描述
查看日志:
在这里插入图片描述
在这里插入图片描述

4. 测试

4.1 创建文件夹并上传文件

hadoop fs -ls /
hadoop fs -mkdir /test
hadoop fs -put node.tar.gz /test/
hadoop fs -put a.txt /

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 查看

hadoop fs -ls /
hadoop fs -ls /test

在这里插入图片描述

4.3 下载

hadoop fs -get /a.txt
hadoop fs -get /test/node.tar.gz

在这里插入图片描述

4.4 删除

hadoop fs -rm -r -f /test
hadoop fs -rm /a.tx

在这里插入图片描述

4.5 yarn任务提交

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input.txt /output.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 常用端口清单

对比下hadoop2.x 与hadoop3.x 端口清单

端口用处Hadoop2.xHadoop3.x
NameNode 内部通信端口8020 / 90008020 / 9000/9820
NameNode HTTP UI500709870
MapReduce 查看执行任务端口80888088
历史服务器通信端口1988819888

6. 常用命令清单

6.1 集群启停

6.1.1 HDFS

#启动
$HADOOP_HOME/sbin/start-dfs.sh
#停止
$HADOOP_HOME/sbin/stop-dfs.sh

6.1.1 yarn

#启动
$HADOOP_HOME/sbin/start-yarn.sh
#停止
$HADOOP_HOME/sbin/stop-yarn.sh

6.2 按模块

6.2.1 HDFS组件

hdfs --daemon start/stop namenode/datanode/secondarynamenode

6.2.1 YARN组件

yarn --daemon start/stop resourcemanager/nodemanager

6.3 历史服务器

mapred --daemon stop historyserver
mapred --daemon start historyserver

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

变量学习笔记

一:作用域 说起变量第一个要说到的肯定就是作用域,正是因为不熟悉JS的作用域,往往就会把面向对象的作用域张冠李戴,毕竟有些东西总是习惯性 的这样,但是并不是每次照搬都是可以的,那么下一个问题就来了,js到底是什么作用域,当然是函数作用域了,我们的浏览器就是一个被…

基于工业物联网的温度监测系统在钢铁行业的应用

随着钢铁行业的快速发展&#xff0c;越来越多电气设备被接入到工业生产系统中&#xff0c;对自动化和连续性的生产提出新的要求&#xff0c;需要关注到供电的稳定可靠&#xff0c;也要关注到用电设备的运行状态。电气设备在长期运行中会面临越来越高的风险&#xff0c;引发危险…

ncurses交叉编译

1.环境 编译环境&#xff1a;ubuntu18.04虚拟机 板端&#xff1a;移远AG550平台 编译链aarch64-oe-linux 2.ncurses下载 ncurses库下载地址&#xff1a;Index of /pub/gnu/ncurses 下载5.9的版本 3.解压并且编译 tar xvf ncurses-5.9.tar.gz cd ncurses-5.9 执行configure命…

Android与H5(Vue)交互

Android与H5互调 实现效果&#xff1a; JS调用Android方法实现dialog弹窗&#xff0c;Android点击弹窗确定/取消按钮调用JS方法&#xff0c;在H5界面展示传递的参数。 Vue准备&#xff1a; 执行 npm run serve 命令启动项目&#xff0c;启动成功后会在命令行看到两个地址&am…

beego框架学习之安装框架

Beego 是一个快速开发 Go 应用的 HTTP 框架&#xff0c;可以用来快速开发 API、Web 及后端服务等各种应用&#xff0c;是一个 RESTful 的框架&#xff0c;相对于echo框架仅包含路由和控制器核心模块&#xff0c;beego是一个完整的MVC框架包括路由&控制器、model 数据库ORM封…

GitLab结合fortify实现自动化代码审计实践

一、背景 在甲方做安全的同学可能会有一项代码审计的工作&#xff0c;通常需要从gitlab把代码拉取下来&#xff0c;然后使用代码审计工具进行扫描&#xff0c;然后对结果进行人工确认&#xff1b; 在这个流程中需要做的事情比较繁琐&#xff0c;比如说gitlab如何配置token、如…

.net开发安卓入门 - 基本交互(Button,输入EditText,TextView,Toast)

.net开发安卓入门 - 基本交互前言TextViewEditTextButtonxml代码如下C#代码如下运行效果优化代码先看原生Android给一个View添加点击事件的三种方式在Xamarin.Android中添加onClick也的两种办法使用onClick绑定前后台调用处理逻辑第一步&#xff1a;第二步&#xff1a;第三步&a…

【实操篇】Linux组管理

目录 ●组管理 ●linux组的基本介绍 ●组的创建以及对用户的操作&#xff08;复习&#xff09; ●查看文件的所有者 ●改变文件所有者 ●修改文件所在的组 ●改变用户所在组 ●linux组的基本介绍 在Linux中的每个用户必须属于一个组&#xff0c;不能独立于组外。并且在Li…

[附源码]Python计算机毕业设计SSM基于云服务器网上论坛设计(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

软件测试 | 版本控制神器GitHub的基本使用与踩坑,教你一铲子填平!

首先需要申请GitHub帐号&#xff0c;这个就不多说了&#xff0c;大家自行百度或Google吧哈。这里默认大家都已经有GitHub账号了~ PS:&#xff08;如果已经配置好的小伙伴可以跳过配置GitHub这部分&#xff09; 配置GitHub 踩坑时刻 - 配置 第一次使用&#xff0c;如果没有配…

Photoshop使用蓝湖 cutterman插件快速切图

快速切图便于节约我们的开发时间 一 蓝湖插件 1.蓝湖官网下载插件 2.ps加载插件 一般都会自动加载 3.开始使用蓝湖插件切图 点击蓝湖插件选择对应的团队点击面板上的切图&#xff0c;选中图层进行标记 标记完成后选择上传全部面板 会提示到蓝湖官网下载对应的切图选择对应的…

mac OS 环境下安装 Redis(使用Homebrew终端安装)

使用Homebrew终端安装Redis&#xff08;好处后面会介绍&#xff09; 获取安装Homebrew&#xff08;复制如下代码到终端运行&#xff09;&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"选择好克隆原后按提示…

【学习经验分享NO.15】本科硕士学位论文和学术论文查重及降重方法

文章目录前言一、查重方法1、查重指标的含义2、查重方法二、如何修改论文重复三、常见问题答疑总结前言 学术小论文以及本科和硕士大论文在发表前需要进行降重处理&#xff0c;不然重复率过高会影响论文的发表&#xff0c;小论文一般查重要至少在20%以下&#xff0c;有些sci期…

pandas设置和显示数据框行列的数量

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 pandas设置和显示数据框行列的数量 [太阳]选择题 以下python代码结果错误的一项是? import pandas as pd pd.set_option(display.max_columns, None) pd.set_option(display.max_rows, None…

vue集成ant-design-vue

因为需要集成ant-design-vue&#xff0c;所以我在老的vue项目上进行集成&#xff0c;这不集成不要紧&#xff0c;一集成项目都起不来&#xff0c;下面进行下梳理 1遇到问题&#xff1a; BrowserslistError: Unknown browser query dead 查资料得到; 1.删除package.json文件里…

Docker[3]-Docker的常用命令

1 帮助命令 命令说明docker version查看docker的版本信息docker info查看docker详细的信息docker --helpdocker的帮助命令&#xff0c;可以查看到相关的其他命令 docker version docker info docker --help 2 镜像命令 镜像命令说明docker images列出本地主机上的镜像docker …

论文投稿指南——中国(中文EI)期刊推荐(第3期)

&#x1f680; EI是国际知名三大检索系统之一&#xff0c;在学术界的知名度和认可度仅次于SCI&#xff01;&#x1f384;&#x1f388; 【前言】 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。其中&#xf…

DBCO试剂Acrylate-PEG5-DBCO,DBCO-PEG5-Acrylate应用生物标记

基础产品数据&#xff08;Basic Product Data&#xff09;&#xff1a; CAS号&#xff1a;N/A 中文名&#xff1a;二苯并环辛炔-五聚乙二醇-丙烯酸酯 英文名&#xff1a;DBCO-PEG5-Acrylate&#xff0c;Acrylate-PEG5-DBCO 结构式&#xff08;Structural&#xff09;&#xff1…

JAVA SCRIPT设计模式--行为型--设计模式之Interpreter解释器模式(15)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能&#xff0c;所以不可能像C&#xff0c;JAVA等面向对象语言一样严谨&#xff0c;大部分程序都附上了JAVA SCRIPT代码&#xff0c;代码只是实现了设计模式的主体功能&#xff0c;不代…

企业微信如何设置文件权限?

当企业使用企业微信移动办公时&#xff0c;有些员工想要上传一些私人文件到企业微信微盘中“我的文件”里保存&#xff0c;但是又担心管理员可以看到&#xff0c;那么该如何设置文件权限呢&#xff1f; 前言 企业微信的会话内容存档功能可以在员工与客户知情的情况下存储聊天记…