zoukankan      html  css  js  c++  java
  • 第四次系统实践作业

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

  • 相关阅读:
    win10如何安装应用商店
    Redis从入门到精通——认识 Redis
    SkyWalking——SkyWalking安装和配置
    SkyWalking——SkyWalking二次开发必备知识
    SkyWalking——SkyWalking架构设计
    SkyWalking——全面认识Apache SkyWalking
    Redis从入门到精通——初识NoSQL
    RocketMQ(4.8.0)——延迟消息机制
    RocketMQ(4.8.0)——事务消息机制
    RocketMQ(4.8.0)——Broker 的关机恢复机制
  • 原文地址:https://www.cnblogs.com/yellow-2018/p/12903174.html
Copyright © 2011-2022 走看看