后台-系统设置-扩展变量-手机广告位-内容正文顶部 |
部署基础设施集群
基于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,有任何问题,欢迎一起探讨。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。