搜档网
当前位置:搜档网 › SolrCloud使用教程、原理介绍 我心动了

SolrCloud使用教程、原理介绍 我心动了

SolrCloud使用教程、原理介绍  我心动了
SolrCloud使用教程、原理介绍  我心动了

SolrCloud使用教程、原理介绍

发布于2013 年 8 月 24 日,属于搜索分类,7,446 浏览数

SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,是正在开发中的 Solr4.0 的核心组件之一,它的主要思想是使用 Zookeeper 作为集群的配置信息中心。

它有几个特色功能:①集中式的配置信息②自动容错③近实时搜索④查询时自动负载均衡。

下面看看 wiki 的文档:

1、SolrCloud

SolrCloud 是指 Solr 中一套新的潜在的分发能力。这种能力能够通过参数让你建立起一个高可用、

容错的 Solr 服务集群。当你需要大规模,容错,分布式索引和检索能力时使用

SolrCloud(solr 云)。

看看下面“启动”部分内容,快速的学会怎样启动一个集群。后面有 3 个快速简单的例子,

它们展现怎样启动一个逐步越来越复杂的集群。检出例子之后,需要翻阅后面的部分了解

更加细节的信息。

2、关于 SolrCores 和 Collections 的一点儿东西

对于单独运行的 Solr 实例,它有个东西叫 SolrCore(Solr.xml 中配置的),它是本质上独立的

索引块。如果你打算多个索引块,你就创建多个 SolrCores。当同时部署SolrCloud 的时,

独立的索引块可以跨越多个 Solr 实例。这意味着一个单独的索引块能由不同服务器设备上多个 SolrCore 的索引块组成。我们把组成一个逻辑索引块的所有 SolrCores 叫做一个独立

索引块儿(collection)。一个独立索引块是本质上一个独立的跨越多个 SolrCore 索引块的索

引块,同时索引块尽可能随着多余的设备进行缩放。如果你想把你的两个 SolrCore Solr 建

立成 SolrCloud,你将有 2 个独立索引块,每个有多个独立里的 SolrCores 组成。

3、启动

下载 Solr4-Beta 或更高版本。

如果你还没了解,通过简单的Solr 指南让自己熟悉Solr。注意:在通过指南了解云特点前,重设所有的配置和移除指南的文档.复制带有预先存在的 Solr 索引的例子目录将导致文档计数关闭Solr 内嵌使用了Zookeeper 作为集群配置和协调运作的仓储。协调考虑作为一个包

含所有 Solr 服务信息的分布式文件系统。

如果你想用一个其他的而不是 8983 作为 Solr 端口,去看下面’ Parameter Reference’部分下

的关于solr.xml 注解

例 A:简单的 2 个 shard 集群

这个例子简单的创建了一个代表一个独立索引块的两个不同的 shards 的两个 solr 服务组成

的集群。从我们将需要两个 solr 服务器,简单的复制例子目录副本作为第二个服务器时,

要确保没有任何索引存在。 1 2 rm -r example/solr/collection1/data/*

cp -r example example2

下面的命令启动了一个 solr 服务同时引导了一个新的 solr 集群

1 2 3 cd example

java -Dbootstrap_confdir=./solr/collection1/conf

-Dcollection.configName=myconf -DzkRun -DnumShards=2 -jar start.jar ?-DzkRun 该参数将促使一个内嵌的 zookeeper 服务作为 Solr 服务的部分运行起来。

?-Dbootstrap_confdir=./solr/collection1/conf 当我们还没有 zookeeper 配置时,这个参数导致本地路径./solr/conf 作为“myconf”配置被加载.“myconf”来自下面的“collection.configName”

参数定义。

?-Dcollection.configName=myconf 设置用于新集合的配置名。省略这个参数将导致配置名字

为默认的“configuration1”

?-DnumShards=2 我们打算将索引分割到逻辑分区的个数。

浏览 http://localhost:8983/solr/#/~cloud 地址,看看集群的状态。你从 zookeeper 浏览程序能

看到 Solr 配置文件被加载成”myconf”,同时一个新的叫做”collection1”的文档集合被创

建.collection1 下是碎片列表,这些碎片组成了那完整的集合。

现在我们想要启动我们的第二个服务器;因为我们没明确设置碎片 id ,它将自动被设置成

shard2,启动第二个服务器,指向集群

1 2 cd example2

java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar

?-Djetty.port=7574 只是一种用于让 Jetty servlet 容器使用不同端口的方法

?-DzkHost=localhost:9983 指向全体包含集群状态的 Zookeeper 服务.这个例子中,我们运行

的是一个内嵌在第一个 solr 服务器中的独立的 Zookeeper 服务.默认情况下,一个内嵌的

Zookeeper 服务运行在 9983 端口上。

如果你刷新浏览器,你现在在 collection1 下应该看到两个shard1 和 shard2。

接下来,索引一些文档。如果你想要快速完成一些,像 java 你能够使用 CloudSolrServer solrj 的实现和简单的用 Zookeeper 地址初始化它就可以了.或者也可以随便选择某个 solr 实例添加文档,这些文档自动的被导向属于他们的地方。

1 2 3 4 cd exampledocs

java -Durl=http://localhost:8983/solr/collection1/update-jar post.jar ipod_video.xml

java -Durl=http://localhost:8983/solr/collection1/update-jar post.jar monitor.xml

java -Durl=http://localhost:8983/solr/collection1/update-jar post.jar mem.xml

现在,发起一个获得覆盖整个集合的分布式搜索服务搜索到的任何一个服务的结果的请求:1 http://localhost:8983/solr/collection1/select?q=*:*

如果在任一个点你希望重新加载或尝试不同的配置,

你能通过关闭服务器后简单的删除solr/zoo_data 目录方式删除所有 zookeeper 的云状态。

例 B:简单的支持副本的两个碎片集群

有先前的例子,这个例子通过再创建 shard1 和 shard2 副本很容易创建起来。额外的 shard 副本用于高可用性和容错性,或用于提高集群的检索能能力。

首先,通过前一个例子,我们已经有两个碎片和一些文档索引在里面了。然后简单的复制那两个服务:

1 2 cp-r example exampleB cp-r example2 example2B

然后在不同的端口下启动这两个新的服务,每个都在各自的视窗下执行

1 2 3 4 cd exampleB

java -Djetty.port=8900 -DzkHost=localhost:9983 -jar start.jar cd example2B

java -Djetty.port=7500 -DzkHost=localhost:9983 -jar start.jar

刷新 zookeeper 浏览页面,核实 4 个 solr 节点已经启动,并且每个 shard 有两个副本,因为我们已经告诉 Solr 我们想要 2 个逻辑碎片,启动的实例 3 和 4 自动的被负值为两个 shards 的副

本。

现在,向任何一个服务器发送请求来查询这个集群

1 http://localhost:7500/solr/collection1/select?q=*:*

多次发送这个请求,来研究 solr 服务的日志。你应该能够发现 Solr 实现跨副本的负载均衡请求,用不同的服务满足每一个请求。浏览器发送请求的服务器里有一个顶层请求的日志描述,也会有被合并起来生成完成响应的子请求的日志描述。

为了证明故障切换的可用性,在任何一个服务器(除了运行 Zookeeper 的服务器)运行窗口下按下CTRL-C。一旦那个服务实例停止运行,就向剩余运行的服务器的任何一个发送另一个查询请求,你应该仍然看到完整的结果。

SolrCloud 能够持续提供完整查询服务直到最后一个维护每一个碎片的服务器当机.你能通过明确地关闭各个实例和查询结果来证明这种高可用性。如果你关掉维护某一个碎片的所有服务器,请求其他服务器时将会返回 503 错误结果。要想从依然运行的碎片服务中返回可用的正确文档,需要添加shards.tolerant=true 查询参数。

SolrCloud 用多主服务+监控者服务实现。这意味着某写节点或副本扮演一种特殊角色。你不需要担忧你关掉的是主服务或是集群监控,如果你关掉它们中的一个,故障切换功能将自动选出新的主服务或新的监控服务,新的服务将无缝接管各自的工作。任何 Solr 实例都能被升级为这些角色中的某个角色。

例 C:支持副本和完整 zookeeper 服务的两个碎片集群

例 B 的问题是可以有足够多的服务器保证任何一个损坏的服务器的信息幸存下来,但确只有一个包含集群状态的 zookeeper 服务器。如果那台 zookeeper 服务器损坏,分布式查询将仍然工作在上次zookeeper 保存的集群状态下,可能没有机会改变集群的状态了。

在 a zookeeper ensemble(zookeeper 集群)中运行多个 zookeeper 服务器保证 zookeeper 服务的高可用性。每个 zookeeper 服务器需要知道集群中其他服务器,且这些服务器中的一个主服务器需要提供服务。例如: 3 台组成的 zookeeper 集群允许任一个故障,而后通过剩余 2 个协商一个主服务继续提供服务。5 台的需要允许一次 2 个服务器故障。

对于用于生产服务时,推荐运行一个额外的 zookeeper 集群而不是运行内嵌在 Solr 里面的zookeeper服务。在这里你能阅读更多关于建立 zookeeper 集群的知识。对于这个例子,为了简单点我们将用内嵌的 zookeeper 服务。

首先停止 4 个服务器并清理 zookeeper 数据

1 rm-r example*/solr/zoo_data

