当前位置: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:
Step3、解压
$ tar -zxf tengine-2.0.2.tar.gz -C /opt/module/nginx/
Step4、安装依赖服务(注意:需要使用root用户进行安装)
Step5、部署安装(注意:需要使用root用户进行安装)
[root@hadoop102 tengine-2.0.2]
/opt/module/nginx/tengine-2.0.2
[root@hadoop102 tengine-2.0.2]
[root@hadoop102 tengine-2.0.2]
[root@hadoop102 tengine-2.0.2]
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 |
人气教程排行
|