一.使用Docker-compose实现Tomcat+Nginx负载均衡

文件目录

编写default.conf

编写docker-compose.yml

version: "3.8"
services:
nginx:
image: nginx
container_name: cngx
ports:
- 80:2341
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf # 挂载配置文件
depends_on:
- tomcat01
- tomcat02
- tomcat03
tomcat01:
image: tomcat
container_name: mytomcat1
volumes:
- ./mytomcat1:/usr/local/tomcat/webapps/ROOT # 挂载web目录
tomcat02:
image: tomcat
container_name: mytomcat2
volumes:
- ./mytomcat2:/usr/local/tomcat/webapps/ROOT
tomcat03:
image: tomcat
container_name: mytomcat3
volumes:
- ./mytomcat3:/usr/local/tomcat/webapps/ROOT

运行docker-compose后查看容器:


负载均衡策略1:轮询策略

负载均衡策略2:权重策略


二.使用Docker-compose部署javaweb运行环境

解压文件

编写default.conf文件

编写docker-compose.yml文件

version: "3"
services:
tomcat1:
image: tomcat
container_name: mytomcat11
volumes:
- ./webapps:/usr/local/tomcat/webapps
networks: #网络设置静态IP,保证在同一子网下可随意分配
webnet:
ipv4_address: 15.22.0.15
tomcat2:
image: tomcat
container_name: mytomcat22
volumes:
- ./webapps:/usr/local/tomcat/webapps
networks: #网络设置静态IP,
webnet:
ipv4_address: 15.22.0.16
mysql:
build: .
image: mysql
container_name: ylsql1
ports:
- "3309:3306"
command: [ #设置编码模式
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci'
]
environment:
MYSQL_ROOT_PASSWORD: "123456" #root密码
networks:
webnet:
ipv4_address: 15.22.0.6
nginx:
image: nginx
container_name: mynginx1
ports:
- 80:2341
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf # 挂载配置文件
depends_on:
- tomcat1
- tomcat2
tty: true
stdin_open: true
networks:
webnet:
ipv4_address: 15.22.0.7
networks: #网络设置
webnet:
driver: bridge #网桥模式
ipam:
config:
-
subnet: 15.22.0.0/24 #子网

文件结构

根据自己的ip修改/webapps/ssmgrogshop_war/WEB-INF/classes/jdbc.properties文件

构建容器

网页访问localhost/ssmgrogshop_war/


三.使用Docker搭建大数据集群环境

pull ubuntu镜像

Ubuntu容器的初始化



配置ssh

安装JDK8版本

更新用户的环境变量

复刻一个容器


安装Hadoop

配置Hadoop集群

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

start-dfs.sh和stop-dfs.sh

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh和stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

运行Hadoop集群

复刻镜像

sudo docker commit 容器id ubuntu/hadoopinstalled

打开三个终端,运行三个容器,分别作为master,slave01和slave02

sudo docker run -it -h master --name master ubuntu/hadoopinstalled
sudo docker run -it -h slave01 --name slave01 ubuntu/hadoopinstalled
sudo docker run -it -h slave02 --name slave02 ubuntu/hadoopinstalled

修改/etc/host内的映射,三个容器都要修改

从master结点连接到slave结点

测试Hadoop集群

初始化和启动服务


jps信息



创建文件夹

将本地准备好的测试文件上传

运行测试函数

输出结果显示

关闭服务

总结

实验一在阅读老师给的两个博客后,对Tomcat+Nginx体系大概有了一些认识,代码量方面也比较友好。实验二花费的时间最多,然而还是没能完全掌握,同时也借用了老师的样例包。实验三的内容和大数据第二次实验的内容相似,所以做起来算得上顺手。但是,倘若没有那一次实验铺垫一下……实在有点太难了,这次的作业量相对较大,加上自己一周有类似的三个大实践课程(即将迎来第四门,我的天),实在有些吃力。不过,比较幸运的是有大佬的帮助,先驱者的博客以及解答都在这一次实验里给予了很大的帮助。然后具体花费了多少时间,想了一下大概是两个半的下午加一个晚上,似乎还好。。但感觉精神大概被bug和下一步咋整给耗尽了,睡前依稀忆起上学期的软工……

posted on 2020-05-17 00:51  杳轩  阅读(217)  评论(0编辑  收藏  举报