我们将分别在 8983,7574,8900,7500 端口运行服务。默认的方式是在主机端口+1000 运行内嵌的 zookeeper 服务,所以如果我们用前 3 个服务器运行内嵌 zookeeper,地址分别是localhost:9983,localhost:8574,localhost:9900。

为了方便,我们上传第一个服务器 solr 配置到集群。你将注意到第一个服务器阻塞了,直到你启动了第二个服务器。这是因为 zookeeper 需要达到足够的服务器数目才允许操作。

1 2 cd example

java -Dbootstrap_confdir=./solr/collection1/conf-

3 4 5 6 7 8 Dcollection.configName=myconf -DzkRun -

DzkHost=localhost:9983,localhost:8574,localhost:9900 -DnumShards=2 -jar start.jar

cd example2

java -Djetty.port=7574 -DzkRun -

DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

cd exampleB

java -Djetty.port=8900 -DzkRun -

DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

cd example2B

java -Djetty.port=7500 -

DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

现在我们已经运行起由 3 个内嵌 zookeeper 服务组成的集群,尽管某个服务丢失依然保持

工作。通过 CTRL+C 杀掉例 B 的服务器然后刷新浏览器看 zookeeper 状态可以断定zookeeper 服务仍然工作。注意:当运行在多个 host 上时,在每个需要设置对应的hostname,-DzkRun=hostname:port,-DzkHosts 使用准确的 host 名字和端口,默认的localhost 将不能工作。

4、ZooKeeper

为了容错和高可用多个 zookeeper 服务器一起运行,这种模式叫做 an ensemble。对于生产

环境,推荐额外运行 zookeeper ensemble 来代替 solr 内嵌的 zookeeper 服务。关于下载和运行 ensemble的更多信息访问 Apache ZooKeeper 。更特殊的是,试着启动和管理 zookeeper。它的运行实际上非常简单。你能容银让 Solr 运行 Zookeeper,但是记住一个 zookeeper 集群不容易进行动态修改。除非将来支持动态修改,否则最好在回滚重启时进行修改。与 Solr 分开处理通常是最可取的。

当 Solr 运行内嵌 zookeeper 服务时,默认使用 solr 端口+1000 作为客户端口,另外,solr 端口+1 作为 zookeeper 服务端口,solr 端口+2 作为主服务选举端口。所以第一个例子中,

Solr 运行在 8983端口,内嵌 zookeeper 使用 9983 作为客户端端口,9984 和 9985 作为服务端口。

鉴于确保 Zookeeper 搭建起来是非常快速的,要记住几点:Solr 不强烈要求使用 Zookeeper,很多情况优化可能不是必须的。另外,当添加更多的 Zookeeper 节点对读数据性能会有帮助,但也轻微的降低了写的性能。再有,当集群处于稳定运行时,solr 与 Zookeeper 没有太多的交互。如果你需要优化 zookeeper,这里有几个有益的要点:

1.ZooKeeper在专用的机器上运行效果最好。ZooKeeper 提供的是一种及时服务,专用设备有助于确保及时服务的响应。当然,专用机器并不是必须的。

2.ZooKeeper在事务日志和快照在不同的硬盘驱动器上工作效果最好

3.如果配置支持 solr 的 Zookeeper,各自使用独立的硬盘驱动器有助于性能。

5、通过集合 api 管理集合

你可以通过集合 API 管理集合。在这个 API 壳下,一般使用 CoreAdmin API 异步管理每台

服务器上的 SolrCores,对于如果你自己处理使独立的 CoreAdmin API 通过替换 action 参数

就能调用每个服务器来说,这无疑是一个必不可少好东西。

①创建接口

1 http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numSh 相关参数:

name:将被创建的集合的名字

numShard s:集合创建时需要创建逻辑碎片的个数

replicationFactor:每个文档副本数。replicationFactor(复制因子)为 3

意思是每个逻辑碎片将有 3 份副本。注:Solr4.0 中,replicationFactor

是 additional * 副本数,而不是副本总数

maxShardsPerNode:一个创建操作将展开创建

numShards*replicationFactor 碎片副本遍布在你的 Solr 节点上,公平

分布,同一个碎片的两个副本不会在同一个 Solr 节点上。如果创建操作完成

时 Solr 损坏,该操作不会创建出新集合的任何部分。该参数用来防止在同一

个 Solr 节点创建太多副本,默认参数 1.如果它的值与整体集合中

numShards*replicationFactor 副本数分布到正常活跃的Solr 节点的数不

符,将不能创建任何东西

createNodeSet:如果不提供该参数,创建操作将创建碎片副本展开分布到所

有活跃的 Solr 节点上。提供该参数改变用于创建碎片副本的节点集合。参数

值的格式是:",,...,",

例如:

createNodeSet=localhost:8983_solr,localhost:8984_solr,localhos

t:8985_solr

collection.configName:用于新集合的配置文件的名称。如果不提供该参数

将使用集合名称作为配置文件的名称。

Solr4.2

相关参数:

name:将被创建的集合别名的名字

collections:逗号分隔的一个或多个集合别名的列表

②删除接口

1 http://localhost:8983/solr/admin/collections?action=DELETE&name=mycollection

相关参数:

1 name:将被删除的集合的名字

③重新加载接口

1 http://localhost:8983/solr/admin/collections?action=RELOAD&name=mycollection

相关参数:

name:将被重载的集合的名字

④分割碎片接口

1 http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=<collection_n Solr4.3

相关参数:

collection:集合的名字

shard:将被分割的碎片 ID

这个命令不能用于使用自定义哈希的集群,因为这样的集群没有一个明确的哈希范围。它

只用于具有plain 或 compositeid 路由的集群。

该命令将分割给定的碎片索引对应的那个碎片成两个新碎片。通过将碎片范围划分成两个

相等的分区和根据新碎片范围分割出它在父碎片(被分的碎片)中的文档。新碎片将被命名

为 appending_0 和_1。例如:shard=shard1 被分割,新的碎片将被命名为 shard1_0 和

shard1_1。一旦新碎片被创建,它们就被激活同时父碎片(被分的碎片)被暂停因此将没有新

的请求到父碎片(被分的碎片)。

该特征达到了无缝分割和无故障时间的要求。原来的碎片数据不会被删除。使用新 API 命

令重载碎片用户自己决定。

该特性发布始于 Solr4.3,由于 4.3 发布版本发现了一些 bugs,所以要使用该特性推荐等待

4.3.1。

6、集合别名

别名允许你创建独立的指向一个或多个真是集合的虚拟集合,你能够在运行时修改别名。

①创建别名

1 http://localhost:8983/solr/admin/collections?action=CREATEALIAS&name=alias&collections=col

创建或修改别名。用于发送修改的别名应该只映射一个独立的集合。读的别名能映射一个

或多个集合。

②移除存在的别名

1 http://localhost:8983/solr/admin/collections?action=DELETEALIAS&name=alias

移除存在的别名

7、经 CoreAdmin 创建 cores

经过 CoreAdmin 可以创建新的 Solrcores 和使新的 Solrcores 与一个集合关联,创建时附加

云相关参数

?collection 这个 core 所属的集合的名字。默认 core 的名字

?shard 这个 core 代表的碎片的 id(可选-通常自动设置一个碎片 id)

?numShards 集合碎片个数。该参数只在集合第一个 core 创建时有用

?collection.= 集合创建时设置属性值,用 collection.configName=

指明新集合的配置文件

1 curl

'http://localhost:8983/solr/admin/cores?action=CREATE&name=mycore&collection=collection1&s

8、分布式请求

查询一个集合的所有碎片(注意:那个集合已经隐含在 URL 中了)

1 http://localhost:8983/solr/collection1/select?

查询一个兼容集合的所有碎片,明确详述如下:

1 http://localhost:8983/solr/collection1/select?collection=collection1_recent 查询多个兼容集合的所有碎片

1 http://localhost:8983/solr/collection1/select?collection=collection1_NY,collection1_NJ,col

查询集合的某些碎片。例子中,用户已经按日期对索引进行分割了,每月创建一个新的碎

