solrcoloud

这里写图片描述#solrcloud 与多实例部署

1.参照之前的文章搭建出单个solr环境

  • 可以在windows下搭建一个独立的solr环境。直接将tomcat压缩通过ftp工具上传到linux环境中。修改webapps下solr的web.xml的solr_home配置,可以直接linux系统上完成solr启动。通过之前的文章搭建solr。会对solr有一个大概的印象,方便以后的环境维护。
  • 本文将配置好solr的tomcat拷贝到/opt/ase/下,重命名为aslortomcat 将原来tomcat根目录下的solr文件移动到/data/ase/目录下,并重命名为asolr。 即solr_home=/data/ase/asolrdata,目录在本人的系统中作为日志及数据存放目录,空间比较大。

2.zookeeper集群

Solrcloud环境部署,需要使用zookeeper做集群。所以我们先进行zookeeper的集群配置,以下操作都是在linux环境下的操作。下面做一个zookeeper伪集群搭建

  • 下载zookeeper-3.4.6.tar.gz。 解压到/opt/ase/zookeeper
  • 解压包,并且将解压出的zookeeper文件包重新命名为azookeeper。
  • 同级目录下创建出1zoo,在1zoo 下面创建出 data ,log 文件夹,在data文件夹下创建出文件myid,内容为1,内容的作用是一个zookeeper在集群中的标志。这边先不要管为什么,先将文件与文件夹创建出来,下面步骤就会了解为何这么创建目录及文件。
  • 拷贝azookeeper,同级目录下复制出bzookeeper,czookeeper, 拷贝1zoo,同级别目录下复制出2zoo,3zoo. 修改2zoo的myid内容为2,3zoo的myid内容为3。
  • 这样在zookeeper 文件目录下存在6个文件。分别为1zoo,2zoo,3zoo 与 azookeeper,bzookeeper,czookeeper
    分别修改azookeeper,bzookeeper,czookeeper 下的 /conf/zoo.cfg 文件
    内容如下: (注:172.172.177.47 是本机服务器的地址)

azookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/1zoo/data
    clientPort=2181
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/1zoo/log

bzookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/2zoo/data
    clientPort=2281
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/2zoo/log

czookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/3zoo/data
    clientPort=2381
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/3zoo/log
  • 上面的clientPort 是zookeeper 的端口号, dataDir是后面zookeeper统一管理文件的目录地址。里面的myid等于zookeeper在集群中的位置
  • 依次启动3个zookeeper,就可以完成zookeeper搭建
  • zookeeper启动命令: ./azookeeper/bin/zkServer.sh start
  • zookeeper停止命令 ./azookeeper/bin/zkServer.sh stop
  • zookeeper查看状态 ./azookeeper/bin/zkServer.sh status 可以看到一个leader,两个follower。
  • zookeeper 集群是推选机制,所以官方建议搭建是奇数个。个人理解是举手表决,偶数个容易出现相等的情况,导致此次推举主失败
  • zookeeper 日志文件非常有必要优化,参见【博客】(http://www.tuicool.com/articles/MbUb63n

3.SolrCloud配置与多实例配置

  • solrcloud配置是将solr服务器与zookeeper集群关联起来,让solr集群的信息由zookeeper来管理。实现solr服务器效率运作。配置步骤如下:
  • 1.修改asolrtomcat/bin/catalina.sh 在文件中加入如下jvm参数:
    export JAVA_OPTS=”$JAVA_OPTS -DnumShards=1 -DzkHost=172.172.177.47:2181,172.172.177.47:2281,172.172.177.47:2381 -Djetty.port=8081” 这边端口号保持和asolrtomcat端口保持一致。

  • 2.参数说明:
    jetty.port属性会最后被作为solr对外提供的对外服务接口,配置为和相应的tomcat实例一样的访问端口号即可。
    numShards:默认为1. 集群中shard的个数,shard才是真正分布式搜索的服务,否则该集群中启动多少台服务器,都是replica, replica只是在该shard挂掉后才起作用。
    -DzkHost:配置zookeeper集群地址

  • 3.修改solr_home中solr.xml.本人配置内容示例如下:这边本人配置了3个core,shard=”shard1” 表示都配置在第一个分片下。
    示例中本人只搭建了一个asolrtomcat,如果有bsolrtomcat…需要修改shard=”shard1” 同事修改tomcat的catalina.sh的分片个数

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <solr persistent="false">
        <cores adminPath="/admin/cores" hostPort="8180"   hostContext="${hostContext:solr}">
            <core default="true" instanceDir="product" name="product" shard="shard1"  collection="product" />
            <core default="true" instanceDir="ams" name="ams" shard="shard1"  collection="ams" />
            <core default="true" instanceDir="comment" name="comment" shard="shard1"  collection="comment" />
        </cores>
    </solr>
    
  • 4.现在问题出现了。我们修改了asolrtomcat的catalina.sh,使asolrtomcat关联上了zookeeper的集群,但是,我这边并没有想其他文章一样在catalina.sh中配置 -Dsolr.solr.home,-Dbootstrap_confdir,-Dcollection.configName.那么我们怎么样将solr_home中的配置文件交给zookeeper集群统一管理呢? solr提供了一个工具,可以将solr_home中的配置文件直接传给zookeeper。步骤如下:
  • 1)本人使用的是solr-4.10.3.zip,将该包上传至linux服务器,unzip solr-4.10.3.zip ==> cd /opt/ase/solr-4.10.3/example ==> java -jar start.jar ==> 打开新的操作窗口,cd /opt/ase/solr-4.10.3/example/scripts/cloud-scripts ==> 执行脚本 ./zkcli.sh -zkhost 172.172.177.47:2181,172.172.177.47:2281,172.172.177.47:2381 -cmd bootstrap -solrhome /data/ase/asolr
  • 2)看清楚上面的最后执行脚本,该脚本作用就是将本人solr_home上传至zookeeper集群。 根据实际情况修改脚本中的地址及路径。

