再见少年拉满弓,不惧岁月不惧风

Python 获取网页动态加载的URL

说明 网页在渲染的过程可能视情况会加载到其他的资源,比如加载css,js,其它接口的数据。有些时候,我们需要获取到网页在加载过程中的 url 和相关的资源情况。一个办法就是通过浏览器的 network 去人为查看和操作,还有一个方法就是使用 Python + Selenium + WebDriver,由程序自动地获取到相关的 url 。此篇文章用于记录经过本地测试已实现的代码,仅供参考。 版本说明 python == 3.9 selenium == 4.14.0 selenium-wire == 5.1.0 webdriver-manager == 4.0.1 Python 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 from seleniumwire import webdriver from selenium.

macOS M1 安装 Hadoop 环境

说明 在软件开发过程中,有时为了便于测试和开发,需要在本地安装一个 Hadoop 环境。本文档详细记录了我在本机环境下安装 Hadoop 3.3.6 的过程,以供后续参考和与他人分享。需要特别强调的是,此安装过程不包含 Zookeeper 配置和多节点设置,也不适用于高可用性的生产环境。 依赖环境 1、安装 Java 8 请参考《macOS M1 安装多个不同版本的 Java 环境》,或网上的其他资料。 2、设置远程登录 2.1、打开远程登录 在系统设置搜索"Remote login" 2.2、如果没有创建过 ssh 的 key, 生成ssh key 1 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 2.3、添加至authorized_keys 1 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 2.4、给文件授予权限 1 $ chmod 0600 ~/.ssh/id_rsa.pub 2.5、测试 1 $ ssh localhost 安装 Hadoop 1、下载 1.1、Hadoop官网 https://hadoop.apache.org/ 1.2、下载 当前最新的版本为 3.3.6,由于我的本地机器环境为 macOS M1 ,因此需下载 binary-aarch64,目前的下载地址为:https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-aarch64.tar.gz 1.3、解压 1 2 3 $ sudo tar xzvf ~/Downloads/hadoop-3.

macOS M1 安装多个不同版本的 Java 环境

说明 在某些情况下,需要使用不同版本的 Java。例如,Hadoop 2 仅支持 Java 8,因此需要安装多个不同版本的 Java,并在需要时轻松切换到特定的 Java 版本。 安装 添加第三方仓库 1 $ brew tap homebrew/cask-versions 安装 Java 11 1 $ brew install --cask temurin11 安装 Java 8 1 $ brew install --cask temurin8 安装 jEnv 1 2 3 4 $ brew install jenv $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc $ echo 'eval "$(jenv init -)"' >> ~/.zshrc 配置 开启 export 插件 不开的话,JAVA_HOME可能设置不成功。 1 $ jenv enable-plugin export 增加 Java 11 1 $ jenv add /Library/Java/JavaVirtualMachines/temurin-11.

Vector 调研测试同步至 MinIO

前言 继续接着《Vector 调研测试之环境安装》,本文旨在记录对 Vector 写入 MinIO 的功能性测试是否能够满足广泛的需求,以期能够为他人提供有用的参考和帮助。 准确工作 新建 Kafka Topic 1 kafka-topics -–create -–bootstrap-server kafka-1:9092 -–replication-factor 1 -–partitions 6 -–topic bigdata-data-v1 查看 Kafka Topic 1 kafka-topics --list --bootstrap-server kafka-1:9092 测试数据 测试数据来源 https://www.kaggle.com/datasets/eliasdabbas/web-server-access-logs 测试数据Demo 1 2 3 4 5 6 54.36.149.41 - - [22/Jan/2019:03:56:14 +0330] "GET /filter/27|13%20%D9%85%DA%AF%D8%A7%D9%BE%DB%8C%DA%A9%D8%B3%D9%84,27|%DA%A9%D9%85%D8%AA%D8%B1%20%D8%A7%D8%B2%205%20%D9%85%DA%AF%D8%A7%D9%BE%DB%8C%DA%A9%D8%B3%D9%84,p53 HTTP/1.1" 200 30577 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)" "-" 31.56.96.51 - - [22/Jan/2019:03:56:16 +0330] "GET /image/60844/productModel/200x200 HTTP/1.1" 200 5667 "https://www.zanbil.ir/m/filter/b113" "Mozilla/5.0 (Linux; Android 6.

Vector 调研测试同步至 ElasticSearch

前言 继续接着《Vector 调研测试之环境安装》,本文旨在记录对Vector写入Elasticsearch的功能性测试是否能够满足广泛的需求,以期能够为他人提供有用的参考和帮助。 准确工作 新建 Kafka Topic 1 kafka-topics -–create -–bootstrap-server kafka-1:9092 -–replication-factor 1 -–partitions 6 -–topic bigdata-data-v1 查看 Kafka Topic 1 kafka-topics --list --bootstrap-server kafka-1:9092 测试数据 测试数据来源 https://www.kaggle.com/datasets/eliasdabbas/web-server-access-logs 测试数据Demo 1 2 3 4 5 6 54.36.149.41 - - [22/Jan/2019:03:56:14 +0330] "GET /filter/27|13%20%D9%85%DA%AF%D8%A7%D9%BE%DB%8C%DA%A9%D8%B3%D9%84,27|%DA%A9%D9%85%D8%AA%D8%B1%20%D8%A7%D8%B2%205%20%D9%85%DA%AF%D8%A7%D9%BE%DB%8C%DA%A9%D8%B3%D9%84,p53 HTTP/1.1" 200 30577 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)" "-" 31.56.96.51 - - [22/Jan/2019:03:56:16 +0330] "GET /image/60844/productModel/200x200 HTTP/1.1" 200 5667 "https://www.zanbil.ir/m/filter/b113" "Mozilla/5.0 (Linux; Android 6.0; ALE-L21 Build/HuaweiALE-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.

Vector 调研测试之环境安装

前言 在以往的工作经历中,曾经使用过 Filebeat、LogStash、Flume-NG 等工具来进行日志的收集、转换、过滤和路由,最终将日志保存到相应的存储系统中。例如,使用过 Flume-NG 来从 Kafka 消费数据,并将其保存到 HDFS或对象存储中,以便进行大数据计算和处理。还使用过 LogStash 来从 Kafka 消费数据,然后按天分索引保存到 Elasticsearch 中,以便进行便捷的查询操作。 然而,我个人觉得 Flume-NG 和 LogStash 虽然功能强大,但也存在一些不足之处。它们相对复杂,依赖于 JVM 的运行环境,而且内存占用较高。 因此,我对 Vector 产生了兴趣。Vector 是用 Rust 语言开发的,具有内存安全性和出色的性能。我在本地环境进行了一些简单的测试,测试的假设场景类似于用 Flume-NG 将数据写入对象存储系统和用 LogStash 将数据写入 Elasticsearch 的情况。 为了保持测试的完整性,我重新安装了所有必要的组件,并记录了本地安装过程以及着重介绍一下 Vector 。我希望这些记录对其他人在类似情况下的优化和迁移决策有所帮助。 架构图 环境说明 操作系统 Apple M1 Pro Ubuntu 22.04.3 LTS Vector vector 0.32.1 (aarch64-unknown-linux-gnu 9965884 2023-08-21 14:52:38.330227446) Kafka stable 3.5.1 (bottled) ElasticSearch 7.17.4 Kibana 7.17.4 MinIO stable RELEASE.2023-09-07T02-05-02Z IP地址说明 Vector 的机器IP为:10.211.55.3 除 Vector 之外的机器IP为:192.168.31.37
0%