1 http://localhost:8983/solr/collection1/select?shards=shard_200812,shard_200912,shard_20100明确指明以想要查询碎片的地址

1 http://localhost:8983/solr/collection1/select?shards=localhost:8983/solr,localhost:7574/so 明确指明以想要查询碎片的地址,同时为负载均衡和故障切换给出可选的地址

1 http://localhost:8983/solr/collection1/select?shards=localhost:8983/solr|localhost:8900/so

9、必须的配置

所有必须的配置已经安装在 Solr 的例子中。下面是如果你正在迁移旧的配置文件你需要添

加什么,或不应该删除什么

10、schema.xml

字段_version_是必须定义的

1

11、solrconfig.xml

必要有一个更新日志的定义,这个应该被定义在 updateHandler 标签中

1 2 3 4

${solr.data.dir:}

必须有一个复制处理调用的定义

1

必须有一个获取实际时间处理的调用的定义

1 2 3 4 5

true

必须有管理句柄的定义

1 DistributedUpdateProcessor 是默认更新链的部分也会被自动注入自定义更新链。

1 2 3 4 5 6

如果不想让它自动注入到你的链中(说明你想使用 SolrCloud 功能,但想自己分发修改)那么在你的链

中指明下面的更新处理工厂: NoOpDistributingUpdateProcessorFactory

12、solr.xml

必须保留 admin path 作为默认 core

1

13、可变集群

当你在一个集合中启动 SolrCore 时通过 numShards 参数可以控制集群的规模。这个参数一般自动赋给关联每个实例的碎片。启动 numShards 个实例后所有的 SolrCores 都被均匀的加入每个碎片作为副本。

向集合添加 SolrCores 保证其启动是很简单的,你随时都可以进行这样的操作。新的SolrCore 在激活前会把它的数据同步到碎片中的副本上。

如果你要在几台机器上启动集群,不仅添加副本需要花时间扩展成集群也需要时间,那么,你可以选择通过每部机器负责几个碎片的方式启动(使用多 SolrCores),然后通过对碎片启

动副本的形式迁移碎片到新的设备上,最终移除原来设备上的碎片。

Solr4.3 具备新的 API 接口, SPLITSHARD,分割已存在的碎片成两份新的碎片,相关介

绍前面讲过。

14、近实时搜索

如果你希望启用近实时搜索,你可能需要修改放在ZooKeeper中的solrconfig.xml文件,添加启动软件自动提交配置,或者通过向集群发送软提交。详见看近实时搜索。

15、参数参考介绍

A.集群参数

numShards 默认值

1

文档被散列存储到所有碎片的数量。每个碎片有一个主碎片(领导者),每

个主碎片有 N 个副本

B.Solr 云实例参数

参数在 solr.xml 中设置,实例的运行与系统环境变量也有关。重要事项:hostPort 是每个Solr 实例运行的端口,zookeeper 通过该端口通知集群的状态(剩余等),默认值是 8983。solr.xml 例子用的是 jetty.port 环境变量,所以如果你不想用 8983,那么你启动 Solr前设置jetty.port 变量,或修改 solr.xml 文件。

host 默认值找

到的第一

个本地地

址如果自动找到的地址是错的,你可以通过这个参数修改

hostPort 默认值这个参数是Solr使用的,默认使用的是jettry的配置文件

jettry的系统配置

host 默认值

solr

Solr 部署成 web 应用时的上下文路径。(注:在 Solr4.0 中,强制要

求 hostContext 不能包含”/”或”_”字符。Solr4.1 开始,没有这个

限制了,并且建议以”/”开头。运行 jetty 例子时,hostContext 既是

jetty 容器的 servlet 上下文地址也是 SolrCloud 上下文地址,例:-

DhostContext=/solr)

C.云实例中 Zookeeper 参数

zkRun 默认值

localhost:solrPort+1000

配置该参数让 Solr 运行起内嵌的 Zookeeper

服务。参数设置了 Zookeeper 所在的服务器

地址。这个值会出现在 zkHost 参数中,我们

能够知道都有哪些 zk 服务器。简单模式可以

使用默认值;注意:这个值必须是 zkHost 中

的一个;另外,多服务器版的不能使用默认的

localhost。

zkHost 默认值没有ZooKeeper host 地址——你的ZooKeeper 集群一般节点地址使用逗号分割

zkClientTimeout 默认值 15000 session 没有过期前提下,不和ZooKeeper

交互的最长间隔 zkClientTimeout 参数在 solr.xml 设置,也可以通过系统参数设置。

D.云核参数

shard shard 的ID,默认基于numShards 自动分配 允许你指定SolrCores 里的shard 的Id 碎片 id 可以在每个 core 元素的属性中配置

16、把配置文件给 ZooKeeper

A.配置启动引导参数

第一次启动 Solr ,有两种使用系统参数加载初始化 Zookeeper 配置文件的方法。记住,只用于第一次启动或覆盖配置文件时。每次启动都要带着系统参数,系统参数会覆盖配置文件中名字相同的值。

1.看 solr.xml 文件,找到每个 SolrCore 加载的 conf 目录。 ‘config set’ (配置集)的名字就是 SolrCore 的集合的名字,集合使用与它名字相同的配置集合。

bootstrap_conf 无默认值 如果启动时携带参数 -Dbootstrap_conf=true ,每个 SolrCore 将把

自己的配置文件加载关联到它对应的集合上。

bootstrap_confdir 无默认值 如果你通过 -bootstrap_confdir=<目录? 启动,

指定的配置目录文件将会被提交到ZooKeeper,

设置配置名可以用下面的参数:

collection.configName

collection.configName 默认值 通过bootstrap_confdir 设置配置集的名称

configuration1

B.命令行工具

CLI 工具也可以配置 Zookeeper。它与上面两种方法一样。它提供一些命令,能够配置集到集合关联,创建 Zookeeper 路径或移除,还能从 zookeeper 下载配置文件到本地。

1 2 3 4 5 6 7 8 9 usage: ZkCLI

-c,--collection for linkconfig: name of the collection

-cmd cmd to run: bootstrap, upconfig, downconfig,linkconfig, makepath, clear

-d,--confdir for upconfig: a directory of configuration files

-h,--help bring up this help page

-n,--confname for upconfig, linkconfig: name of the config set

-r,--runzk run zk internally by passing the solr run port -only for clusters on one machine (tests, dev)

-s,--solrhome for bootstrap, runzk: solrhome location

-z,--zkhost ZooKeeper host address

C.例子

1 2 3 4 5 6 # try uploading a conf dir

