当前位置:Gxlcms > 数据库问题 > 大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

时间:2021-07-01 10:21:17 帮助过:8人阅读

11.1、介绍11.2、常见其他 Web 服务器11.3、版本11.4、Nginx 安装11.5、目录结构11.6、操作命令十二、Mysql12.1、介绍12.2、关系型数据库(SQL)种类12.3、特征12.4、术语12.4、与非关系型数据库比较(Not Only SQL)12.4.1、种类12.4.2、特征12.4.3、总结十三、数据收集13.1、收集方式13.2、数据的事件类型13.2.1、Launch 事件13.2.2、PageView 事件13.3、Nginx 日志收集服务器13.3.1、字段信息13.3.2、Nginx 日志格式13.3.3、Nginx 配置13.4、Flume 数据采集13.4.1、编写 Flume 脚本上传日志文件到 HDFS13.4.2、将 core-site.xml 和 hdfs-site.xml 文件软连接到 flume 的 conf 文件夹中13.5、启动 Flume 采集测试十四、Web 工程 JS/JAVA SDK 讲解十五、Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上15.1、先分割 Nginx 日志,按天保存15.1.1、脚本编写15.1.2、其他环境准备15.1.2、定时任务15.2、再手动上传 Nginx 日志文件到 HDFS 上15.2.1、脚本编写15.2.2、测试脚本


十一、Nginx

11.1、介绍

  Nginx 一个高性能的 web 服务器,对于静态资源的访问速度特别快,单台机器能够支持 50000+ 并发服务,占用内存比较少、速度快、结构扩展容易;主要用于数据分流、服务器备份、静态资源的访问。

11.2、常见其他 Web 服务器

  • 1、tomcat: 最常用的 Web 服务器
  • 2、jetty: 内嵌数据库最常用的 Web 服务器
  • 3、netty: 内嵌数据库常用的 Web 服务器
  • 4、IIS: windows 集成的 Web 服务器

11.3、版本

  http://tengine.taobao.org/tengine-2.0.2

  Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine 的性能和稳定性已经在大型的网站如淘宝网、天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的 Web 平台。

  从 2011 年 12 月开始,Tengine 成为一个开源项目,Tengine 团队在积极地开发和维护着它。Tengine 团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine 是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

11.4、Nginx 安装

Step1、在 module 目录下创建 nginx 目录

$ mkdir /opt/module/nginx

Step2、下载安装包

# wget http://tengine.taobao.org/download/tengine-2.0.2.tar.gz

Step3、解压

$ tar -zxf tengine-2.0.2.tar.gz -C /opt/module/nginx/

Step4、安装依赖服务(注意:需要使用root用户进行安装)

# yum -y install gcc openssl-devel zlib-devel pcre-devel

Step5、部署安装(注意:需要使用root用户进行安装)

[root@hadoop102 tengine-2.0.2]# pwd
/opt/module/nginx/tengine-2.0.2
[root@hadoop102 tengine-2.0.2]# ./configure
[root@hadoop102 tengine-2.0.2]# make && make install
[root@hadoop102 tengine-2.0.2]# cd /usr/local/nginx/(查看安装是否成功)

11.5、目录结构

  • 安装目录:/usr/local/nginx/
  • 操作命令目录:/usr/local/nginx/sbin
  • 配置文件目录:/usr/local/nginx/conf
  • 默认的页面存储目录:/usr/local/nginx/html

11.6、操作命令

启动 Nginx
# sbin/nginx

查看 Nginx 进程是否存在
# ps -ef | grep nginx

查看 80 端口是否在使用
# netstat -tunlp | grep 80

关闭服务
# sbin/nginx -s stop

重新加载配置项
# sbin/nginx -s reload

校验 conf 文件夹中 nginx.conf 文件格式是否正确
# sbin/nginx -t

帮助命令
# sbin/nginx -h

尖叫提示1:如果出现如下错误,请下载对应依赖包
./configure: error: C compiler cc is not found
./configure: error: the HTTP rewrite module requires the PCRE library
解决方案:yum install gcc 和 yum install pcre-devel

尖叫提示2:通过浏览器测试访问:http://192.168.25.102/,发现出现中文乱码

技术图片
解决方案:最新版本的Chrome浏览器如何设置网页编码
问题解决成功后的截图
技术图片

十二、Mysql

12.1、介绍

  一个非常常用的关系型数据库(RDBMS)。
常用的引擎:
  MyISAM:MySQL5.0 之前默认引擎,插入/查询速度快,体积比较小,不支持事务。
  InnoDB:MySQL5.x 之后默认引擎,支持ACID事务,支持行级别的锁机制。

12.2、关系型数据库(SQL)种类

  • MySQL: 体积小、开源
  • Oracle: 功能强大、技术支持力度大
  • SQLServer: Windows 平台下的数据库
  • PostgreSQL: 和 MySQL 类似,linux 平台下稳定性强,开源,经常用于默认数据库
  • Derby: java 编写的基于内存的数据,体积小,支持两种模式:内嵌+服务器模式,经常用于内嵌数据库

12.3、特征

  • 支持 Sql 查询
  • 支持 ACID 特性
  • 数据有严格的 schema(模式)
  • 数据以表格的形式呈现
  • 以行和列构成数据
  • 行表示是事件的具体值
  • 列表示的是对于值的数据域
  • 若干行构成数据表
  • 若干表构成数据库(database)

12.4、术语

  • 数据库
  • 数据表
  • 冗余
  • 主键
  • 外键
  • 索引: 唯一索引、复合索引等等

12.4、与非关系型数据库比较(Not Only SQL)

12.4.1、种类

  • 键值对数据库:Redis 等,数据不是结构化,存储是一个 key 对应一个 value,查询也是如此,一般基于内存,速度比较快,常用于缓存
  • 列式存储数据库:HBase、Cassandra 等
  • 文档型数据库::MongoDB 等
  • 图数据库:Neo4j 等,常见应用:知识图谱

12.4.2、特征

  • 不支持 sql 查询,每个数据库都有自己查询操作 api
  • 不支持事务,保证数据的最终一致性
  • 不需要预定义模式,模式自由(分布式的、扩充简单)
  • 异步复制:基于操作日志进行数据复制
  • 访问速度较快(特定的场景)

12.4.3、总结

  关系型数据库和 NoSQL 整合使用,一般使用 NoSQL 作为部分场景的数据存储,使用 Mysql 作为持久化的存储,例如:mysql+redis ==> redis(做缓存)

十三、数据收集

13.1、收集方式

  • PC端、移动 Web 端使用 JS
  • 移动端(Android、iOS、WinPhone)使用对应的 SDK
  • 后台程序使用对应的 SDK,例如 JavaSDK,PythonSDK 等等
  • 其他

13.2、数据的事件类型

13.2.1、Launch 事件

  Launch 事件主要就是表示用户(访客)第一次到网站的事件类型,主要应用于计算新用户等类似任务的计算。

参数名说明
en 事件名称,launch 事件中为:e_l
ver 版本号
pl 平台名称,launch 事件中为:website
sdk sdk 版本号,website 平台中为:js
u_ud 用户 id,唯一标识访客(用户)
u_mid 会员 id,业务系统的用户 id
u_sd 会话 id,标识会话 id
c_time 客户端时间
l 平台语言,window.navigator.language

人气教程排行