浅谈非k8s环境部署:部署基础设施集群

后台-系统设置-扩展变量-手机广告位-内容正文顶部

部署基础设施集群

基于docker的es集群部署

  docker的安装

  参见:请参考"docker安装指南

docker-compose安装

  以下所有命令需要在每台机器上执行

  sudocurl-L"http://res.javamall.com.cn/docker-compose"-o/usr/local/bin/docker-compose

  sudochmod+x/usr/local/bin/docker-compose

  sudoln-s/usr/local/bin/docker-compose/usr/bin/docker-compose

搭建2个节点的es集群

  我们先准备2台机器,假设ip如下:

  其中域名要根据实际规划的域名进行配置,在此处设置secret_key的值需要记录下,所有部署完成后,需要在管理端进行保存

修改系统参数

  vi/etc/sysctl.conf

  加入:

  vm.max_map_count=262144

  然后:

  sysctl-p

创建目录

  mkdir-p/home/soft/elasticsearch/{config,data}

  mkdir-p/home/soft/elasticsearch/plugins/ik/config

  chmod-R777/home/soft/elasticsearch/

vi/home/soft/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd">
<properties>
  <comment>IKAnalyzer扩展配置</comment>
  <!--用户可以在这里配置远程扩展字典-->
  <entrykey="remote_ext_dict">http://api.base.test.com/load-customwords?secret_key=secret_value</entry>
</properties>

elasticsearch.yml

  vi/home/soft/elasticsearch/config/elasticsearch.yml

输入如下内容:

  cluster.name:es-cluster

  node.name:es-node190

  network.bind_host:0.0.0.0

  network.publish_host:192.168.2.190

  http.port:9200

  transport.tcp.port:9300

  http.cors.enabled:true

  http.cors.allow-origin:"*"

  node.master:true

  node.data:true

  discovery.zen.ping.unicast.hosts:["192.168.2.217","192.168.2.190"]

  discovery.zen.minimum_master_nodes:1

说明:

  1、network.publish_host为本机节点ip2、discovery.zen.ping.unicast.hosts为所有集群内节点ip,多个逗号隔开

  docker-compose.yml

  vi/root/docker-compose.yml

输入如下内容:

  version:'3'

  services:

  es:#服务名称

  image:registry.cn-beijing.aliyuncs.com/javashop-k8s-images/elasticsearch:6.2.2#使用的镜像

  container_name:es#容器名称

  restart:always#失败自动重启策略

  environment:

  -bootstrap.memory_lock=false

  -"ES_JAVA_OPTS=-Xms512m-Xmx512m"#设置内存

  ulimits:

  memlock:

  soft:-1

  hard:-1

  volumes:

  -/home/soft/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

  -/home/soft/elasticsearch/data:/usr/share/elasticsearch/data

  -/home/soft/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml:/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

  ports:

  -9200:9200#http端口

  -9300:9300#es节点直接交互的端口,非http

启动:

  cd/root

  docker-composeup-d

验证:

  http://118.190.217.168:9200/_cat/nodes?v&pretty

基于docker的RabbitMq集群搭建

目标

  先实现2个节点的集群,再实现节点的扩容

搭建2个节点的mq集群

  我们先准备2台机器,假设ip如下:

consul服务搭建

  我们在node上建立consul服务:

  dockerrun-d--rm-t-i--name=consul-p8500:8500consul

  访问http://ip:8500/验证

分别在两台机器上执行如下操作

建立好mq相关目录

  mkdir-p/opt/data/mqdata

  mkdir-p/opt/config/mq

开启consul插件

  vi/opt/config/mq/enabled_plugins

输入如下内容

  [rabbitmq_management,rabbitmq_peer_discovery_consul,rabbitmq_delayed_message_exchange].

rabbitmq.conf

  vi/opt/config/mq/rabbitmq.conf

输入如下内容:

  cluster_formation.peer_discovery_backend=consul

  cluster_formation.consul.host=172.31.119.206

  cluster_formation.consul.port=8500

  cluster_formation.consul.scheme=http

  cluster_formation.consul.svc_addr_auto=true

  cluster_formation.consul.svc_addr_use_nodename=false

  cluster_formation.consul.svc=rabbitmq

  loopback_users=none

  注意修改cluster_formation.consul.host为consul服务实际所在ip

修改hosts文件

  vi/etc/hosts

输入如下内容

  172.31.119.207mq02

  172.31.119.206mq01

  以上内容是为了保证各个mq节点互相通信正常,请按您的实际情况配置此文件,这个文件将被映射到容器中

  在两台机器上做好了上述准备后,启动mq。

启动mq

在node1机器上执行:

  dockerrun-d--rm--hostnamemq01--network=host\

  -v/opt/data/mqdata:/var/lib/rabbitmq\

  -v/opt/config/mq:/etc/rabbitmq\

  -eRABBITMQ_ERLANG_COOKIE='MY-SECRET-KEY'\

  --namerabbitregistry.cn-beijing.aliyuncs.com/javashop-k8s-images/rabbitmq:3.8.2.2-management-alpine

在node2机器上执行:

  dockerrun-d--rm--hostnamemq02--network=host\

  -v/opt/data/mqdata:/var/lib/rabbitmq\

  -v/opt/config/mq:/etc/rabbitmq\

  -eRABBITMQ_ERLANG_COOKIE='MY-SECRET-KEY'\

  --namerabbitregistry.cn-beijing.aliyuncs.com/javashop-k8s-images/rabbitmq:3.8.2.2-management-alpine

  此时我们在consul上会看到启动的mq服务:

扩容

  增加新机器:172.31.119.204:在原两台机器上修改host为:

  172.31.119.206mq01

  172.31.119.207mq02

  172.31.119.204mq03

在原两台机器上重启mq,以便使其识别hosts文件

  dockerrestartrabbit

在新机器上执行建立执行上述《“分别在两台机器上执行如下操作”》章节中的内容

  在新机器上运行mq:

  dockerrun-d--rm--hostnamemq03--network=host\

  -v/opt/data/mqdata:/var/lib/rabbitmq\

  -v/opt/config/mq:/etc/rabbitmq\

  -eRABBITMQ_ERLANG_COOKIE='MY-SECRET-KEY'\

  --namerabbitregistry.cn-beijing.aliyuncs.com/javashop-k8s-images/rabbitmq:3.8.2.2-management-alpine

  效果如下:

  上述就是关于部署基础设施集群的内容了,想了解更多详情,可以持续关注易族智汇javashop,有任何问题,欢迎一起探讨。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

后台-系统设置-扩展变量-手机广告位-内容正文底部
留言与评论(共有 0 条评论)
   
验证码: