助力工业物联网,工业大数据项目介绍及环境构建【一、二】_工业大数据环境部署

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

+ 掌握加油站设备维护的主要业务流程
+ **工单分析、费用分析、物料分析、回访分析**

05:技术选型

  • 目标掌握加油站服务商数据运营平台的技术选型

  • 实施

    • 数据生成:业务数据库系统

      • Oracle:工单数据、物料数据、服务商数据、报销数据等
    • 数据采集

      • Sqoop:离线数据库采集
    • 数据存储

      • Hive【HDFS】:离线数据仓库【表】
    • 数据计算

      • SparkCore:类MR开发方式【写代码调用方法函数来处理:面向对象 + 面向函数】
        • 对非结构化数据进行代码处理
        • 场景:ETL
      • SparkSQL:类HiveSQL开发方式【面向表】
        • 对数据仓库中的结构化数据做处理分析
        • 场景:统计分析
        • 开发方式
          • DSL:使用函数【DSL函数 + RDD函数】
          • SQL:使用SQL语句对表的进行处理
        • 功能:离线计算 + 实时计算
      • 注意:SparkSQL可以解决所有场景的分布式计算,离线计算的选型不仅仅是SparkSQL
        • SparkSQL/Impala/Presto
      • 使用方式
        • Python/Jar:spark-submit
          • ETL
        • ThriftServer:SparkSQL用于接收SQL请求的服务端,类似于Hive的Hiveserver2
          • PyHive :Python连接SparkSQL的服务端,提交SQL语句
          • JDBC:Java连接SparkSQL的服务端,提交SQL语句
          • spark-sql -f :运行SQL文件,类似于hive -f
          • beeline:交互式命令行,一般用于测试
    • 数据应用

      • MySQL:结果存储
      • Grafana:数据可视化工具
    • 监控工具

      • Prometheus:服务器性能指标监控工具
    • 调度工具

      • AirFlow:任务流调度工具
    • 技术架构

    image-20210819163301868

  • 小结

    • 本次项目的技术架构是什么?

      • Lambda架构:离线计算层 + 实时计算层 + 数据服务层
    • 项目中用到了哪些技术?

      • 数据生成:Oracle
      • 数据采集:Sqoop
      • 数据存储:Hive
      • 数据处理:SparkSQL
      • 数据应用:MySQL + Grafana
      • 数据监控:Prometheus
      • 任务调度:AirFlow
      • 版本控制:Git + Gitee
      • 资源容器:Docker

06:Docker的介绍

  • 目标了解Docker的基本功能和设计

    • 为什么要用Docker?
    • 什么是Docker?
  • 路径

    • step1:生产环境的问题
    • step2:容器的概念
    • step3:Docker的设计
  • 实施

    • 生产环境的问题

      • 运维层面:一台机器上的应用太多,不同的环境,安装过程也不一样,管理麻烦,怎么办?
      • 开发层面:不同程序的运行受到环境、资源等因素的干扰,不同的环境,开发的方式也不一样,怎么办?
    • 容器的概念

      • 硬件容器:将一个硬件虚拟为多个硬件,上层共用硬件
        • VMware WorkStation
    • 应用容器:将一个操作系统虚拟为多个操作系统,不同操作系统之间互相隔离

  • Docker

  • Docker的设计

image-20210820114930076

+ **定义**:Docker是一个开源的应用容器引擎,使用GO语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用程序进行封装隔离,并且独立于宿主机与其他进程,这种运行时封装的状态称为容器。


	- **目标**
	
	
		* 提供简单的应用程序打包工具
	- 开发人员和运维人员职责逻辑分离
+ 多环境保持一致性,消除了环境差异
+ **功能**:“Build,Ship and Run Any App,Anywhere”


	- 通过对应用组件的封装,分发,部署,运行等生命周期的管理,达到应用组件级别的一次封装,多次分发,到处部署
