zoukankan      html  css  js  c++  java
  • 中间件介绍

    1.1 redis

    1.1.1 作用

    redis是内存数据库,有存储查询快,支持分布式的好处。使用redis一方面是为了解决web访问session共享的问题。另一方面是为了存放热点数据,目前主要是存放一些经常使用的核心配置,供多机使用,减少mysql的并发查询压力。

    用户上网的session

    1.1.2 服务管理

    redis路径:*/redis

    启动redis服务:

    su - redis -c "cd */redis/bin && ./redis-server */redis/conf/redis.conf >/dev/null 2>&1 &"

    关闭redis服务:

    1.1.3 操作方法

    redis的操作有多种,主要是客户端工具操作,或者控制台直接命令操作。

    客户端工具目前可以使用RedisDesktopManger,直接下载,配置源信息使用。

    控制台命令主要是使用redis自带的redis-cli客户端工具操作redis

    cd */redis/bin/

    ./redis-cli -a passwd -p 16379

    进入控制台后,具体的操作命令大家可以在http://www.runoob.com/redis/redis-tutorial.html上面学习了

    建议大家还是使用控制台的方式操作,http://try.redis.io/ 这个网站可以直接在上面操作学习。

    1.1.4 注意要点

    l 配置改了怎么没生效?

    因为配置我们是从redis获取的,如果你是手动修改数据库的方式,或者执行sql的方式,那么redis里面是没有更新的。新使用界面配置菜单修改,或者重启tomcat即可。界面修改和tomcat重启,我们都会刷新redis的数据。

    1.2 zookeeper

    1.2.1 作用

    zookeeper是服务注册与调度协调的一个分布式组件。目前我们使用它主要是解决两方面的事情,一个是我们策略模块各个服务的注册和调度。另一方面是我们使用它实现平台和各个子系统的配置订阅与发布。平台上会维护一些公共配置,比如redis的源信息,es的源信息等,各个子系统假如也需要这部分信息,就可以订阅,订阅完毕后,平台假如修改了,就能发布给各个子系统,各个子系统收到后,修改自己的本地库即可。

    1.2.2 服务管理

    zookeeper路径:*/zookeeper

    启动zookeeper服务

    cd * /zookeeper/zookeeper-3.4.5/bin && nohup ./zkServer.sh start  2>&1 &

    关闭zookeeper服务

    多节点配置

    zk多节点部署时,每个节点都需要增加如下配置:

     vim */zookeeper/zookeeper-3.4.5/conf/zoo.cfg如下图,增加配置

     

    每个节点服务器运行echo "1" > */zookeeper/data/myid。其中1需要按照上图中的递增数填写

    1.2.3 操作方法

    zookeeper可以使用其自带的客户端工具zkCli.sh,在控制台使用命令行操作。

    cd */zookeeper/zookeeper-3.4.5/bin/

    ./zkCli.sh –server 127.0.0.1:48889

    1.2.4 注意要点

    l 暂无

    zookeeper可能在运维过程中很少涉及到,目前针对zookeeper唯一要注意的就是我们目前为了自动化升级,只安装了一个zk服务,假如这一台挂了,那么我们的策略下发等等服务,将会存在问题,如果我们按照1.2.2章节中介绍,实现度多节点配置,那么挂一台也是没问题的。

    1.3 elasticsearch6.1.0

    1.3.1 作用

    ES是文档类型的搜索引擎。提供亿级数据秒级检索的解决方案。

    1.3.2 服务管理

    ES路径:/*/es

    启动ES服务:

    su - elasticsearch -c "cd * /es/elasticsearch-6.1.0/bin/ && ./elasticsearch -d"

    关闭ES服务:

    多节点扩容配置

    假如es集群节点数大于或等于3,则需要我们手动修改各个ES节点的一个配置文件,修改的目的是在集群网络不稳定的情况下,防止ES产生脑裂问题,步骤如下:

    • vim */es/elasticsearch-6.1.0/config/elasticsearch.yml
    • 将discovery.zen.minimum_master_nodes: 1中的1修改为(N/2)+1其中N为节点数,比如我们节点数为3,则修改成2即可。
    • 重启各个ES节点,直接kill掉即可,dog会自动拉起服务

    1.3.3 操作方法

    es目前我们提供了两个插件来支持我们现网运维。

    一个是http://数据库IP:9100/

    一个是http://数据库IP:9101/

    其中9100端口提供的是eselasticsearch-head插件,提供es整站的管理。包括集群状态,集群信息,索引信息与操作,数据浏览与操作等等功能。但是其查询及操作数据,需要熟悉他复杂的json格式的api,对于不熟悉的人,门槛很高,所以我们提供了9101elasticsearch-sql插件,可以通过大家都熟知的sql方式,查询数据浏览数据,简单的统计数据,只有select功能。

    1.3.4 注意要点

    l es上索引都有数据,怎么界面查询不出来

    首先很多类型的日志,是按天分表的,但是我们界面想整体是查看数据,es提供了别名的方式,所以目前我们界面都是通过别名的方式查询的,假如这个索引的别名丢失,或者没有创建,那么界面确实无法查看,可以通过9100端口界面,手动添加。

    l CU底层一直在解析文件,为啥es里面日志数量没有变化?界面上的数据咋没有增加?

    ES本身是懒加载的,就是说数据进来了,并不是实时为其创建索引的,而是根据你的设置,来建立索引的,这样德目的也是为了提高入数据的性能,目前我们控制的是入完一个文件,30秒后,建立索引,所以存在一定的延后。

    怎么ps查看es的进程不存在呢?

    新版ES启动做了很多验证,不能root启动,同时对linux的内核参数也有要求,比如open files的大小,vm.max_map_count进程拥有的内存区域大小等有限制。当es的进程不再时可以查看/*/es/elasticsearch-6.1.0/logs/idc_es.log 日志,具体分析。特别主要open files的限制,升级版本加大了这个数,但是有的地方会在profile中,把这个参数给覆盖了,导致无法启动。

    1.4 dubbo

    1.4.1 作用

    dubbo是一套微服务提供框架,配合zookeeper使用。在我们产品中,一方面在管理平台上,提供登录,认证,账号列表等公共服务。另一方面提供策略下发,配置下发等等下发服务。选用他的好处是一站式远程RPC的解决方案,同时支持服务容灾,支持横向扩充等等。

    1.4.2 服务管理

    dubbo是集成在tomcat项目里面的,不是单独的进程。启动我们项目的tomcat,该服务伴随启动。

    1.4.3 操作方法

    dubbo我们提供了管理界面https://webIP:8443/dubbo-admin

    在该界面上我们可以查看服务列表,消费者列表,服务状态等等

     

  • 相关阅读:
    JavaScript变量和作用域
    遥感专业词汇
    linux修改文件所属用户和用户组
    当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
    linux中的目录和文件的统计
    linux命令在文件中根据命令查找
    走进ELK原理
    nohub和重定向文件
    HashMap与TreeMap按照key和value排序
    List自定义排序
  • 原文地址:https://www.cnblogs.com/fengfangbing/p/12973434.html
Copyright © 2011-2022 走看看