分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署(商城4)

这篇具有很好参考价值的文章主要介绍了分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署(商城4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

一、Elastic search分布式搜索引擎应用场景:

1、全文搜索
Elastic search可以用于实现全文搜索功能,例如商城中对商品搜索、关键字搜索、分类搜索、订单搜索、客户搜索等。它支持复杂的查询语句、中文分词、近似搜索等功能,可以快速地搜索并返回匹配的结果。
2、日志分析
Elastic search可以用于实现实时日志分析,例如监控系统、异常日志分析等。它可以快速地索引和搜索大量的日志数据,并支持聚合、可视化等功能,可以帮助用户快速定位和解决问题。
3、业务分析
Elastic search可以用于实现业务分析,例如企业数据分析、市场调研等。它可以对海量数据进行搜索、聚合和分析,支持多种数据格式和数据源,例如数据库、日志、网页等,可以帮助用户了解业务情况、市场趋势等。
4、搜索推荐
Elastic search可以用于实现搜索推荐功能,例如电商搜索推荐、新闻推荐等。它可以根据用户的搜索历史、行为等数据,进行个性化推荐,并支持实时更新和调整推荐结果。
5、地理信息系统
Elastic search可以用于实现地理信息系统,例如地图搜索、位置分析等。它支持地理坐标索引和查询,可以快速地搜索和聚合地理数据,并支持地图可视化等功能。

二、Elastic search分布式搜索引擎的优势

1、高效的搜索和聚合功能
Elastic search建立在Lucene搜索引擎基础之上,具有高效的搜索和聚合功能。它支持多种查询语句和聚合方式,并能够快速地搜索和处理海量数据。
2、实时数据处理
Elastic search支持实时数据处理,可以在数据写入时立即建立索引,并支持实时搜索和聚合。这使得它适用于需要实时获取数据的场景,例如日志分析、监控系统等。
3、可伸缩性
Elastic search是一个分布式搜索引擎,可以轻松地扩展集群规模,以支持更大的数据量和更高的查询负载。它支持水平扩展和分片技术,可以实现快速的数据处理和查询。
4、多种数据源和格式支持
Elastic search支持多种数据源和格式,例如数据库、日志、网页等,可以对这些数据进行快速的搜索和聚合。它还支持多种数据格式的索引和查询,例如文本、数字、日期、地理坐标等。
5、易用性和灵活性
Elastic search具有良好的易用性和灵活性,可以快速地部署和配置。它支持多种语言和平台,例如Java、Python、.NET等,可以与各种应用程序进行集成。同时,它也提供了丰富的API和插件,可以满足不同场景和需求的使用。
6、可扩展的生态系统
Elastic search拥有一个庞大而且活跃的社区,提供了丰富的插件和工具,可以扩展其功能和使用。例如,Kibana可以用于数据可视化和监控,Logstash可以用于数据收集和预处理,Beats可以用于数据采集等。
7、可靠的安全性
Elastic search提供了可靠的安全性控制,可以对数据进行访问控制和加密,以满足不同场景和需求的安全要求。它支持用户认证和授权,可以控制用户对数据的访问和操作。

三、分布式搜索引擎Elastic Search的特点:

Elastic Search的目标就是实现搜索。是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。在数据量少的时候,我们可以通过索引去搜索关系型数据库中的数据,但是如果数据量很大,搜索的效率就会很低,这个时候我们就需要一种分布式的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elastic search结合kibana、Logstash、Beats,也就是elastic stack(ELK),被广泛应用在日志数据分析、实时监控等领域。而elastic search是elastic stack的核心,负责存储、搜索、分析数据。
Elastic search是一个基于Lucene的搜索服务器。Elastic search底层是基于lucene来实现的。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目。
ES中的存储是这样的:
一个索引(indeces)相当于一个数据库(database),每个索引中有多个类型types(相当于表结构),每个索引中有多个documents(相当于行),每个documents由多个fields组成(相当于字段)。
你可以把ES理解为他是一个面向文档的数据库。下面用一张图描述ES和关系型数据库之间的相似之处:

在企业中,往往是Elasticsearch和mysql两者结合使用:
1、对安全性要求较高的写操作,使用mysql实现
2、对查询性能要求较高的搜索需求,使用elasticsearch实现
3、两者再基于某种方式,实现数据的同步,保证一致性
Elastic Search与MySQL的特征:
MySQL:擅长事务类型操作,可以确保数据的安全和一致性
Elastic Search:擅长海量数据的搜索、分析、计算
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

四、RabbitMQ的特点与应用场景:

RabbitMQ主要任务是处理海量的信息。主要用于分布式系统的内部各子系统之间的数据存储转发,这是系统解耦方面的一种运用。它是对AMQP协议的实现,支持多种客户端,可以对来自客户端的异步消息进行存储转发,在易用性、扩展性、高可用性等方面表现不俗。
RabbitMQ的特点:
1、基于ErLang语言开发具有高可用高并发的优点,适合集群服务器;
2、健壮、稳定、易用、跨平台、支持多种语言、文档齐全;
3、可靠性高,有消息确认机制和持久化机制,;
4、可靠性:RabbitMQ支持持久化,保证了消息的稳定性;
5、高并发高可用: RabbitMQ使用了Erlang作为开发语言,Erlang是为电话交换机开发的语言,天生自带高并发和高可用的光环;可用于高并发系统当中的流量削峰,将请求流量数据临时存放到RabbitMQ当中,从而避免大量的请求流量直接达到后台服务,把后台服务冲垮。
6、集群部署简单:正是因为Erlang使得RabbitMQ集群部署变的超级简单;
7、RabbitMQ是实现了AMQP标准的消息服务器。
RabbitMQ是一种基于erlang语言开发的流行的开源消息中间件,或者说是一个消息队列系统。消息的生产者把要发送的消息放入到消息队列中,消息的接收端可以根据RabbitMQ配置的转发机制接收服务端发来的消息。RabbitMQ依据指定的转发规则进行消息的转发、缓冲和持久化操作,主要用在多服务器间或单服务器的子系统间进行通信,RabbitMQ是分布式系统的标准配置。

五、安装部署:

(一)ES 安装Elastic Search

  1. 确保系统已经安装jdk1.8及以上版本

  2. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  3. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  4. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  5. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  6. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  7. 添加用户
    useradd admin

  8. 解压
    (1)tar xf elasticsearch-5.6.7.tar.gz -C /usr/local
    (2)cd /usr/local

  9. 设置软链
    ln -sv elasticsearch-5.6.7 elasticsearch
    5.创建文件夹
    mkdir -pv /usr/local/elasticsearch/{data,logs}
    mkdir -p /usr/local/elasticsearch/plugins
    mkdir -p /usr/local/elasticsearch/config/scripts

  10. 设置权限
    chown -R admin.admin /usr/local/elasticsearch-5.6.7

  11. 修改配置文件
    vi /usr/local/elasticsearch/config/elasticsearch.yml
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    cluster.name: my_application

换个节点名字

node.name: node-1
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs

修改一下ES的监听地址,这样别的机器也可以访问

network.host: 0.0.0.0
http.port: 9200

增加新的参数,这样head插件可以访问es

http.cors.enabled: true
http.cors.allow-origin: “*”

  1. 编辑limit.conf文件
    vi /etc/security/limits.conf
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
  2. 编辑sysctl.conf文件 /etc/sysctl.conf
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

vm.max_map_count= 262144
sysctl -p
14. 启动es服务,切换至上面添加的admin用户
(1)指令如下
cd /usr/local
chown -R admin.admin /usr/local/elasticsearch-5.6.7
su admin
(2)启动es
cd elasticsearch/bin
./elasticsearch
16. 可能遇到的问题
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  1. 安装ik分词器 解压后文件名称改为ik-analysis
    放入 /usr/local/elasticsearch/plugins
    切换root 执行这个命令
    chown -R admin.admin /usr/local/elasticsearch-5.6.7
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  2. 后台启动es
    cd /usr/local/elasticsearch/bin
    su admin
    ./elasticsearch -d
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

(二)RabbitMQ安装

  1. 上传安装包
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

2 解压
tar -zxvf otp_src_22.0.tar.gz
3. 移走
mv otp_src_22.0 /usr/local/
4. 切换目录
cd /usr/local/otp_src_22.0/
5. 安装依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  1. 创建即将安装的目录
    mkdir …/erlang
  2. 配置安装路径
    chmod +7 /usr/local/erlang
    ./configure --prefix=/usr/local/erlang
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

提示权限不够时,以下路径给root配置+7权限
chmod +7 /usr/local/opt_src_22.0/Erts/configure
chmod +7 /usr/local/opt_src_22.0/Make/configure
chmod +7 /usr/local/opt_src_22.0/Lib/common-test/configure
chmod +7 /usr/local/opt_src_22.0/Lib/crypto/configure
chmod +7 /usr/local/opt_src_22.0/Lib/erl-interface/configure
chmod +7 /usr/local/opt_src_22.0/Lib/megaco/configure
chmod +7 /usr/local/opt_src_22.0/Lib/odbc/configure
chmod +7 /usr/local/opt_src_22.0/Lib/snmp/configure
chmod +7 /usr/local/opt_src_22.0/Lib/wx/configure
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  1. 安装
    make install
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  2. 查看一下是否安装成功
    ll /usr/local/erlang/bin

  3. 添加环境变量
    echo ‘export PATH=$PATH:/usr/local/erlang/bin’ >> /etc/profile
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  4. 刷新环境变量
    source /etc/profile

  5. 执行erl (在安装目录下执行)

  6. rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

通过生效的环境变量执行(相当于有了DOS系统搜索路径后,再执行.exe或.com .bat)
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
14. halt().命令退出来
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  1. 由于是tar.xz格式的所以需要用到xz,没有的话就先安装
    yum install -y xz
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  2. 解压rabbitmq-server-generic-unix 第一次解压
    tar /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz

  3. 第二次解压
    tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

  4. 移走
    mv rabbitmq_server-3.7.15/ /usr/local/
    cd /usr/local/

  5. 改名
    mv /usr/local/rabbitmq_server-3.7.15 rabbitmq

  6. 配置环境变量
    echo ‘export PATH=$PATH:/usr/local/rabbitmq/sbin’ >> /etc/profile

  7. 刷新环境变量
    source /etc/profile
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  8. 启动 停止 状态
    rabbitmq-server –detached
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

rabbitmqctl stop

rabbitmqctl status
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  1. 开启web插件
    rabbitmq-plugins enable rabbitmq_management
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  2. 添加一个用户
    rabbitmqctl add_user admin yuanfeng021
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

  3. 配置权限
    rabbitmqctl set_permissions -p “/” admin “." ".” “.*”
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

    rabbitmqctl set_user_tags admin administrator
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    26、在CentOS8本机上访问:http://XXX.XXX.XXX:15672/ admin yuanfeng021
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
    rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

27、此时发现在局域网上不能访问,所以
(1)查看CentOS上开启的端口号
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

可以看出,并没有15672端口未被开启
(2)通过命令firewall-cmd –add-port=xxx/tcp命令开启5672、15671、15672三个端口
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器
若永久开启15672端口时,使用命令firewall-cmd --permanet --add-port=15672/tcp
(3)修改rabbitmq的配置文件,rabbitmq-env
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

增加一行内容如下:(大写)
NODE_IP_ADDRESS=192.168.0.132(你安装rabbitmq server的CentOS的网卡ip地址)
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

(4)从局域网的电脑telnet测试rabbitmq-server的15672端口号
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

测试结果如下:说明15672端口开启正常(左上方的光标一闪一闪,未提示连接端口失败)
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

28、从局域网访问rabbitmq-server正常,如下图:
rabbitmq+es集群,分布式,搜索引擎,rabbitmq,centos,服务器

访问成功,至此分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署结束,不足之处敬请批评指正。文章来源地址https://www.toymoban.com/news/detail-763748.html

到了这里,关于分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署(商城4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 整合 分布式搜索引擎 Elastic Search 实现 我附近的、酒店竞排

    本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 在酒店列表页的右侧,有一个小地图,点击地图的定位按钮,地图会找到你所在的位置: 点击定位后,会发送给服务端以下请求

    2024年02月06日
    浏览(34)
  • 分布式搜索引擎

    elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有 :查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询 :利用分词器对用户输入内容分词,然后去倒排索

    2024年02月10日
    浏览(33)
  • 分布式搜索引擎——elasticsearch搜索功能

    Elasticsearch提供了基于JSON的DSL (Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如: match_query multi_match_query 精确查询:根据精确词条

    2024年02月05日
    浏览(59)
  • 分布式搜索引擎ElasticSearch——搜索功能

    DSL查询分类 DSL官方文档 全文检索查询 精确查询 地理查询 复合查询 Function Score Query function score query Boolean Query 排序 分页 官方文档 高亮 快速入门 match,term,range,bool查询 排序和分页 高亮显示 就是在前面抽取的解析代码中进一步添加关于高亮的解析部分,因为highlight和so

    2024年02月01日
    浏览(46)
  • 【分布式搜索引擎02】

    elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有 :查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询 :利用分词器对用户输入内容分词,然后去倒排索

    2024年02月01日
    浏览(35)
  • 【分布式搜索引擎03】

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近

    2024年02月05日
    浏览(37)
  • 分布式搜索引擎--认识

    elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 。 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。 而elasticsearch是elastic stack的核

    2024年01月18日
    浏览(39)
  • 分布式搜索引擎ES

    elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 ELK技术栈 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应

    2024年02月04日
    浏览(33)
  • 【分布式搜索引擎es】

    elasticsearch最擅长的是 搜索 和 数据分析 。 查询文档 常见的查询类型包括: 查询所有 :查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询 :利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如: match_query multi_match_query 精确查询 :根据精确

    2024年02月10日
    浏览(41)
  • 分布式搜索引擎----elasticsearch

    目录 1、初识elasticsearch 1.1、什么是elasticsearch 1.2.ELK技术栈 2、正向索引和倒排索引 2.1、正向索引 2.2、倒排索引 2.3、正向索引和倒排索引的区别 3、elasticsearch中的概念理解 3.1、文档和字段 3.2、索引和映射 3.3、mysql与elasticsearch         elasticsearch是一款非常强大的开源搜索

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包