+ **架构**

 ![image-20210820121717954](https://img-blog.csdnimg.cn/img_convert/01912b724dd55d183b3462bebc64f72d.png)
+ **组成**


	- 宿主机:安装Docker的那台实际的物理机器
	- docker client 【客户端】:用于连接服务端,提交命令给服务端
	
	 
	```
	#拉取镜像
	docker pull ……
	#启动容器
	docker run ……
	#进入容器
	docker exec ……
	#查看容器
	docker ps ……
	
	```
	 
	```
	
	
	```
	- docker daemon【服务端】:用于接收客户端请求,实现所有容器管理操作
	- docker image【镜像】:用于安装APP的软件库,简单点理解为软件的安装包
	- docker container 【容器】:用于独立运行、隔离每个APP的单元,相当于每个独立的Linux系统
	
	 
	```
	
	
	```
  • 小结

    • 了解Docker的基本功能和设计

07:Docker的网络

  • 目标了解Docker的网络管理设计

    • Docker的
  • 路径

    • step1:问题
    • step2:模式
    • step3:选型
  • 实施

    • 问题

      • Docker的本质在一个操作上虚拟了多个操作系统出来,那每个操作之间如何进行网络通信呢?
    • 模式

      • host模式:每个虚拟系统与主机共享网络,IP一致,用不同端口区分不同虚拟系统

      image-20210820125842299

      • container模式:第一个容器构建一个独立的虚拟网络,其他的容器与第一个容器共享网络

image-20210820125921926

- **none模式**:允许自定义每个容器的网络配置及网卡信息,每个容器独立一个网络

image-20210820130000207

- **bridge模式**:构建虚拟网络桥,所有容器都可以基于网络桥来构建自己的网络配置

image-20210820130011944

  • 选型

    • 本次项目中使用bridge模式,类似于VM中的Net模式使用
  • 管理

    • 了解即可,不用操作
    • 创建
    docker network create --subnet=172.33.0.0/24 docker-bd0
    
    
    • 查看模式
    docker network ls
    
    
    • 删除
    docker network rm ……
    
    
  • 小结

    • 了解Docker的网络管理设计

08:Docker的使用

  • 目标:了解docker的基本使用

  • 路径

    • step1:docker管理
    • step2:image管理
    • step3:container管理
  • 实施

    • docker管理

      • 默认开机自启
      • 了解即可,不用操作
      • 启动服务
      systemctl start docker
      
      
      • 查看状态
      systemctl status docker
      
      
      • 关闭服务
      systemctl stop docker
      
      
    • image管理

      • 了解即可,不用操作
      • 添加镜像
      docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
      
      
      • 列举镜像
      docker images
      
      
      • 移除镜像
      docker rmi ……
      
      
    • container管理

      • 熟悉常用操作
      • 创建并启动container:不用做
      docker run --net docker-bd0 --ip 172.33.0.100 -d -p 1521:1521 --name oracle 3fa112fd3642
      
      
        * run = create + start
      
      • 列举container
      #列举所有的
      docker ps -a
      #列举正在运行的
      docker ps
      
      
      • 进入container
      docker exec -it Name bash
      
      
      • 退出container
      exit
      
      
      • 删除container
      docker rm ……
      
      
  • 小结

    • 了解docker的基本使用

09:Oracle的介绍

  • 目标了解Oracle工具的基本功能和应用场景

  • 路径

    • step1:数据库分类
    • step2:Oracle的介绍
  • 实施

    • 数据库分类

      • RDBMS:关系型数据库管理系统
        • 工具:MySQL、Oracle、SQL Server……
        • 应用:业务性数据存储系统:事务和稳定性
        • 特点:体现数据之间的关系,支持事务,保证业务完整性和稳定性,小数据量的性能也比较好
        • 开发:SQL
      • NoSQL:Not Only SQL:非关系型数据库
        • 工具:Redis、HBASE、MongoDB……
        • 分类:KV、文档、时序、图……
        • 应用:一般用于高并发高性能场景下的数据缓存或者数据库存储
        • 特点:读写速度特别快,并发量非常高,相对而言不如RDBMS稳定,对事务性的支持不太友好
        • 开发:每种NoSQL都有自己的命令语法
    • Oracle的介绍

      • 概念:甲骨文公司的一款关系数据库管理系统

        • Oracle在古希腊神话中被称为“神谕”,指的是上帝的宠儿
        • 在中国的商周时期,把一些刻在龟壳上的文字也称为上天的指示,所以在中国Oracle又翻译为甲骨文
        • Oracle是现在全世界最大的数据库提供商,编程语言提供商,应用软件提供商,它的地位等价于微软的地位
      • 分类:RDBMS,属于大型RDBMS数据库

        • 大型数据库:IBM DB2、Oracle、Sybase
        • 中型数据库:SQL Server、MySQL、Informix、PostgreSQL
        • 小型数据库:Access、Visual FoxPro、SQLite
      • 功能:实现大规模关系型数据存储

      • 特点

        • 功能全面:数据字典、动态性能视图、TRACE跟踪、AWR、ASH、SQL Monitor等
        • 性能优越:支持SQL大量的表连接、子查询、集合运算,长度可达上千行
        • 数据量大:相比较于其他的数据库,Oracle支持千万级别以上的数据高性能存储
        • 高可靠性:基于Oracle自带的RAC架构下,可靠性和稳定性相对比较高
      • 综合排名

      image-20210820144336062

      • 应用

        • 中国各大银行、电信、政府单位等机构所有系统
      • 趋势

        • 去IOE【IBM服务器、Oracle数据库、EMC存储】
  • 小结

    • 了解Oracle工具的基本功能和应用场景

10:集群软件规划

  • 目标:了解项目的集群软件规划
  • 实施

image-20210819235429756

172.33.0.100    oracle.bigdata.cn
172.33.0.110    sqoop.bigdata.cn
172.33.0.121    hadoop.bigdata.cn
172.33.0.131    hive.bigdata.cn
172.33.0.133    spark.bigdata.cn

  • 小结

    • 了解项目的集群软件规划

11:项目环境导入

  • 目标:实现项目虚拟机的导入

  • 实施

    • step1:导入:找到OneMake虚拟机中以.vmx结尾的文件,使用VMware打开

    image-20210820153724328 image-20210820153811764

    • step2:启动:启动导入的虚拟机,选择我已移动该虚拟机

    image-20210820153928034

  • step3:登陆:登陆到虚拟机内部,或者使用远程工具连接

    • 默认IP:192.168.88.100
    • 主机名:node1
    • 用户名:root
    • 密码:123456image-20210820154156327

image-20210820154301298

  • 小结

    • 实现项目虚拟机的导入

12:项目环境配置

  • 目标根据需求实现项目环境配置

  • 实施

    • 注意:所有软件Docker、Hadoop、Hive、Spark、Sqoop都已经装好,不需要额外安装配置,启动即可

    • 配置网络:如果你的VM Nat网络不是88网段,请按照以下修改

      • 修改Linux虚拟机的ens33网卡,网卡和网关,修改为自己的网段
      vim /etc/sysconfig/network-scripts/ifcfg-ens33
      
      

      image-20210820155039740

      • 重启网卡
      systemctl restart network
      
      
      • 查看是否修改成功
      ifconfig
      
      
    • 配置映射

      • 修改Linux映射,修改为自己的网段
      vim /etc/hosts
      
      
      • 配置Windows上的映射,方便使用主机名访问【把以前的有冲突的注释掉】192.168.88.100 oracle.bigdata.cn
        192.168.88.100 hadoop.bigdata.cn
        192.168.88.100 hive.bigdata.cn
        192.168.88.100 mysql.bigdata.cn
        192.168.88.100 node1
    
    ![image-20210820155305287](https://img-blog.csdnimg.cn/img_convert/5d91eae2217116ace3aaceb9a5f03e92.png)
    
    
    
  • 小结

    • 根据需求实现项目环境配置

13:项目环境测试:Oracle

  • 目标实现项目Oracle环境的测试

  • 实施

    • 启动
    docker start oracle
    
    
    • 进入
    docker exec -it oracle bash
    
    
    • 连接
    #进入客户端命令行:/nolog表示只打开,不登录,不用输入用户名和密码
    sqlplus /nolog
    #登陆连接服务端:/ as sysdba表示使用系统用户登录
    conn / as sysdba
    
    
    • 测试select TABLE_NAME from all_tables where TABLE_NAME LIKE ‘CISS_%’;

- 退出


exit


- 远程连接:DG

- step1:安装DG

- step2:创建连接

  - SID:helowin
- 用户名:ciss
  - 密码:123456

![image-20210820163624308](https://img-blog.csdnimg.cn/img_convert/b53444744b1b7e1a42cfc342618725ed.png)



image-20210820163359518

  • step3:配置驱动包

image-20210820163845730

  • step4:配置JDK

image-20210820163858178

  • step5:测试

image-20210820163938882

  • 关闭
  docker stop oracle

  • 小结

    • 实现项目Oracle环境的测试

14:项目环境测试:MySQL

  • 目标实现项目MySQL环境的测试

  • 实施

    • 大数据平台中自己管理的MySQL:两台机器

      • 存储软件元数据:Hive、Sqoop、Airflow、Oozie、Hue
      • 存储统计分析结果
    • 注意:MySQL没有使用Docker容器部署,直接部署在当前node1宿主机器上

    • 启动/关闭:默认开启自启动

    • 连接:使用命令行客户端、Navicat、DG都可以

      • 用户名:root
      • 密码:123456image-20210820165818751

    image-20210820165832168

    • 查看

    image-20210820165910239

  • 小结

    • 实现项目MySQL环境的测试

15:项目环境测试:Hadoop

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

img.cn/img_convert/6c21f9bacd903d3af2247a773218fdbe.png)

 ![image-20210820165832168](https://img-blog.csdnimg.cn/img_convert/0b40f5174897363500b44173dfaf73fb.png)
+ 查看

 ![image-20210820165910239](https://img-blog.csdnimg.cn/img_convert/32a8ac7c08318543983840e2703f2e32.png)
  • 小结

    • 实现项目MySQL环境的测试

15:项目环境测试:Hadoop

[外链图片转存中…(img-6KERtxhz-1715407398394)]
[外链图片转存中…(img-nP0c0HhL-1715407398394)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值