实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署
基础架构
| 主机名 | 角色 | IP地址 |
|---|---|---|
| mfyxw10.mfyxw.com | K8S代理节点1,zk1 | 192.168.80.10 |
| mfyxw20.mfyxw.com | K8S代理节点2,zk2 | 192.168.80.20 |
| mfyxw30.mfyxw.com | K8S Node节点1,zk3 | 192.168.80.30 |
| mfyxw40.mfyxw.com | K8S Node节点2,jenkins | 192.168.80.40 |
| mfyxw50.mfyxw.com | K8S运维节点(docker仓库) | 192.168.80.50 |
Dubbo微服务概述

实验架构

1.安装JDK
需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别安装jdk,建议使用jdk1.8及以上
JDK下载需要注册一个Oracle帐号才能允许下载
JDK1.8下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
先将jdk1.8的包分别上传到三台服务器
在mfyxw10.mfyxw.com主机上执行如下命令
[root@mfyxw10 ~]# mkdir -p /usr/java
[root@mfyxw10 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw10 ~]# cd /usr/java
[root@mfyxw10 java]# ln -s jdk1.8.0_221 jdk

在mfyxw20.mfyxw.com主机上执行如下命令
[root@mfyxw20 ~]# mkdir -p /usr/java
[root@mfyxw20 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw20 ~]# cd /usr/java
[root@mfyxw20 java]# ln -s jdk1.8.0_221 jdk

在mfyxw30.mfyxw.com主机上执行如下命令
[root@mfyxw30 ~]# mkdir -p /usr/java
[root@mfyxw30 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw30 ~]# cd /usr/java
[root@mfyxw30 java]# ln -s jdk1.8.0_221 jdk

2.添加jdk的环境变量
需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别添加jdk的环境变量,以下就以mfyxw10.mfyxw.com主机的操作为例,另二台的操作也类似
[root@mfyxw10 ~]# cat >> /etc/profile << EOF
export JAVA_HOME=/usr/java/jdk
export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/bin:\$PATH
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar
EOF
[root@mfyxw10 ~]# tail -4 /etc/profile
[root@mfyxw10 ~]# source /etc/profile
[root@mfyxw10 ~]# bash
[root@mfyxw10 ~]# java -version

3.安装zookeeper
zookeeper官方地址:https://zookeeper.apache.org/
zookeeper下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别安装zookeeper
mfyxw10.mfyxw.com主机的操作为例,另二台的操作也类似
下载zookeeper软件
[root@mfyxw10 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

解压zookeeper并创建软链接
[root@mfyxw10 ~]# tar xf apache-zookeeper-3.6.1-bin.tar.gz -C /opt
[root@mfyxw10 opt]# ln -s apache-zookeeper-3.6.1-bin zookeeper

创建存储zookeeper数据目录及日志文件目录,以及提供最简单的配置文件
[root@mfyxw10 ~]# mkdir -p /data/zookeeper/{data,logs}
[root@mfyxw10 ~]# cat > /opt/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=zk1.od.com:2888:3888
server.2=zk2.od.com:2888:3888
server.3=zk3.od.com:2888:3888
EOF

4.为zookeeper提供myid
在mfyxw10.mfyxw.com主机上执行
[root@mfyxw10 ~]# cat > /data/zookeeper/data/myid << EOF
1
EOF

在mfyxw20.mfyxw.com主机上执行
[root@mfyxw20 ~]# cat > /data/zookeeper/data/myid << EOF
2
EOF

在mfyxw30.mfyxw.com主机上执行
[root@mfyxw30 ~]# cat > /data/zookeeper/data/myid << EOF
3
EOF

5.在DNS服务器上做域名解析并重启DNS服务
在mfyxw10.mfyxw.com主机上执行即可
[root@mfyxw10 ~]# cat > /var/named/od.com.zone <<EOF
\$ORIGIN od.com.
\$TTL 600 ; 10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
;序号请加1,表示比之前版本要新
2020031307 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.od.com.
\$TTL 60 ; 1 minute
dns A 192.168.80.10
harbor A 192.168.80.50 ;添加harbor记录
k8s-yaml A 192.168.80.50
traefik A 192.168.80.100
dashboard A 192.168.80.100
zk1 A 192.168.80.10
zk2 A 192.168.80.20
zk3 A 192.168.80.30
EOF
重启DNS服务
[root@mfyxw10 ~]# systemctl restart named

6.启动zookeeper服务
需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别启动zookeeper服务
在mfyxw10.mfyxw.com上执行,其它二台主机的操作类似
[root@mfyxw10 ~]# /opt/zookeeper/bin/zkServer.sh start

7.分别查看zookeeper状态信息
需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别启动zookeeper服务
~]# /opt/zookeeper/bin/zkServer.sh status



