snapshot相关知识
-
HBase实操:Spark-Read-HBase-Snapshot-Demo 分享前言:之前给大家分享了Spark通过接口直接读取HBase的一个小demo:HBase-Spark-Read-Demo,但如果在数据量非常大的情况下,Spark直接扫描HBase表必然会对HBase集群造成不小的压力。基于此,今天再给大家分享一下Spark通过Snapshot直接读取HBase HFile文件的方式。 首先我们先创建一个HBase表:test,并插入几条数据,如下: hbase(main):003:0> scan 'test' ROW COLUMN+CELL r1 column=f:name, timestamp=1583318512414, value=zpb r2 column=f:name, timestamp=1583318517079, v
-
自定义 Maven 的 repositories有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 自定义Maven的<repositories> 以Spring应用程序程序为例,需要添加一个Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖,可惜这是个snapshot,并不在镜像站中。 解决方法就是在pom.xml添加一个snapshot的地址: <!-- Spring Snapshots仓库 --> <repositories> <repository> <id>spring-s
-
Ranger-Sqoop2插件安装Ranger-Sqoop2插件安装,基于Ranger版本1.0.0,支持Sqoop2版本1.99.7。1.获取安装包scp root@10.43.159.11:/home/compile/ranger/target/ranger-1.0.0-SNAPSHOT-sqoop-plugin.tar.gz .2.解压tar -zxvf ranger-1.0.0-SNAPSHOT-sqoop-plugin.tar.gz3.进入ranger-1.0.0-SNAPSHOT-sqoop-plugin,修改安装配置文件install.properties主要修改如下配置项:#拉取Ranger策略的地址和服务名称POLICY_MGR_URL=http://10.43.159.11:6080REPOSITORY_NAME=sqoopdev#Kylin组件安装的目录COMPONENT_INSTALL_DIR_NAME=/home/sqoop/sqoop-1.99.7-bin-hadoop200#审计日志保存地址XAAUDIT.SO
-
11GR2新功能:DATAGURAD STANDBY的SNAPHOST测试 在ORACLE 11GR2 的DG环境中,我们可以把备库启动到READ ONLY状态,来实现读的功能,但是在此状态不可以写,不能用于一些测试工作,比如测试PL/SQL等。 ORACLE提供了SNAPSHOT STANDBY的功能,允许把STANDBY数据库启动到SHAPSHOT状态,进行一些测试,测试完成后可以转换到原来的PHYSICAL STANDBY的状态。在SNAPSHOT STANDBY过程中,STANDBY仍然接收日志,但是不运用,当转换成PHYSICAL STANDBY状态时会自己运用以前生成的日志。 下面是关于snapshot的一些特征 1.SNAPSHOT STANDBY DATABASE接收与归档日志,但是不运用日志。 2.转换到PHYSICAL STANDBY DATABASE后会自己的运行以前生成的日志 3.转换到PHYSICAL STANDBY DATABASE后
snapshot相关课程
snapshot相关教程
- 3. 构建这个项目 有了之前章节的铺垫,项目构建就变得非常容易了。我们将目录切换到 mall-aggregate 目录下,执行 mvn clean install 命令,就可以得到如下执行结果。[INFO] Scanning for projects...[WARNING][WARNING] Some problems were encountered while building the effective model for com.mic.tech:mall-web:war:1.0.0-SNAPSHOT[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: junit:junit:jar -> duplicate declaration of version (?) @ line 46, column 17[WARNING][WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.[WARNING][WARNING] For this reason, future Maven versions might no longer support building such malformed projects.[WARNING][INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order:[INFO][INFO] mall-aggregate [pom][INFO] mall-account [jar][INFO] mall-commodity [jar][INFO] mall-order [jar][INFO] mall-delivery [jar][INFO] mall-web Maven Webapp [war][INFO][INFO] --------------------< com.mic.tech:mall-aggregate >---------------------[INFO] Building mall-aggregate 1.0.0-SNAPSHOT [1/6][INFO] --------------------------------[ pom ]---------------------------------[INFO] ...[INFO] ---------------------< com.mic.tech:mall-account >----------------------[INFO] Building mall-account 1.0.0-SNAPSHOT [2/6][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] --------------------< com.mic.tech:mall-commodity >---------------------[INFO] Building mall-commodity 1.0.0-SNAPSHOT [3/6][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] ----------------------< com.mic.tech:mall-order >-----------------------[INFO] Building mall-order 1.0.0-SNAPSHOT [4/6][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] ---------------------< com.mic.tech:mall-delivery >---------------------[INFO] Building mall-delivery 1.0.0-SNAPSHOT [5/6][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] -----------------------< com.mic.tech:mall-web >------------------------[INFO] Building mall-web Maven Webapp 1.0.0-SNAPSHOT [6/6][INFO] --------------------------------[ war ]---------------------------------[INFO] ...[INFO] Building war: D:\code\mall-aggregate\mall-web\target\mall-web.war[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary for mall-aggregate 1.0.0-SNAPSHOT:[INFO][INFO] mall-aggregate ..................................... SUCCESS [ 0.897 s][INFO] mall-account ....................................... SUCCESS [ 2.173 s][INFO] mall-commodity ..................................... SUCCESS [ 0.191 s][INFO] mall-order ......................................... SUCCESS [ 0.192 s][INFO] mall-delivery ...................................... SUCCESS [ 0.148 s][INFO] mall-web Maven Webapp .............................. SUCCESS [ 3.331 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 7.154 s[INFO] Finished at: 2020-05-09T22:55:42+08:00[INFO] ------------------------------------------------------------------------
- 3. 反应堆 反应堆指的是整个项目中所有模块的构建结构。在本节的例子中,整个构建结构包括三个模块。反应堆不仅仅包括模块本身,还包括了这三个模块直接的相互依赖关系。现在,我们的示例项目中,mall-core 和 mall-account 是不存在依赖关系的。父模块中模块的配置顺序如下:<!-- 模块配置 --><modules> <module>mall-core</module> <module>mall-account</module></modules>这里我们稍微做一下调整,用户管理模块可以提供接口给核心业务模块来调用,因此,在 mall-core 模块中引入 mall-account 依赖。重新进行项目构建。[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order:[INFO][INFO] mall-aggregator [pom][INFO] mall-account [jar][INFO] mall-core [jar][INFO][INFO] ----------------------< com.mic:mall-aggregator >-----------------------[INFO] Building mall-aggregator 1.0.0-SNAPSHOT [1/3][INFO] --------------------------------[ pom ]---------------------------------[INFO][INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ mall-aggregator ---[INFO][INFO] ------------------------< com.mic:mall-account >------------------------[INFO] Building mall-account 1.0.0-SNAPSHOT [2/3][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] -------------------------< com.mic:mall-core >--------------------------[INFO] Building mall-core 1.0.0-SNAPSHOT [3/3][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary for mall-aggregator 1.0.0-SNAPSHOT:[INFO][INFO] mall-aggregator .................................... SUCCESS [ 0.220 s][INFO] mall-account ....................................... SUCCESS [ 1.006 s][INFO] mall-core .......................................... SUCCESS [ 0.132 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.533 s[INFO] Finished at: 2020-05-05T14:25:48+08:00[INFO] ------------------------------------------------------------------------从构建的结果来看,模块的构建顺序并不是按照我们在父模块中配置的顺序进行的,而是 Maven 在经过分析之后,生成反应堆,根据反应堆的构建顺序来进行构建的。实际上,Maven 会根据模块间继承与依赖的关系来形成一个有向非循环图,并根据图中标记的顺序,来生成反应堆构建顺序,在构建的时候,根据这个顺序来进行构建。本节中的实例项目的有向非循环图如下:继承与依赖关系的有向非循环图 在这个图中,是不能出现循环的,假如我们在 mall-account 模块中也添加入 mall-core 的依赖,再进行项目构建的时候,Maven 则会报错出来,提示我们这个反应堆中存在循环引用。[INFO] Scanning for projects...[ERROR] [ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.mic:mall-account:1.0.0-SNAPSHOT'}' and 'Vertex{label='com.mic:mall-core:1.0.0-SNAPSHOT'}' introduces to cycle in the graph com.mic:mall-core:1.0.0-SNAPSHOT --> com.mic:mall-account:1.0.0-SNAPSHOT --> com.mic:mall-core:1.0.0-SNAPSHOT @[ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.mic:mall-account:1.0.0-SNAPSHOT'}' and 'Vertex{label='com.mic:mall-core:1.0.0-SNAPSHOT'}' introduces to cycle in the graph com.mic:mall-core:1.0.0-SNAPSHOT --> com.mic:mall-account:1.0.0-SNAPSHOT --> com.mic:mall-core:1.0.0-SNAPSHOT -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectCycleException
- 3.2 创建分支 我们在了解了主干以及分支的概念之后,那么我们如何去创建分支呢?通常情况下我们可以使用 Svn 或者 Git 自带的创建分支的方式来创建需要的分支,但是,这个时候会存在一个问题:我们需要手动去修改新创建出的分支的 pom.xml 文件中的内容。既然说到版本管理,那想必 Maven 肯定是可以帮助我们做这件事情的。那么接下来我们来看一下如何使用 Maven 来创建分支,这里我们使用 Git 配合 Maven 来演示如何创建分支。我们想要使用 Maven 来帮助我们创建分支,首先我们需要配置 scm ,这样 Maven 就可以来代替 Git 来进行操作。这里我们在 gitee 上创建一个仓库来放置我们的项目。1. 将 scm 配置到 pom.xml 文件中:<scm> <connection>scm:git:git@gitee.com:jhulk/first-project.git</connection> <developerConnection>scm:git:git@gitee.com:jhulk/first-project.git</developerConnection></scm>2. 将 maven-release-plugin 插件配置到 pom.xml 文件中:<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <configuration> <tagNameFormat>${project.version}</tagNameFormat> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin></plugins>3. 执行 mvn release:branch -DbranchName=1.0.1 -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false 命令:-DbranchName: 目标分支。这里我们可以根据需要来自定义新分支的命名结构;-DupdateBranchVersions: 在分支中更新版本;-DupdateWorkingCopyVersions: 在当前分支更新版本。在执行的时候, Maven 会问 branch version 是否为 1.0.1-SNAPSHOT?这个是我们想要的,直接 enter 即可。执行完成之后,我们查看 Git 的远程仓库中,可以看到新生成的分支。4. 执行 mvn release:prepare 命令:在执行的时候,Maven 会问 release version 是否是 1.0.0?这个是否是我们想要的,直接选择 enter 即可。紧接着,Maven 会问我们 release tag 是否是1.0.0-SNAPSHOT?这个也是我们想要的,直接 ente r即可。紧接着,Maven 会问我们新的版本是否是1.0.1-SNAPSHOT?这里输入新版本为1.1.0-SNAPSHOT,然后 enter。执行成功之后,我们更新一下代码,会发现,主干上的 pom.xml 文件的版本已经升级为1.1.0-SNAPSHOT了。
- 2.2 命令选项 常用选项命令选项说明-no-snapshot-load执行冷启动,并在退出时保存模拟器状态。-no-snapshot-save执行快速启动,但在退出时不保存模拟器状态。-no-snapshot彻底停用快速启动功能。-camera-back-camera-front设置后置或前置相机的模拟模式。emulated:模拟器在软件中模拟相机。webcamn:模拟器使用连接到开发计算机的摄像头,由数字指定,例如 webcam0。none:在虚拟设备中停用相机。-webcam-list列出开发计算机上可用于模拟的摄像头。-memory指定物理 RAM 大小,范围为从 128 MB 到 4096 MB。-sdcard指定 SD 卡分区映像文件的文件名和路径。-wipe-data删除用户数据并从初始数据文件中复制数据。-debug启用或停用一个或多个标记的调试消息显示。-logcat启用一个或多个标记的 logcat 消息显示,并将其写入终端窗口。-show-kernel在终端窗口中显示内核调试消息。-verbose将模拟器初始化消息输出到终端窗口。-dns-server使用指定的 DNS 服务器。-http-proxy通过指定的 HTTP/HTTPS 代理进行所有 TCP 连接。-netdelay模拟设置网络延迟-netfast停用网络节流功能。-netspeed设置网络速度模拟。-port设置用于控制台和 adb 的 TCP 端口号。-tcpdump捕获网络数据包并将其存储在文件中。-accel配置模拟器虚拟机加速。-accel-check检查是否已安装模拟器虚拟机加速所需的管理程序(HAXM 或 KVM)。-engine指定模拟器引擎:auto:自动选择引擎(默认值)。classic:使用较旧的 QEMU 1 引擎。qemu2:使用较新的 QEMU 2 引擎。-gpu选择 GPU 模拟模式。-version显示模拟器版本号。-no-boot-anim在模拟器启动期间停用启动动画以加快启动速度。-screen设置模拟触摸屏模式。touch:模拟触摸屏(默认值)。multi-touch:模拟多点触控屏幕。no-touch:停用触摸屏和多点触控屏幕模拟。高级选项命令选项说明-bootchart启用 bootchart,设有超时(以秒为单位)。-cache指定缓存分区映像文件。-cache-size设置缓存分区大小(以 MB 为单位)。-data设置用户数据分区映像文件。-datadir使用绝对路径指定数据目录。-force-32bit在 64 位平台上使用 32 位模拟器。-help-disk-images获取有关磁盘映像的帮助。-help-char-devices获取有关字符 device 规范的帮助。-help-sdk-images获取与应用开发者相关的磁盘映像的帮助。-help-build-images获取与平台开发者相关的磁盘映像的帮助。-initdata指定数据分区的初始版本。-kernel使用特定的模拟内核。-noaudio停用对此虚拟设备的音频支持。-nocache启动没有缓存分区的模拟器。-no-snapshot禁止自动加载和保存操作。-no-snapshot-load阻止模拟器从快照存储加载 AVD 状态。-no-snapshot-save阻止模拟器在退出时将 AVD 状态保存到快照。-no-window停用模拟器上的图形窗口显示。-partition-size指定系统数据分区大小(以 MB 为单位)。-prop在启动时在模拟器中设置 Android 系统属性。-ramdisk指定 ramdisk 启动映像。-shell在当前终端上创建根 shell 控制台。-sysdir使用绝对路径指定系统目录。-system指定初始系统文件。-writable-system使用此选项在模拟会话期间创建可写系统映像。
- 1. 聚合 这里我们以一个简单的 mall 项目作为例子。先来看一下这个项目的结构,整个项目包括 mall-core 和 mall-account 两个功能模块和 mall-aggregator 一个聚合模块。其中, mall-core 处理商城项目的核心业务逻辑, mall-account 用于管理商城的账户信息。项目文件图示一般来说,对于只有一个模块的项目,我们可以在该模块下直接执行 mvn clean package 命令来进行项目构建,但是,对于这样的多模块项目,我们如果要构建不同模块的话,需要分别在对应模块下执行 Maven 的相关命令,这样看起来是非常繁琐的。这个时候,Maven 的聚合特性就能够起到作用。我们来分析一下这个项目整体的结构,首先,我们看一下 mall-aggregator 模块。这个模块作为整个工程的聚合模块,并没有实际的代码,但是其本身也是一个 Maven 项目,所以,也会存在 pom.xml 文件。那我们首先来看一下这个 pom.xml 文件有什么特点。mall-aggregator 模块的 pom.xml 文件我们可以看到这里面也会有相对应的 groupId , artifactId , version ,packaging 信息,其中 packaging 的值必须是 pom,否则聚合项目无法构建。我们从 modules 中可以看到整个项目包含两个模块,分别是 mall-core 和 mall-account 。通常情况下,我们将不同的模块放到聚合模块下,其中 module 的值分别对应不同模块的 artifactId 值。在这个时候,我们 mall-aggregator 模块下,使用 mvn clean package 来进行构建,可以将两个模块同时打包完成。[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order:[INFO][INFO] mall-aggregator [pom][INFO] mall-core [jar][INFO] mall-account [jar][INFO][INFO] ----------------------< com.mic:mall-aggregator >-----------------------[INFO] Building mall-aggregator 1.0.0-SNAPSHOT [1/3][INFO] --------------------------------[ pom ]---------------------------------[INFO][INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ mall-aggregator ---[INFO][INFO] -------------------------< com.mic:mall-core >--------------------------[INFO] Building mall-core 1.0.0-SNAPSHOT [2/3][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] ------------------------< com.mic:mall-account >------------------------[INFO] Building mall-account 1.0.0-SNAPSHOT [3/3][INFO] --------------------------------[ jar ]---------------------------------[INFO] ...[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary for mall-aggregator 1.0.0-SNAPSHOT:[INFO][INFO] mall-aggregator .................................... SUCCESS [ 0.494 s][INFO] mall-core .......................................... SUCCESS [ 2.152 s][INFO] mall-account ....................................... SUCCESS [ 0.145 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 3.002 s[INFO] Finished at: 2020-05-05T11:32:54+08:00[INFO] ------------------------------------------------------------------------从这次构建的过程来看,我们可以看出,Maven 会首先解析聚合模块的 pom.xml 文件,分析出有哪些模块需要构建,进而计算出一个反应堆构建顺序(Reactor Build Order),并且根据这个顺序来依次进行模块的构建。
- 4.3 项目信息配置 这一段配置代码,大家看到应该比较眼熟,内容即为之前使用 Spring Initializr 指定的项目信息。其中,groupId 是机构标识、artifactId 是项目标识,version 是版本号,name 是项目名称,description 是项目的简单描述。实例: <groupId>com.imooc</groupId> <artifactId>spring-boot-hello</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-hello</name> <description>Demo project for Spring Boot</description>Tips: name 是项目的名称,不用特别严谨。而 artifactId 是用来区分 group 下面的子项目的,需要保证严格唯一。一般情况下将 artifactId 和 name 设置成一样的就可以了。
snapshot相关搜索
-
s line
safari浏览器
samba
SAMP
samplerate
sandbox
sanitize
saper
sas
sass
save
smarty模板
smil
smtp
snapshot
snd
snmptrap
soap
soapclient
soap协议