开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建):配置文件及工具类介绍 】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/670/detail/11624
配置文件及工具类介绍
内容介绍:
一、各类配置文件
二、工具类
一、各类配置文件
1、c3p0
在配置文件中,c3p0指的是用来连接mysql数据库
#mysql驱动
driverclass=com.mysql.jdbc.Driver
#mysql数据库连接地址
jdbcurl=jdbc:mysql://192.168.100.160:3306/gciantispider?useUnicode=true&characterEncoding=
#用户名
Username=root
#密码
password=123456
#初始化的连接数,取值应在 minPoolSize 与 maxPootsize 之间,Default:3
initialPoolsize=10
#连接池中保留的最小连接
minpoolsize=10
#连接池中保留的最大连接
maxPoolsize=100
#当连接池中的连接耗尽的时候c3p0一次童时获取的连接数,Default:3
acquireIncrement=3
#最大空闲时间
maxidleTime=1000
#定义在从数据库获取新连接失败后重复尝试的次数,Default:30 acquireRetryAttempts=30
#两次连接中间隔时间,单位毫秒,
Default:1000 acquireRetryDelay=1000
2、Cookie
Cookie解析配置
3、Hdfs
#存HDFS数据捷径
#黑名单提交到hdfs的路径
blackListPath=hdfs://192.168.100.100:8020/csair/data/rule-black-list/
#btack:istPath=hdfs://10.108.151.101:8020/csair/data/rule-black-liste/
#AntiCalculateResult 数据提交到hdfs的捷径
#antiCalculateResultPath=hdfs://192.168 .30.17:8020/csair/data/rule computedl/
#antigplculateResultPath=hdfs://10.108.15 1.101:8020/csair/data/rule-computed
4、Jedis
#redisCluster实例地址
Servers=192.168.100.160:7001,192.168.100.160:7002,192.168.100.160:7003
#连接rediscluster实例超时时间
connectionTimeout = 300000
#redisCluster实例超时时间
soTimeout=300000
#连接redisCluster实何重试次数
maxAttempts=6
#jedis连接池配置
#连接池最大连接数
maxTotal =200
#获取连接池连接最大等特时间(毫秒)
maxwaitmillis=15000 ...
#最大空闲连接数
maxdle=50
#最小空闲连接数
minidle=10
#对拿到的connection进行validateObject校验
testonBorrow=false
#从连接池获取不到连接则阻塞
blockwhenExhausted = true
#连接对象后进先出
lifo =true
5、Kafka
#kafka配置
#kafka服务器地址与端口
default.brokers=192.168.100.10:9092,192.168.100.110:9092,192.168.100.120:9092
#value序列化类
default.value_serializer_class_config=org.apache.kafka.common.serialization.stringseriali
#key序列化类default.key_serializer_class_config=org.apache.kafka.common.serialization.stringserializer
#一个批次提交数据大小
default.batch_size_config-32768
#往kafka服务器提交消息间隔时间,0即立刻提交不等待 default.linger_ms_config = 10
#消费者
#来自采集服务的原始数据
source.nginx.topic = B2CDATA_COLLECTION3
#处理后的查询数据
source.query.topic = processedquery
#处理后的预订数据
source.book.topic = processedBook
#生产者
#推送查询数据
target.query.topic m processedquery
6、Zookeeper
#zookeeper配置
#zookeeper服务器地址与端口,多个逗号隔开
zkHosts=192.168.100.100:2181,192.168.100.110:2181,192.168.100.120:2181
dataprocess.zkPath=/kafka-data-process
rulecompute.antispider.zkPath=/kafka-rulecompute-antispider
rulecompute.antioccupied.zkPath=/kafka-rulecompute-antioccupied
二、工具类
在common中有很多本项目用到的bean,有解析规则类、预定数据请求解析结果类、查询请求参数类、流程类、规则配置
在util中database的c3p0里,创建了连接池。
Querydb
object QueryDB {
def queryData(sql: string,field:string):ArrayBuffer[String]={
val arr=new ArrayBuffer[String]()
val conn=c3p0util.getConnection
val ps conn.preparestatement(sol)
Val rs=ps.executeQuery()
while (rs.next()){
arr.+=(rs.getstring(field))
}
c3p0uti1.close(conn,ps,rs)
arr
)
}
Jedis 可以用作哨兵集群连接单例对象、集群连接单例对象、创建 jedis 集群、创建连接池、获取对象等等
Propertiesutil 用来读取配置文件里的信息,需要key参数、proname 配置文件名称、getstringbykey 等。