本文介绍: 一、分布式搜索引擎:Elastic SearchElastic Search目标就是实现搜索。是一款非常强大的开源索引擎,可以帮助我们海量数据快速找到需要内容。二、RabbitMQRabbitMQ主要任务处理海量的信息。1、基于ErLang语言开发具有可用并发的优点,适合集群服务器;2、健壮、稳定、易用、跨平台支持多种语言文档齐全;3、可靠性高,有消息确认机制持久机制,;4、可靠性:RabbitMQ支持持久化,保证了消息稳定性;5、高并发可用:可用于高并发系统当中

在这里插入图片描述

一、分布式索引擎:Elastic Search

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

企业中,往往是Elasticsearchmysql两者结合使用
1、对安全性要求较高的写操作使用mysql实现
2、对查询性能要求较高的搜索需求,使用elasticsearch实现
3、两者再基于某种方式,实现数据同步,保证一致性
Elastic Search与MySQL的特征
MySQL:擅长事务类型操作,可以确保数据安全一致性
Elastic Search:擅长海量数据的搜索、分析计算
在这里插入图片描述

二、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. 在这里插入图片描述

  3. 在这里插入图片描述

  4. 在这里插入图片描述

  5. 在这里插入图片描述

  6. 在这里插入图片描述

  7. 添加用户
    useradd admin

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

  9. 设置软链
    lnsv elasticsearch-5.6.7 elasticsearch
    5.创建文件夹
    mkdirpv /usr/local/elasticsearch/{data,logs}
    mkdirp /usr/local/elasticsearch/plugins
    mkdirp /usr/local/elasticsearch/config/scripts

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

  11. 修改配置文件
    vi /usr/local/elasticsearch/config/elasticsearch.yml
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    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.alloworigin: “*”

  1. 编辑limit.conf文件
    vi /etc/security/limits.conf
    在这里插入图片描述
  2. 编辑sysctl.conf文件 /etc/sysctl.conf
    在这里插入图片描述

vm.max_map_count= 262144
sysctlp
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. 可能遇到问题
在这里插入图片描述
在这里插入图片描述

  1. 安装ik分词器 解压后文件名改为ikanalysis
    放入 /usr/local/elasticsearch/plugins
    切换root 执行这个命令
    chown -R admin.admin /usr/local/elasticsearch-5.6.7
    在这里插入图片描述
    在这里插入图片描述

  2. 后台启动es
    cd /usr/local/elasticsearch/bin
    su admin
    ./elasticsearch –d
    在这里插入图片描述

(二)RabbitMQ安装

  1. 上传安装包
    在这里插入图片描述

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. 安装依赖
yumy install gcc glibcdevel make ncurses-devel openssldevel xmlto perl wget gtk2-devel binutilsdevel
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 创建即将安装的目录
    mkdir …/erlang
  2. 配置安装路径
    chmod +7 /usr/local/erlang
    ./configureprefix=/usr/local/erlang
    在这里插入图片描述
    在这里插入图片描述

提示权限不够时,以下路径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/commontest/configure
chmod +7 /usr/local/opt_src_22.0/Lib/crypto/configure
chmod +7 /usr/local/opt_src_22.0/Lib/erlinterface/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
在这里插入图片描述

  1. 安装
    make install
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

  3. 添加环境变量
    echoexport PATH=$PATH:/usr/local/erlang/bin’ >> /etc/profile
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

  6. 在这里插入图片描述

通过生效环境变量执行(相当于有了DOS系统搜索路径后,再执行.exe或.com .bat
在这里插入图片描述
14. halt().命令退出
在这里插入图片描述

  1. 由于是tar.xz格式的所以需要用到xz没有的话就先安装
    yum instally xz
    在这里插入图片描述

  2. 解压rabbitmqserver-generic-unix 第一次解压
    tar /bin/xzd rabbitmqserver-generic-unix-3.7.15.tar.xz

  3. 第二次解压
    tarxvf rabbitmqserver-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
    在这里插入图片描述
    在这里插入图片描述

  8. 启动 停止 状态
    rabbitmqserver –detached
    在这里插入图片描述

rabbitmqctl stop

rabbitmqctl status
在这里插入图片描述

  1. 开启web插件
    rabbitmqplugins enable rabbitmq_management
    在这里插入图片描述

  2. 添加一个用户
    rabbitmqctl add_user admin yuanfeng021
    在这里插入图片描述

  3. 配置权限
    rabbitmqctl set_permissions -p “/” admin “.” “.” “.*”
    在这里插入图片描述

    rabbitmqctl set_user_tags admin administrator
    在这里插入图片描述
    在这里插入图片描述
    26、在CentOS8本机上访问http://XXX.XXX.XXX:15672/ admin yuanfeng021
    在这里插入图片描述
    在这里插入图片描述

27、此时发现局域网上不能访问,所以
(1)查看CentOS上开启端口号
在这里插入图片描述

可以看出,并没有15672端口未被开启
(2)通过命令firewallcmdaddport=xxx/tcp命令开启5672、15671、15672三个端口
在这里插入图片描述
若永久开启15672端口时,使用命令firewallcmdpermanet —addport=15672/tcp
(3)修改rabbitmq的配置文件,rabbitmq-env
在这里插入图片描述

加一行内如下:(大写
NODE_IP_ADDRESS=192.168.0.132(你安装rabbitmq server的CentOS的网卡ip地址)
在这里插入图片描述

(4)从局域网电脑telnet测试rabbitmq-server的15672端口号
在这里插入图片描述

测试结果如下说明15672端口开启正常(左上方的光标一闪一闪,未提示连接端口失败
在这里插入图片描述

28、从局域网访问rabbitmq-server正常,如下图
在这里插入图片描述

访问成功,至此分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署结束,不足之处敬请批评指正。

原文地址:https://blog.csdn.net/weixin_43075093/article/details/134808310

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47548.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注