一.使用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和下一步咋整给耗尽了,睡前依稀忆起上学期的软工……