java -classpath example/solr-webapp/WEB-INF/lib/*

org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:9983 -confdir example/solr/collection1/conf -confname conf1

# try linking a collection to a conf set

java -classpath example/solr-webapp/WEB-INF/lib/*

org.apache.solr.cloud.ZkCLI -cmd linkconfig -zkhost 127.0.0.1:9983 -collection collection1 -confname conf1

# try bootstrapping all the conf dirs in solr.xml

java -classpath example/solr-webapp/WEB-INF/lib/*

org.apache.solr.cloud.ZkCLI -cmd bootstrap -zkhost 127.0.0.1:9983 -solrhome example/solr

D.脚本

如果你不想使用jettry容器,example/cloud-scripts 目录下有系统脚本文件,它帮你处理了classpath 和 class name,命令变成为:

1 sh zkcli.sh -cmd linkconfig -zkhost 127.0.0.1:9983 -collection collection1 -confname conf1

17、ZooKeeper chroot

如果其他应用已经在用 Zookeeper,你想保持原应用的管理方式,又或者有多个分开的solrcloud 集群共用一个 zookeeper,你可以用 zookeeper 的‘chroot’选项,来自Zookeeper Session。

An optional "chroot" suffix may also be appended to the connection string. This will run the client commands while interpreting all paths relative to this root (similar to the unix chroot command). If used the example would look like: "127.0.0.1:4545/app/a" or

"127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a" where the client would be rooted at "/app/a" and all paths would be relative to this root - ie getting/setting/etc... "/foo/bar" would result in operations being run on "/app/a/foo/bar" (from the server perspective).

要使用这个特点,zkHost 参数用上”chroot”后缀,而后简单启动 solr

1 java -DzkHost=localhost:9983/foo/bar-jar start.jar

或者

1 java -DzkHost=zoo1:9983,zoo2:9983,zoo3:9983/foo/bar-jar start.jar

提示:Solr4.0启动时你需要预先创建ZooKeeper路径,Solr4.1以后再使用

eitherbootstrap_conf 或 boostrap_confdir 的路径是自动初始化的了。

18、已知的局限性

很少 Solr 搜索框架不支持分布式搜索的。有些情况下,一个框架无法支持分布式,不过,那只是时间和努力的问题。不支持标准分布式搜索的搜索框架,它的 SolrCloud 同样不支持。通过 distrib=false控制是否使用分布式。

组群特点只能是在同一个存储碎片上的组群。必须自定义碎片特征才能使用组群特点。

如果要更新支持SolrCloud 的Solr4.0 到4.1,注意name_node 参数的定义方式已经改变了。这导致一种情况发生,由于 name_node 用 ip 地址代替了服务器的名字,使 SolrCloud 无法

感知到这个name_node。你可以通过 solr.xml 配置 ip 到服务器名的关联解决问题。

19、术语

Collection: A single search index.

Shard: A logical section of a single collection (also called Slice). Sometimes people will talk about “Shard” in a physical sense (a manifestation of a logical shard)

Replica: A physical manifestation of a logical Shard, implemented as a single Lucene index on a SolrCore

Leader: One Replica of every Shard will be designated as a Leader to coordinate indexing for that Shard

SolrCore: Encapsulates a single physical index. One or more make up logical shards (or slices) which make up a collection.

Node: A single instance of Solr. A single Solr instance can have multiple SolrCores that can be part of any number of collections.

Cluster: All of the nodes you are using to host SolrCores.

您可能喜欢:

Solr索引数据同步(ReplicationHandler)功能搭建问题

Solr 开发过程中遇到的一下资料、问题整理(资料)

Solr实现并集式、多值、复杂过滤查询(filterQuery)

Solr 对比 Lucene 的优势

Solr4.0(SolrCloud) & ElasticSearch(ES) 比较(二)

气动隔膜阀工作原理

关于气动隔膜阀漏原理 2)气动隔膜阀和电动隔膜阀的工作原理是什么 隔膜阀(diaphragmvalve)是一种特殊形式的截断阀,出现于20世纪20年代。它的启闭件是一块用软质材料制成的隔膜,把阀体内腔与阀盖内腔及驱动部件隔开,故称隔膜阀。 隔膜阀的特点如下: 最突出特点是隔膜把下部阀体内腔与上部阀盖内腔隔开,使位于隔膜上方的阀杆、阀瓣等零件不受介质腐蚀,省去了填料密封结构,且不会产生介质外漏。# N+ g& \! A" } 1、采用橡胶或塑料等软质密封制作的隔膜,密封性较好。由于隔膜为易损件,应视介质特性而定期更换。-v7A;[&N!i2N+Z M3X! \ 2、受隔膜材料限制,隔膜阀适用于低压和温度相对不高的场合。 3、隔膜阀按结构形式可分为:屋式、直流式、截止式、直通式、闸板式和直角式六种;连接形式通常为法兰连接;按驱动方式可分为手动、电动和气动三种,其中气动驱动又分为常开式、常闭式和往复式三种。 4.一般不宜用于温度高于60度及输送有机溶剂和强氧化介质的管路中,也不宜在较高压力的管路中使用气动隔膜阀.6 @1 j' B3 [1n( p6 y# ] : p/ p0 u" j; r! s' s% v. _ 1气动和电动指的是阀门的驱动方式。 这个是气动执行机构原理,简单的说就是压缩气体使活塞运动来驱动阀杆。4 电动的简单的这么说就是用马达代替手动操作。 隔膜阀是在1.3×10-5~2.5X106Pa的流体系统中用来开启或隔断气流的阀门。主要性能3 D. `. W3 j7 {% @1 f l" F

漏率:≤1.3×10-5Pa。L/S;/ w' ]9 c! K/ L1 G& x 材料:304、316L; 工作介质:气,水,油;/ j$ C/ f% h' H: \/ v5 M/ J" K工作温度:氟橡胶-30℃~+150℃; 原理和特点 原理:以压缩空气为动力带动传动螺杆,使阀芯上下运动,同时拉动膜片上下运动使其关闭和打开。特点:结构紧凑、简单、体积小,外形美观;开关有导向,运动平稳;关闭力矩小,寿命长,≥30万次;膜片压紧可自动调整,受压均匀,密封可靠;膜片装入阀芯采用推入式,更换方便;}! A. L) I0 g: k& m+ O" D; K 电动隔膜阀:1.本阀由阀体、阀盖、阀杆、阀瓣、隔膜、电动装置和其它驱动零件等组成。 2.阀门的启闭是由电动装置的连接轴驱动阀杆螺母,使阀杆作轴向运动时,带动阀瓣升降而达到的。* o3 }; z$ B* ?8 [/ X! U% g) f/ p 3.当电源发生故障而中断时,且阀门急需启闭的紧急状况下,首先应 2将“手—电动切换手柄”转换至刻有手动标记的位置上,然后可通过旋转手轮使闪门启闭。当顺时针方向旋转时,阀门即可关闭;反之则开启。 4.当需恢复电动操作时,必须将“切换手柄”转换至刻有电动标记的位置上,方可进行电动操作。/ C' G1 f/ s, I8 v( M 3

机械原理课程设计报告

3.5 平板印刷机气动式给纸机纸张的分离、递送系统一.设计题目 平板印刷机中的给纸机的任务是:自动、准确、平稳地将纸张从纸堆上逐张分离,并将它们送到定位装置进行定位,继而输入印刷装置进行印刷。目前,高速平版印刷机上都采用气动式给纸机,其主要组成是:传动系统、纸张分离机构、纸张输送机构、纸堆台升降机构、自动控制系统、气动系统等。 给纸机整机外形 给纸机的输纸过程 (1) 松纸吹嘴吹松纸堆上部10余张纸, 分纸吸嘴下落准备吸纸,同时,压脚开 始抬升离让,递纸吸嘴向前移动递送上 一张纸。 (2) 松纸吹嘴停止吹风,分纸吸嘴吸住 纸张并迅速抬升,压脚下摆准备压住纸 堆,递纸吸嘴将纸张递交接纸辊并开始 后移。

(3) 分纸吸嘴抬升到最高处,压脚吹嘴压住被分离纸张下面的纸堆并开始吹风,递纸吸嘴继续后移。 (4) 分纸吸嘴吸住纸张并降至略低于递纸吸嘴的交接纸张高度,压脚吹嘴继续吹风,递纸吸嘴继续后移并准备接纸。 (5) 递纸吸嘴吸住纸张,分纸吸嘴开始放纸,压脚吹嘴继续吹风。 (6) 递纸吸嘴向前递纸,前挡纸块后摆让纸,摆动压纸滚轮抬起,压脚吹嘴停止吹风。 (7) 递纸吸嘴将纸张前边缘递送过接纸辊一定距离,压纸滚轮下落压住纸张,压脚吹嘴停止吹风,前挡纸块复位齐纸,递纸吸嘴放纸。 (8) 纸张靠压纸滚轮与接纸辊的摩擦力,在接纸辊的驱动下输送到输纸台板并送到定位装置前规矩处定位。 二.个人题目:压脚的设计 任务:压住纸堆,以防第二张纸被第一张纸带走;进行吹风,使第一张纸与纸堆之间形成一气垫;探测纸堆面高度,发出信号,使纸堆台自动上升。 工艺动作:按照一定的运动轨迹做往复运动,并吹风。 压脚的运动轨迹 1.设计思路

机械原理课程设计-牛头刨床(完整图纸)

机械原理课程设计说明书 系部名称: 机电系 专业班级: 04机制三班 姓名: 学号: 0405110057 目录

. 概述 (3) 设计项目...............................1.设计题目 (4) 2.机构简介 (4) 3.设计数据 (4) 设计内容...............................1.导杆机构的设计 (5) 2.凸轮机构的设计 (12) 3.齿轮机构的设计 (17) 设计体会 (20) 参考文献 (21) 附图····························· 概述

. 一、机构机械原理课程设计的目的: 机械原理课程设计是高等工业学校机械类专业学生第一次较全面的 机械运动学和动力学分析与设计的训练,是本课程的一个重要实践环节。其基本目的在于: (1)进一步加深学生所学的理论知识,培养学生独立解决有关本课程实际问题的能力。 (2)使学生对于机械运动学和动力学的分析设计有一较完整的概念。 (3)使学生得到拟定运动方案的训练,并具有初步设计选型与组合以及确定传动方案的能力。 (4)通过课程设计,进一步提高学生运算、绘图、表达、运用计算机和查阅技术资料的能力。 二、机械原理课程设计的任务: 机械原理课程设计的任务是对机械的主体机构(连杆机构、凸轮机构、齿轮机构以及其他机构)进行设计和运动分析、动态静力分析,并根据给定机器的工作要求,在此基础上设计凸轮、齿轮;或对各机构进行运动分析。要求学生根据设计任务,绘制必要的图纸,编写说明书。 三、械原理课程设计的方法: 机械原理课程设计的方法大致可分为图解法和解析法两种。图解法几何概念较清晰、直观;解析法精度较高。根据教学大纲的要求,本设计主要应用图解法进行设计。 [设计名称]牛头刨床 一.机构简介: 机构简图如下所示:

气动控制阀结构与原理

1.方向控制阀及换向回路 方向控制阀按气流在阀内的作用方向,可分为单向型控制阀和换向型控制阀。 (1)单向型控制阀。 1)单向阀。气动单向阀的工作原理与作用与液压单向阀相同。 在气动系统中,为防止储气罐中的压缩空气倒流回空气压缩机,在空气压缩机和储气罐之间就装有单向阀。单向阀还可与其他的阀组合成单向节流阀、单向顺序阀等。 2)梭阀(或门阀)。梭阀是两个单向阀反向串联的组合阀。由于阀芯像织布梭子一样来回运动,因而称之为梭阀。 图3一25(a)为或门型梭阀的结构图。其工作原理是当P1进气时,将阀芯推向右边,P2被关闭,于是气流从P1进人A腔,如图3-25(b)所示;反之,从P2进气时,将阀芯推向左边,于是气流从几进人P2腔,如图3-25(c)所示;当P1,P2同时进气时,哪端压力高,A就与哪端相通,另一端就自动关闭。可见该阀两输人口中只要有一个输人,输出口就有输出,输人和输出呈现逻辑“或”的关系。 或门型梭阀在逻辑回路中和程序控制回路中被广泛采用,图3-26是梭阀在手动一自动回路中的应用。通过梭阀的作用,使得电磁阀和手动阀均可单独操纵汽缸的动作。 气动调节阀:https://www.sodocs.net/doc/1210256704.html,/ 3)双压阀(与门阀)图3-27是双压阀的工作原理图。当P1进气时,将阀芯推向右端,A 无输出,如图3-27(a)所示;当P2进气时,将阀芯推向左端,A无输出,如图3一27(b)所示;只有当P1,P2同时进气时,A才有输出,如图3-27(c)所示;当P1和P2气体压力不等时,则气压低的通过A输出。由此可见,该阀只有两输人口中同时进气时A才有输出,输人和输出呈现逻辑“与”的关系。 自力式压力调节阀:https://www.sodocs.net/doc/1210256704.html,/

机械原理课程设计说明书牛头刨床

机械原理课程设计说明书 系部名称: 机电工程学院 专业班级: 机自093 姓名: 学号:

目录 概述 (3) 设计项目...............................1.设计题目 (4) 2.机构简介 (4) 3.设计数据 (4) 设计内容...............................1.导杆机构的设计 (5) 2.凸轮机构的设计 (12) 3.齿轮机构的设计 (17) 设计体会 (20) 参考文献 (21) 附图·····························

概述 一、机构机械原理课程设计的目的: 机械原理课程设计是高等工业学校机械类专业学生第一次较全面的 机械运动学和动力学分析与设计的训练,是本课程的一个重要实践环节。其基本目的在于: (1)进一步加深学生所学的理论知识,培养学生独立解决有关本课程实际问题的能力。 (2)使学生对于机械运动学和动力学的分析设计有一较完整的概念。 (3)使学生得到拟定运动方案的训练,并具有初步设计选型与组合以及确定传动方案的能力。 (4)通过课程设计,进一步提高学生运算、绘图、表达、运用计算机和查阅技术资料的能力。 二、机械原理课程设计的任务: 机械原理课程设计的任务是对机械的主体机构(连杆机构、凸轮机构、齿轮机构以及其他机构)进行设计和运动分析、动态静力分析,并根据给定机器的工作要求,在此基础上设计凸轮、齿轮;或对各机构进行运动分析。要求学生根据设计任务,绘制必要的图纸,编写说明书。 三、械原理课程设计的方法: 机械原理课程设计的方法大致可分为图解法和解析法两种。图解法几何概念较清晰、直观;解析法精度较高。根据教学大纲的要求,本设计主要应用图解法进行设计。

通信原理教程(第二版)徐家恺 第三部分

3-1、设一恒参信道的幅频特性和相频特性分别为0)(K w H =,d wt w ?=)(?,其中,K 都是常数。试确定信号通过该信道后输出信号的时域表示式,并讨论之。 d t ,0)(t s 解: d jwt e K w H ?=0)()()()()()()(00d o jw O t t s K t s w S e K w S w H w S d t ?=?==? 确定信号通过该信道后,没有失真,只是信号发生了延时。 )(t s 3-2、设某恒参信道的幅频特性为,其中,t 都是常数。试确定 信号s 通过该信道后输出信号的时域表示式,并讨论之。 d jwt e T w H ?+=]cos 1[)(0d )(t 解: d jwt e T w H ?+=]cos 1[)()(]2 121[)(]cos 1[)()()()()(000w S e e e w S e T w S w H w S T t jw t T jw jwt jw O d d d d t ??+???++=+== )(2 1)(21)(00T t t s T t t s t t s d d d +?+??+?? 信号经过三条延时不同的路径传播,同时会产生频率选择性衰落。见教材第50页。 3-3、设某恒参信道可用下图所示的线形二端对网络来等效。试求它的传递函数,并说明信 号通过该信道时会产生哪些失真? 解:jwRc jwRc jwc R R w H +=+=11 )( )()(1)(w j e w H jwRc jwRc w H ?=+= 其中 =)(w H 1)(11 2+wRc )(2)(wRc arctg w ?=π? 则群迟延2) (1)()(wRc Rc dw w d w +==?τ 可见,信号通过该信道时会频率失真和群迟延畸变。

气动保位阀的工作原理

气动保位阀得工作原理? 当压缩气源发生故障停止供气时,利用气动保位阀切断阀门控制通道,使阀门位置保持断气前得位置。以保证工艺过程得正常进行,直到系统中事故消除重新供气后气动保位阀才打开通道,恢复正常时得控制。气动保位阀动作压力就是可调节得,通常调节在0、1MPa左右。 1、气动调节阀动作分气开型与气关型?气动调节阀动作分气开型与气关型两种。气开型(Air to Open) 就是当膜头上空气压力增加时,阀门向增加开度方向动作,当达到输入气压上限时,阀门处于全开状态。反过来,当空气压力减小时,阀门向关闭方向动作,在没有输入空气时,阀门全闭。故有时气开型阀门又称故障关闭型(Fail to Close FC)。气关型(Air to Close)动作方向正好与气开型相反。当空气压力增加时,阀门向关闭方向动作;空气压力减小或没有时,阀门向开启方向或全开为止。故有时又称为故障开启型(Fail to Open F O)。气动调节阀得气开或气关,通常就是通过执行机构得正反作用与阀态结构得不同组装方式实现。 气开气关得选择就是根据工艺生产得安全角度出发来考虑。当气源切断时,调节阀就是处于关闭位置安全还就是开启位置安全?举例来说,一个加热炉得燃烧控制,调节阀安装在燃料气管道上,根据炉膛得温度或被加热物料在加热炉出口得温度来控制燃料得供应。这时,宜选用气开阀更安全些,因为一旦气源停止供给,阀门处于关闭比阀门处于全开更合适。如果气源中断,燃料阀全开,会使加热过量发生危险。又如一个用冷却水冷却得得换热设备,热物料在换热器内与冷却水进行热交换被冷却,调节阀安装在冷却水管上,用换热后得物料温度来控制冷却水量,在气源中断时,调节阀应处于开启位置更安全些,宜选用气关式(即FO)调节阀。 气开式改变为气关式或气关式改变为气开式,如调节阀安装有智能式阀门定位器,在现场可以很容易进行互相切换。 但也有一些场合,故障时不希望阀门处于全开或全关位置,操作不允许,而就是希望故障时保持在断气前得原有位置处。这时,可采取一些其它措施,如采用保位阀或设置事故专用空气储缸等设施来确保。? 2、阀门定位器? 阀门定位器就是调节阀得主要附件,与气动调节阀大大配套使用,它接受调节器

通信原理教程+樊昌信+习题答案第四章

第四章习题 习题4.1 试证明式()()∑∞ -∞ =Ω-=?n nf f T f s 1δ。 证明:因为周期性单位冲激脉冲信号()()T s n t t nT δδ∞ =-∞ = -∑,周期为s T ,其傅里叶 变换 ()2() n s n F t n ωπδω∞ Ω=-∞ ?=-∑ 而 2 2 1 1()s s s T jn t n T s S F t dt T T ωδ--= = ? 所以 2()()s n s n T π ωδωω∞ Ω=-∞ ?= -∑ 即 1 ()() s n s f n f T δ ω∞ Ω=-∞ ?= -∑ 习题4.2 若语音信号的带宽在300~400Hz 之间,试按照奈奎斯特准则计算理论上信号不失真的最小抽样频率。 解:由题意,H f =3400Hz ,L f =300Hz ,故语音信号的带宽为 B =3400-300=3100Hz H f =3400Hz =13100?+3 31?3100=kB nB + 即n =1,k =3。 根据带通信号的抽样定理,理论上信号不失真的最小抽样频率为 s f =)1(2n k B +=2?3100?(1+331 )=6800Hz 习题4.3 若信号()sin(314)314s t t t =。试问: (1) 最小抽样频率为多少才能保证其无失真地恢复? (2) 在用最小抽样频率对其抽样时,为保存3min 的抽样,需要保 存多少个抽样值? 解:()sin(314)s t t t =,其对应的傅里叶变换为 ()S ω=???≤其他 ,0314 ,314ωπ 信号()s t 和对应的频谱()S ω如图4-1所示。所以Hz 5023142H H ===ππωf 根据低通信号的抽样定理,最小频率为Hz 1005022H s =?==f f ,即每秒采100个抽样点,所以3min 共有:100?3?60=18000个抽样值。

气动阀组成及工作原理

气动阀组成及工作原理 内容提要 气动控制阀是指在气动系统中控制气流的压力、流量和流动方向,并保证气动执行元件或机构正常工作的各类气动元件。控制和调节压缩空气压力的元件称为压力控制阀。 一、气动阀门系统各部分功能和用途 ①气动执行器:分为双动型和单动型。双动气动执行器:对阀门 开启和关闭的两位式控制。单动气动执行器(弹簧复位型):在气路切断或故障,阀门自动开启或关闭。 ②阀门:阀门是流体输送系统中的控制部件。 ③电磁阀:分为单电控电磁阀和双电控电磁阀。单电控电磁阀: 供电时阀门打开或关闭,断电时阀门关闭或打开。双电控电磁阀:一个线圈得电时阀门打开,另一个线圈得电时阀门关闭。 ④限位开关:远距离传送阀门的开关位置的信号。有机械式、接 近式、感应式。 ⑤气电定位器:根据电流信号 (标准4-20mA)的大小对阀门的介 质流量调节控制。 ⑥气源处理三联件:包括空气减压阀、过滤器、油雾器,对气源 稳压、清洁、运动部件润滑作用。 ⑦手动操作机构:在自动控制不正常情况下手动操作。 ⑧消声器:安装在电磁阀的排气口,降低噪声。

⑨快插接头:一端连接于电磁阀或执行器,另一端将气管直接插 入即可使用。 ⑩空压机:是压缩空气的气压发生装置。 11 气管:有软管、紫铜管、不锈钢。常用规格有6mm、8mm。 气动开关型阀门系统构成: ①气动执行器+②阀门+③电磁阀+④限位开关+⑥气源处理三联件+⑦手动操作机构+⑧消声器+⑨快插接头+⑩空气压缩机+11气管 (其中④、⑥、⑦、⑧、⑨项可根据现场实际情况选配。) 气动调节型阀门系统构成: ①气动执行器+②阀门+⑤气电定位器+⑥气源处理三联件+⑦手动操作机构+⑧消声器+⑨快插接头+⑩空气压缩机+11气管 (其中⑦、⑧、⑨项可根据现场实际情况选配。) 二、气动开关阀 气动开关阀就是以压缩空气(空压机)为动力源,通过电磁阀换向去驱动气动执行器,气动执行器带动阀门,实现阀门的开关。下为单动气动开关型蝶阀实图。

机械原理课程设计完整版

《机械原理课程设计》 学院: 行知学院专业: 机械设计制造及其自动 化 姓名:陈宇学号: 10556109 授课教师:王笑提交时间: 2012 年 7 月1日 成绩:

目录 1.设计工作原理-----------------------------------------------------2 2.方案的分析--------------------------------------------------------4 3. 机构的参数设计几计算-----------------------------------------7 4. 机构运动总体方案图及循环图-------------------------------11 5.机构总体分析----------------------------------------------------13 6. 参考资料----------------------------------------------------------13

半自动钻床机构 一、设计工作原理 1.1、工作原理及工艺动作过程 该系统由电机驱动,通过变速传动将电机的1080r/min降到主轴的5r/min,与传动轴相连的各机构控制送料,定位,和进刀等工艺动作,最后由凸轮机通过齿轮传动带动齿条上下平稳地运动,这样动力头也就能带动刀具平稳地上下移动从而保证了较高的加工质量。 设计加工图(一)所示工件ф12mm孔的半自动钻床。进刀机构负责动力头的升降,送料机构将被加工工件推入加工位置,并由定位机构使被加工工件可靠固定。 1.2、设计原始数据及设计要求 半自动钻床设计数据参看表(一) 表(一)半自动钻床凸轮设计数据

通信原理教程+樊昌信+习题答案第二章

第二章习题 习题2.1 设随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 式中,θ是一个离散随机变量,它具有如下概率分布:P (θ=0)=0.5,P (θ=π/2)=0.5 试求E [X (t )]和X R (0,1)。 解:E [X (t )]=P (θ=0)2cos(2)t π+P (θ=/2)2cos(2)=cos(2)sin 22 t t t π πππ+ - cos t ω 习题2.2 设一个随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 判断它是功率信号还是能量信号?并求出其功率谱密度或能量谱密度。 解:为功率信号。 []/2/2 /2/2 1()lim ()()1 lim 2cos(2)*2cos 2()T X T T T T T R X t X t dt T t t dt T ττπθπτθ→∞-→∞ -=+=+++? ? 222cos(2)j t j t e e πππτ-==+ 2222()()()(1)(1) j f j t j t j f X P f R e d e e e d f f πτπππττττδδ∞-∞---∞-∞==+=-++?? 习题2.3 设有一信号可表示为: 4exp() ,t 0 (){ 0, t<0 t X t -≥= 试问它是功率信号还是能量信号?并求出其功率谱密度或能量谱密度。 解:它是能量信号。X (t )的傅立叶变换为: (1)004 ()()441j t t j t j t X x t e dt e e dt e dt j ωωωωω +∞-+∞--+∞-+-∞====+??? 则能量谱密度 G(f)=2 ()X f =2 22 416 114j f ωπ=++ 习题2.4 X (t )=12cos2sin 2x t x t ππ-,它是一个随机过程,其中1x 和2x 是相互统计独立的高斯随机变量,数学期望均为0,方差均为2σ。试求: (1)E [X (t )],E [2()X t ];(2)X (t ) 的概率分布密度;(3)12(,)X R t t 解:(1)()[][]()[]02sin 2cos 2sin 2cos 2121=?-?=-=x E t x E t t x t x E t X E ππππ ()X P f 因为21x x 和相互独立,所以[][][]2121x E x E x x E ?=。

通信原理教程 樊昌信 习题答案第三章

第三章习题 习题3.1 设一个载波的表达式为()5cos1000c t t π=,基带调制信号的表达式为:m(t)=1+cos 200t π。试求出振幅调制时已调信号的频谱,并画出此频谱图。 解: ()()()()()t t t c t m t s ππ1000cos 5200cos 1+== () t t t t t t ππππππ800c o s 1200c o s 2 5 1000c o s 51000c o s 200c o s 51000c o s 5++=+= 由傅里叶变换得 ()()()[]()()[]()()[]4004004 5 6006004550050025 -+++-+++-++= f f f f f f f S δδδδδδ 已调信号的频谱如图3-1所示。 图3-1 习题3.1图 习题3.2 在上题中,已调信号的载波分量和各边带分量的振幅分别等于多少? 解:由上题知,已调信号的载波分量的振幅为5/2,上、下边带的振幅均为5/4。 习题3.3 设一个频率调制信号的载频等于10kHZ ,基带调制信号是频率为2 kHZ 的单一正弦波,调制频移等于5kHZ 。试求其调制指数和已调信号带宽。 解:由题意,已知m f =2kHZ ,f ?=5kHZ ,则调制指数为 5 2.52 f m f m f ?= == 已调信号带宽为 2()2(52)14 k m B f f =?+=+= 习题3.4 试证明:若用一基带余弦波去调幅,则调幅信号的两个边带的功率之和最大等于载波频率的一半。 证明:设基带调制信号为'()m t ,载波为c (t )=A 0cos t ω,则经调幅后,有 ' 0()1()cos AM s t m t A t ω??=+?? 已调信号的频率 2 2'22 0()1()cos AM AM P s t m t A t ω??==+??

气动保位阀的工作原理

气动保位阀的工作原理? 当压缩气源发生故障停止供气时,利用气动保位阀切断阀门控制通道,使阀门位置保持断气前的位置。以保证工艺过程的正常进行,直到系统中事故消除重新供气后气动保位阀才打开通道,恢复正常时的控制。气动保位阀动作压力是可调节的,通常调节在0.1MPa左右。 1.气动调节阀动作分气开型和气关型 气动调节阀动作分气开型和气关型两种。气开型(Air to Open)是当膜头上空气压力增加时,阀门向增加开度方向动作,当达到输入气压上限时,阀门处于全开状态。反过来,当空气压力减小时,阀门向关闭方向动作,在没有输入空气时,阀门全闭。故有时气开型阀门又称故障关闭型(Fail to Close FC)。气关型(Air to Close)动作方向正好与气开型相反。当空气压力增加时,阀门向关闭方向动作;空气压力减小或没有时,阀门向开启方向或全开为止。故有时又称为故障开启型(Fail to Open FO)。气动调节阀的气开或气关,通常是通过执行机构的正反作用和阀态结构的不同组装方式实现。 气开气关的选择是根据工艺生产的安全角度出发来考虑。当气源切断时,调节阀是处于关闭位置安全还是开启位置安全?举例来说,一个加热炉的燃烧控制,调节阀安装在燃料气管道上,根据炉膛的温度或被加热物料在加热炉出口的温度来控制燃料的供应。这时,宜选用气开阀更安全些,因为一旦气源停止供给,阀门处于关闭比阀门处于全开更合适。如果气源中断,燃料阀全开,会使加热过量发生危险。又如一个用冷却水冷却的的换热设备,热物料在换热器内与冷却水进行热交换被冷却,调节阀安装在冷却水管上,用换热后的物料温度来控制冷却水量,在气源中断时,调节阀应处于开启位置更安全些,宜选用气关式(即FO)调节阀。 气开式改变为气关式或气关式改变为气开式,如调节阀安装有智能式阀门定位器,在现场可以很容易进行互相切换。 但也有一些场合,故障时不希望阀门处于全开或全关位置,操作不允许,而是希望故障时保持在断气前的原有位置处。这时,可采取一些其它措施,如采用保位阀或设置事故专用空气储缸等设施来确保。 2.阀门定位器

(完整版)机械原理课程设计牛头刨床(完整图纸)

机械原理课程 设计说明书 系部名称: 机电系 专业班级: 04机制三班 姓名: 学号: 目录Array概述 (3) 设计项目······························· 1.设计题目 (4) 2.机构简介 (4) 3.设计数据 (4) 设计内容······························· 1.导杆机构的设计 (5) 2.凸轮机构的设计 (12) 3.齿轮机构的设计 (17) 设计体会 (20) 参考文献 (21) 附图·····························

概述 一、机构机械原理课程设计的目的: 机械原理课程设计是高等工业学校机械类专业学生第一次较全面的机械运动学和动力学分析与设计的训练,是本课程的一个重要实践环节。其基本目的在于: (1)进一步加深学生所学的理论知识,培养学生独立解决有关本课程实际问题的能力。 (2)使学生对于机械运动学和动力学的分析设计有一较完整的概念。 (3)使学生得到拟定运动方案的训练,并具有初步设计选型与组合以及确定传动方案的能力。 (4)通过课程设计,进一步提高学生运算、绘图、表达、运用计算机和查阅技术资料的能力。 二、机械原理课程设计的任务: 机械原理课程设计的任务是对机械的主体机构(连杆机构、凸轮机构、齿轮机构以及其他机构)进行设计和运动分析、动态静力分析,并根据给定机器的工作要求,在此基础上设计凸轮、齿轮;或对各机构进行运动分析。要求学生根据设计任务,绘制必要的图纸,编写说明书。 三、械原理课程设计的方法: 机械原理课程设计的方法大致可分为图解法和解析法两种。图解法几何概念较清晰、直观;解析法精度较高。根据教学大纲的要求,本设计主要应用图解法进行设计。 [设计名称]牛头刨床 一.机构简介: 机构简图如下所示:

机械原理课程设计(解析法)

机 械 原 理 课 程 设 计 设计题目:牛头刨床分析学校:太原工业学院设计者: 班级0920122 姓名赵元 指导老师:刘嘉

一运动简图 二设计方案 一、用解析法作导杆机构的运动分析 如图所示,先建立一直角坐标系,并标出各杆矢量及其方位角。其中共有四个未

知量3θ、4θ、3S 、E S 。为求解需建立两个封闭的矢量方程,为此需利用两个封闭的图形O3AO2O3及O3BFDO3,由此可得: → →→ → → → → +=+=+E S L L '6 4L3S3 L1L6 并写成投影方程为: ’ 6 4433E 44331 16331133L sin L sin L 0S cos L cos L sin sin cos cos =+=-++==θθθθθθθθL L S L S 由上述各式可解得: O3

4 433E 3 1 134 3 364111 163cos L cos L S cos cos L S L sin L L arcsin cos L sin L L arctan θθθθθθθθθ?+?=?= ?-=??+=? 由以上各式即可求得3θ、4θ、3S 、E S 四个运动变量,而滑块的方位角2θ=3θ。 然后,分别将上式对时间取一次、二次导数,并写成矩阵形式,及得一下速度和加速度方程式。 ??? ?????????//-=?????? ?????????????????? ??-?00 cos sin S 0cos L cos L 0 1sin L -sin L -000cos S sin 00sin S -cos 1 11114 334 43 3443333333θθθθθθθθθθL L w v w w E =?????? ? ????????????????? ??-? ?E αααθθθθθθθθ433 4 43 34433333333 S 0cos L cos L 0 1sin L -sin L -000cos S sin 00sin S -cos ????????????//-+?? ? ?? ? ?? ????? ? ---? ? 00sin cos 0sin w L -s w L -00c w L -cos w L -000sin w S -cos cos 0 0cos w S sin S -sin 11111114 443 334443333 3333333 333333 θθθθθθθθθ θθθw L w L w in os S w w 而2w =3w 、2α=3α

(完整版)通信原理教程习题答案第四版

R B 1 亍 100Bd 10 等概时的平均信息速率为 R b (2)平均信息量 为 1 H log 24 R B log 2 M R B log 2 4 200 b s 沁 4 討罟 誣詈 1.977 比特符号 R , R B H 100 1.977 197.7 b s 习题1.4试冋上题中的码兀速率是多少? 1 1 解:R B 3 200 Bd T B 5*10 3 习题1.5设一个信息源由64个不同的符号组成,其中16个符号的出现概率均 为1/32,其余48个符号出现的概率为1/96,若此信息源每秒发出1000个独立的符号, 试求该信息源的平均信息速率。 解:该信息源的熵为 第一章习题 习题1.1在英文字母中E 出现的概率最大,等于0.105,试求其信息量 log 2 P E log 2 0.105 3.25 b 习题1.3某信息源由A ,B ,C ,D 四个符号组成,这些符号分别用二进制码组 00, 01,10,11表示。若每个二进制码元用宽度为 5ms 的脉冲传输,试分别求出在 下列条件下的平均信息速率。 (1)这四个符号等概率出现; (2)这四个符号出现概率如习题 1.2所示。 解:(1)一个字母对应两个二进制脉冲,属于四进制符号,故一个字母的持续时 间为2>5mso 传送字母的符号速率为 E 的信息量:I E 习题1.2某信息源由 现的概率分别为1/4,1/4, 解: A , B , C , D 四个符号组成,设每个符号独立出现,其出 3/16, 5/16 试求该信息源中每个符号的信息量。 I A lOg 2 - P(A) 3 log 2 2.415b 16 lOg 2 P(A) log 21 2b 3 5 lOg 2 136 2.415b I D log 2 1s 1.678b

气动调节阀的结构和工作原理

气动调节阀的结构和工作原理

气动调节阀常见于钢铁行业,尤其广泛应用于加热炉、卷取炉等燃烧控制系统。本文根据气动调节阀的结构和工作原理对在气动调节阀在日 常使用的常规维护和常见故障进行了分析研究,为设备维护和故障维修提供了参考。 本文以美国博雷(BARY)厂家生产的 S92/93系列的气动执行机构为例,结合现场实际使用情况,进行了分析和总结。阀门公称直径DN250,介质为混合煤气,气源为仪表压空,压力为3-5Bar,电磁阀为24V。 1、气动调节阀的结构和工作原理 1.1、气动调节阀的结构 气动调节阀由执行机构和阀体两部分组成。 1.2、气动调节阀的工作原理 气动调节阀的工作原理:气动调节阀由执行机构和调节机构组成。执行机构是调节阀的推力

部件,当调节器或定位器得到4-20mA信号时,控制电磁阀24V信号到,打开,使得仪表压空进入执行机构汽缸,转动阀杆使阀体动作,当到达需要指定开度时,位置反馈使得定位器停止信号输出,维持当前位置。当需要关闭阀门时,定位器得到关闭信号,使电磁阀停止供气,汽缸靠内部弹簧反作用力,使阀门关闭。当需要从满度减少开度时,定位器输出气源压力会减弱,弹簧自身反作用力致使阀门向关闭方向动作,直至信号压力与弹簧压力平衡,到达指定开度,以此来控制该介质流量。 2、气动调节阀的日常维护 在对气动调节阀日常点巡检中,要注意以下几点:一是检查仪表气源是否正常,检查过滤器、减压阀是否正常,观察压力是否在3-5Bar;二是观察汽缸有无漏气现象,尤其是阀杆连接处和两端盖处;三是检查电磁阀是否工作正常,有无漏气现象;四是检查定位器工作是否正常,有无漏气现象;五是检查所有连接部件固定螺丝是否紧牢;六是尽量避免过多浮灰覆盖到执行机构上,要市场保持工作环境清洁。 3、气动调节阀常见故障原因分析

通信原理教程[第三版]樊昌信部分课后习题答案解析

第一章: 信息量、平均信息速率、码元速率、信息速率 第二章: 习题2.1 设随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 式中,θ是一个离散随机变量,它具有如下概率分布:P (θ=0)=0.5, P (θ=π/2)=0.5 试求E [X (t )]和X R (0,1)。 解:E [X (t )]=P ( θ=0)2 cos(2) t π+P (θ= /2) 2cos(2)=cos(2)sin 22 t t t π πππ+ - cos t ω 习题2.2 设一个随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 判断它是功率信号还是能量信号?并求出其功率谱密度或能量谱密度。 解:为功率信号。 []/2 /2/2 /21()lim ()()1lim 2cos(2)*2cos 2()T X T T T T T R X t X t dt T t t dt T ττπθπτθ→∞-→∞ -=+=+++? ? 222cos(2)j t j t e e πππτ-==+ 2222()()()(1)(1) j f j t j t j f X P f R e d e e e d f f πτπππττττδδ∞-∞---∞-∞==+=-++??

习题2.6 试求X (t )=A cos t ω的自相关函数,并根据其自相关函数求出其功率。 解:R (t ,t+τ)=E [X (t )X (t+τ)] =[]cos *cos()E A t A t ωωτ+ []221cos cos (2)cos ()22 A A E t R ωτωτωττ=++== 功率P =R(0)=2 2 A 习题2.10 已知噪声()t n 的自相关函数()ττk -e 2 k R n =,k 为常数。 (1)试求其功率谱密度函数()f P n 和功率P ;(2)画出()τn R 和()f P n 的曲线。 解:(1)222()()2(2) k j j n n k k P f R e d e e d k f τωτ ωττττπ-+∞ -+∞--∞ -∞ ===+?? ()20k R P n == (2)()n R τ和()f P n 的曲线如图2-2所示。 图2-2

通信原理教程+樊昌信+习题答案第二章

第二章习题 习题 设随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 式中,θ是一个离散随机变量,它具有如下概率分布:P (θ=0)=,P (θ=π/2)= 试求E [X (t )]和X R (0,1)。 解:E [X (t )]=P (θ=0)2cos(2)t π+P (θ=/2)2cos(2)=cos(2)sin 22 t t t π πππ+ - cos t ω 习题 设一个随机过程X (t )可以表示成: ()2cos(2), X t t t πθ=+-∞<<∞ 判断它是功率信号还是能量信号并求出其功率谱密度或能量谱密度。 解:为功率信号。 []/2 /2/2 /21()lim ()()1lim 2cos(2)*2cos 2()T X T T T T T R X t X t dt T t t dt T ττπθπτθ→∞ -→∞-=+=+++? ? 222cos(2)j t j t e e πππτ-==+ 2222()()()(1)(1) j f j t j t j f X P f R e d e e e d f f πτπππττττδδ∞-∞---∞-∞==+=-++?? 习题 设有一信号可表示为: 4exp() ,t 0 (){0, t<0 t X t -≥= 试问它是功率信号还是能量信号并求出其功率谱密度或能量谱密度。 解:它是能量信号。X (t )的傅立叶变换为: (1)004 ()()441j t t j t j t X x t e dt e e dt e dt j ωωωωω +∞-+∞--+∞-+-∞====+??? 则能量谱密度 G(f)=2 ()X f =2 22 416114j f ωπ=++ 习题 X (t )=12cos 2sin 2x t x t ππ-,它是一个随机过程,其中1x 和2x 是相互统计独立的高斯随机变量,数学期望均为0,方差均为2σ。试求: (1)E [X (t )],E [2()X t ];(2)X (t ) 的概率分布密度;(3)12(,)X R t t 解:(1)()[][]()[]02sin 2cos 2sin 2cos 2121=?-?=-=x E t x E t t x t x E t X E ππππ ()X P f 因为21x x 和相互独立,所以[][][]2121x E x E x x E ?=。

气动阀门执行器的控制方式及工作原理

气动阀门执行器的控制方式及工作原理 气动执行器结构 在实际工业生常和工业控制中,用来控制气动执行机构的方法也很多,常用的有以下几种。 (一)基于单片机开发的智能显示仪控制 智能显示仪是用来监测阀门工作状态,并控制阀门执行期工作的仪器,它通过两路位置传感器监视阀门的工作状态,判断阀门是处于开阀还是关阀状态,通过编程记录阀门开关的数字,并且有两路与阀门开度对应的4~20mA输出及两足常开常闭输出触点。通过这些输出信号,控制阀门的开关动作。根据系统的要求,可将智能阀门显示仪从硬件上分为3部分来设计:模拟部分、数字部分、按键/显示部分。 1、模拟电路部分主要包括电源、模拟量输入电路、模拟量输出电路三部分。 电源部分供给整个电路能量,包括模拟电路、数字电路和显示的能源供应。为了实现阀门开读的远程控制,需要将阀门的开度信息传送给其他的控制仪表,同时控制仪表能从远方制定阀门为某一开度,系统需要1路4~20mA的模拟量输入信号和1~2路4~20mA的模拟量输出信号。模拟量输入信号通过A/D转换变成与阀门开度相对应的数字信号后送给数字部分的单片机,在单片机中对它进行滤波处理后就可以输出了。阀门的开度信息通过D/A转换后变成模拟信号输出,用来接显示仪显示阀门开度或连接其他的控制设备。在本设计系统中,所有的数字量数据均采用串行的输入输出方式,为了节省芯片资源和空间,输入的4~20mA 的模拟量在转化为数字量时,采用已有的4路DA芯片与单片机的系统资源相结合作8位的AD使用。

2、数字电路部分主要包括:单片机、掉电保护、两路监测脉冲输入信号、两路常开常闭转换触点输出。 在设计方案中选用目前普遍使用的51系列单片机AT89C4051。AT89C4051是一款低电压、高性能的CMOS8位微控制器,它具有4K字节的可擦除、可重复编程的只读闪存。通过在单芯片内复合一个多功能的8位CPU闪存,在性能、指令设定和引脚上与80C51和80C52完全兼容。 考虑到在系统掉电或重新启动时,需要保持先前在仪表中设置的一些阀门参数,而单片机中的数据存储器不具备掉电存储功能,所以在片外扩展了一个具有掉电保存功能的芯片X5045。X5045是一种集看门狗、电源监控和串行EEPROM3种功能于一身的可编程电路,这种组合设计可以减少电路对电路板空间的需求,X5045中的看门狗为系统提供了保护,当系统发送故障而超过设定时间时,电路中的看门狗将通过RESET信号向CPU作反应。X5045提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU可通过串行通信方式接口。共4069位,可以按512×8个字节来放置数据。 X5045的管脚排列,它共有8个引脚,各个引脚的功能如下: CS:电路选择端,低电平有效; SO:串行数据输出端; SI:串行数据输入端; SCK:串行时钟输出端; WP:写保护输入端,低电平有效; RESET:复位输出端; Vcc:电源端; Vss:接地端。 INA为输入信号,是由光电传感器采集到的阀门脉冲信号(<10mA)。该信号经旁路电容滤波后送入光耦,转换成了输出的OUT电压信号送入单片机。输出的电压可直接进入单片机的I/O口。在控制中,要求A、B两路脉冲都接收到的时候,才认为是由信号输入,AB为正转,BA为反转。只有一路信号输入时不计数。 两路常开、常闭转换触点输出。用来连接电磁阀,通过控制电磁阀的吸合来控制气动执行机构作相应的开阀或关阀动作。 3、显示部分主要包括:单片机、4位LED显示、3只状态指示灯(自动、正转、反转)、3

相关主题