4.总结及其他注意点

  • 至此我们的SolrCloud环境已经搭建好,而且实现了多个solr实例,根据实际情况,复制上面步骤可以方便的扩展solrtomcat容器。提高SolrCloud威力
  • 注意点就是,1.修改solrtomcat 的catalina.sh。 2.修改solr_homed的solr.xml文件,注意分片的个数以及solr_home所在的分片。
  • zookeeper如果不仅仅只修改zoo.cfg文件。也需要对zookeeper的日志做调整,不然会在zookeeper同级目录下生成zookeeper.out日志文件,并且无线写入,最终撑爆内存。
内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。
在科技快速演进的时代背景下,移动终端性能持续提升,用户对移动应用的功能需求日益增长。增强现实、虚拟现实、机器人导航、自动驾驶辅助、手势识别、物体检测与距离测量等前沿技术正成为研究与应用的热点。作为支撑这些技术的核心,双目视觉系统通过模仿人类双眼的成像机制,同步获取两路图像数据,并借助图像处理与立体匹配算法提取场景深度信息,进而生成点云并实现三维重建。这一技术体系对提高移动终端的智能化程度及优化人机交互体验具有关键作用。 双目视觉系统需对同步采集的两路视频流进行严格的时间同步与空间校正,确保图像在时空维度上精确对齐,这是后续深度计算与立体匹配的基础。立体匹配旨在建立两幅图像中对应特征点的关联,通常依赖复杂且高效的计算算法以满足实时处理的要求。点云生成则是将匹配后的特征点转换为三维空间坐标集合,以表征物体的立体结构;其质量直接取决于图像处理效率与匹配算法的精度。三维重建基于点云数据,运用计算机图形学方法构建物体或场景的三维模型,该技术在增强现实与虚拟现实等领域尤为重要,能够为用户创造高度沉浸的交互环境。 双目视觉技术已广泛应用于个领域:在增强现实与虚拟现实中,它可提升场景的真实感与沉浸感;在机器人导航与自动驾驶辅助系统中,能实时感知环境并完成距离测量,为路径规划与决策提供依据;在手势识别与物体检测方面,可精准捕捉用户动作与物体位置,推动人机交互设计与智能识别系统的发展。此外,结合深度计算与点云技术,双目系统在精确距离测量方面展现出显著潜力,能为样化的应用场景提供可靠数据支持。 综上所述,双目视觉技术在图像处理、深度计算、立体匹配、点云生成及三维重建等环节均扮演着不可或缺的角色。其应用跨越个科技前沿领域,不仅推动了移动设备智能化的发展,也为丰富交互体验提供了坚实的技术基础。随着相关算法的持续优化与硬件性能的不断提升,未来双目视觉技术有望在各类智能系统中实现更广泛、更深层次的应用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值