zoukankan      html  css  js  c++  java
  • 反爬虫中技术点的定义

    spark

      ./sbin/start-all.sh

      ./sbin/start-history-server.sh     

      web-ui: master:8080

    redis

      是一个开源、高效的Key-value非关系型数据库

      单机版:启动服务  ./redis-server redis.conf

      启动服务器:./start-all.sh

      创建集群服务器./redis-trib.rb create --replicas 1 192.168.139.200:7001 192.168.139.200:7002 192.168.139.200:7003 192.168.139.200:7004 192.168.139.200:7005  192.168.139.200:7006

      启动客户端:../bin/redis-cli -h 192.168.139.200 -p 7001 -c

      在集群中:cluster nodes查看所有节点的情况,   set key,get key ,例如:set s1 111 ,get s1

    kafka

      是一个分布式的,容错的,高效的消息通到。主要用于做实时的数据流、构建实时应用等。

      设计目标:为处理实时数据提供一个统一、高吞吐量、低延迟的平台。

      kafka是一个分布式消息队列:生产者、消费者的功能。

      启动:先保证zk集群启动

       

      再启动kafka

      [root@hadoop01 kafka_2.11-1.1.1]# nohup ./bin/kafka-server-start.sh ./config/server.properties > /zj/log/kafka.log 2>&1 &
      [root@hadoop02 kafka_2.11-1.1.1]# nohup ./bin/kafka-server-start.sh ./config/server.properties > /zj/log/kafka.log 2>&1 &
      [root@hadoop03 kafka_2.11-1.1.1]# nohup ./bin/kafka-server-start.sh ./config/server.properties > /zj/log/kafka.log 2>&1 &
      关闭:./bin/kafka-server-stop.sh
     
      
    查看当前服务器中的所有topic
    /opt/apps/kafka/bin/kafka-topics.sh --list --zookeeper master:2181
    创建topic
    /opt/apps/kafka/bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic nginxdata1906
    删除topic
    /opt/apps/kafka/bin/kafka-topics.sh --delete --zookeeper master:2181 --topic nginxdata1906
    需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
    通过shell消费消息
    /opt/apps/kafka/bin/kafka-console-consumer.sh --zookeeper master:2181 --from-beginning --topic nginxdata1906
    通过shell命令发送消息
    /opt/apps/kafka/bin/kafka-console-producer.sh --broker-list master:9092 --topic nginxdata1906
      
      组成:
      Broker(代理): Kafka 节点,一个 Kafka 节点就是一个 broker,多个 broker 可以组成一个 Kafka 集群,每一个broker可以有多个topic。(一个虚拟机对应一个Broker)
      Producer(生产者): 生产 message (数据)发送到 topic。
      Consumer(消费者): 订阅 topic 消费 message,consumer 作为一个线程来消费。
      Consumer Group(消费组): 一个 Consumer Group 包含多个 consumer,这个是预先在配置文件中配置好的。
      Topic(主题): 一种类别,每一条发送到kafka集群的消息都可以有一个类别,这个类别叫做topic,不同的消息会进行分开存储,如果topic很大,可以分布到多个broker上,例如 page view 日志、click 日志
      等都可以以 topic的形式存在,Kafka 集群能够同时负责多个 topic 的分发。也可以这样理解:topic被认为是一个队列,每一条消息都必须指定它的topic,可以说我们需要明确把消息放入哪一个队列。
      Partition(分区): topic 物理上的分组,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列。
      Replicas(副本): 每一个分区,根据副本因子N,会有N个副本。比如在broker1上有一个topic,分区为topic-1, 副本因子为2,那么在两个broker的数据目录里,就都有一个topic-1,其中一个是leader,一个replicas。
      Segment: partition 物理上由多个 segment 组成,每个 Segment 存着 message 信息。

       四大核心API

      Producer API(生产者API)允许一个应用程序去推送流式记录到一个或者多个kafka的topic中。

      Consumer API(消费者API)允许一个应用程序去订阅消费一个或者多个主题,并处理生产给他们的流式记录。

      Streams API(流式API)允许应用程序作为一个流处理器,消费一个或多个主题的输入流,并生成一个或多个主题到输出流,从而有效地将输入流转换为输出流。

      Connector API(连接器API)允许构建和运行将Kafka主题连接到已经存在应用程序或数据系统的可重用生产者或消费者。例如,到关系数据库的连接器可能捕获对表的每个更改。

     HDFS

      遍历创建:hdfs dfs -mkdir -p  /csair/data/rule-black-list/

    processDate

      就是一个对象,一个类,可以封装多个字段,类似:

        

    spider-csair

      反爬虫脚本,当运行反爬虫脚本时,由于脚本中指定了(private static String basePath = "http://192.168.139.200:10086")访问的服务器为虚拟机上的Nginx服务器,当nginx接收到爬虫请求,然后会加载配置,当加载到Lua脚本文件的时候,Lua脚本文件内部写了对接kafka的相关代码,所以会将爬虫的一些信息发送到Kafka中。

    Streamingmonitor1906

      common:通用类,包含bean(对某些数据集中封装的对象),util(帮助类,工具类)

      dataprocess:处理数据管理的,包含businessprocess(不同需求对应不同方法都放在此包中),constants,launch(写对应的业务逻辑,由自己写)

      rulecompute:规则计算,用于实时处理的

    链路统计

      一个链路就是一个服务器,统计链路就是实时统计nginx服务器的数量

      每天统计的结果处理完成后,先存储在redis当中,接下来用web端同步到mysql中,并且进行前端页面的展示,redis的数据设置的过期时间,会自动清楚当天的数据。

      为了区分不同天数的链路对应的数据,在存入redis时需要将server_addr加时间戳

      活跃连接数:首先需要在lua脚本里的数据拼接ngx.var.connections_active

      活跃连接数统计过程:(server_addr, connections_active )       服务器地址和数量

      由于每次connection_active记录的都是最后一个,所以

      

         .reduceByKey((x,y)=>y)就是不断循环取每个key里最后的那个数,就是最大的数

    kafka的几个topic

    nginxdata1906:存放lua从nginx拿到数据,并将数据保存到kafka中的nginxdata1906这个topic中

    processedQuery:存放处理后的查询数据,

    processedBook:存放处理后的预定数据

     zookeeper的作用:

    分布式协调服务框架

  • 相关阅读:
    javascript与XML
    错误调试
    Js节点操作
    vue渲染时对象里面的对象的属性提示undefined,但渲染成功
    html5脚本编程
    用canvas把页面中所有元素的轮廓绘制出来
    HTTP的三次握手
    http协议的发展历史
    5层网络模型介绍
    http主要内容流程介绍
  • 原文地址:https://www.cnblogs.com/zqfdgzrc/p/12814572.html
Copyright © 2011-2022 走看看