8.设置zookeeper开机启动
在安装有zookeeper的主机(mfyxw10.mfyxw.com,mfyxw20.mfyxw.com,mfyxw30.mfyxw.com)都要分别操作,教程以mfyxw10.mfyxw.com操作为例,其它二台类似
在mfyxw10.mfyxw.com主机上执行如下操作
添加zookeeper开机启动脚本
[root@mfyxw10 ~]# cat > /etc/init.d/zookeeper << EOF
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/java/jdk
export PATH=\$JAVA_HOME/bin:\$PATH
case \$1 in
start) su root /opt/zookeeper/bin/zkServer.sh start;;
stop) su root /opt/zookeeper/bin/zkServer.sh stop;;
status) su root /opt/zookeeper/bin/zkServer.sh status;;
restart) su root /opt/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
EOF
添加执行权限
[root@mfyxw10 ~]# chmod +x /etc/init.d/zookeeper
添加到启动服务
[root@mfyxw10 ~]# chkconfig --add zookeeper
实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署的更多相关文章
- 8.实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署
1.基础架构 主机名 角色 ip HDSS7-11.host.com K8S代理节点1,zk1 10.4.7.11 HDSS7-12.host.com K8S代理节点2,zk2 10.4.7.12 H ...
- 9.实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署
1.下载Jenkins镜像打包上传harbor上 [root@hdss7- ~]# docker pull jenkins/jenkins:2.190. [root@hdss7- ~]# docker ...
- 实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署
Jenkins官网:https://www.jenkins.io/zh/ Jenkins 2.190.3 镜像地址:docker pull jenkins/jenkins:2.190.3 1.下载Je ...
- 实战交付一套dubbo微服务到k8s集群(6)之交付dubbo-monitor到K8S集群
dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码 在运维主机(mfyxw50. ...
- 12.实战交付一套dubbo微服务到k8s集群(5)之交付dubbo-monitor到K8S集群
dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码并解压 [root@hdss7 ...
- 11.实战交付一套dubbo微服务到k8s集群(4)之使用Jenkins进行持续构建交付dubo服务的提供者
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在 ...
- 实战交付一套dubbo微服务到k8s集群(8)之configmap使用
使用ConfigMap管理应用配置 拆分环境 主机名 角色 IP地址 mfyxw10.mfyxw.com zk1.od.com(Test环境) 192.168.80.10 mfyxw20.mfyxw. ...
- 实战交付一套dubbo微服务到k8s集群(7)之交付dubbo服务的消费者集群到K8S
构建dubbo-demo-consumer,可以使用和dubbo-demo-service的流水线来构建 1.登录jenkins构建dubbo-demo-consumer 2.填写构建dubbo-de ...
- 实战交付一套dubbo微服务到k8s集群(5)之使用Jenkins进行持续构建交付dubo服务的提供者
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央 ...
随机推荐
- 目前用下来最溜的MacOS微信多开工具!
一个生活微信,一个工作微信是很多上班族的基本配置. 但由于微信客户端在PC端上只能打开一个,这使得在上班时候就非常不便,一个号在PC端上登录,一个在手机上使用,但是上班时候又不能一直看手机,不然老板还 ...
- ctfhub技能树—sql注入—报错注入
打开靶机 payload 1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.c ...
- DOCKER 安装步骤-最靠谱的笔记
一.系统环境规划 服务器名 项目名称 docker 操作系统 CentOS Linux release 7.1.1503 (Core) Docker 版本 17.03.2-ce 二.Docker ...
- Pytorch入门——手把手教你MNIST手写数字识别
MNIST手写数字识别教程 要开始带组内的小朋友了,特意出一个Pytorch教程来指导一下 [!] 这里是实战教程,默认读者已经学会了部分深度学习原理,若有不懂的地方可以先停下来查查资料 目录 MNI ...
- django中的几种返回模版的方式
redirect方法-----(重定向) # 首先导入redirect方法, from django.shortcuts import redirect 在函数中写一个返回值 return redir ...
- java虚拟机入门(四)-垃圾回收的故事
谈到垃圾回收器,java程序员骄傲了起来,c语言你是够快,但是你有管家帮你打扫吗,还不是得靠自己的一双手,有钱就是任性.既然如此令java程序员骄傲的垃圾回收器,怎能让人不想去一探究竟呢! 垃圾回收器 ...
- JavaScript中的异步函数
JavaScript中的异步函数 ES8 的 async/await 旨在解决利用异步结构组织代码的问题.为此, ECMAScript 对函数进行了扩展,为其增加了两个新关键字: async 和 aw ...
- Shell从入门到精通
熟悉基本shell操作不仅是运维的基本功,对于开发来说也是多多益善,我在学习的过程中,总结了十个练手的小demo,并附上涉及的知识点,仅供娱乐. 1. 多线程ping监控,检查同一网段的IP是否连通 ...
- 2021最新WordPress安装教程(一):Centos7安装Apache
一转眼2020年已经过去了,看网络上很多WordPress的安装教程都比较旧,有些写的不太详细,WordPress是站长最喜欢的一款建站系统,数据统计到2020年为止,WordPress在所有网站的市 ...
- 知道 Redis-Cluster 么?说说其中可能不可用的情况
Redis 集群模式简述 一个集群模式的官方推荐最小最佳实践方案是 6 个节点,3 个 Master 3 个 Slave 的模式,如 图00 所示. key 分槽与转发机制 Redis 将键空间分为了 ...