-
ELK安装
2019-02-20 14:33:19ELK安装准备工作 机器全部安装jdk1.8,因为elasticsearch是java开发的 全部安装elasticsearch 主节点上需要安装kibana ELK版本信息: Elasticsearch-6.0.0 logstash-6.0.0 kibana-6.0.0 filebeat-6.0.0 ...ELK安装准备工作
机器全部安装jdk1.8,因为elasticsearch是java开发的 全部安装elasticsearch 主节点上需要安装kibana
ELK版本信息:
Elasticsearch-6.0.0 logstash-6.0.0 kibana-6.0.0 filebeat-6.0.0
首先安装elasticsearch
wget http://172.23.210.21:83/software/linux/elk/elasticsearch-6.0.0.rpm rpm -ivh elasticsearch-6.0.0.rpm
[root@harbor33-172-23-210-33 ~]# vim /etc/elasticsearch/elasticsearch.yml # 修改相关配置
cluster.name: harbor33-172-23-210-33 # 集群中的名称 node.name: harbor33-172-23-210-33 # 该节点名称 node.master: true # 意思是该节点为主节点 node.data: false # 表示这不是数据节点 network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip http.port: 9200 # es服务的端口号 discovery.zen.ping.unicast.hosts: ["172.23.210.33", "172.23.210.34", "172.23.210.35"] # 配置自动发现
将配置文件发送到其他机器上去 并修改相关参数
node.name: 172.23.210.34 node.master: false node.data: true
启动会报错,无法在环境变量中找到java可执行文件,做一个软链接过去即可
ln -s /usr/local/jdk1.8/bin/java /usr/bin/
主节点启动完成之后,再启动其他节点的es服务
systemctl start elasticsearch.service
查看es集群情况
curl '172.23.210.33:9200/_cluster/health?pretty'
查看集群的详细信息
curl '172.23.210.33:9200/_cluster/state?pretty'
安装kibana
wget http://172.23.210.21:83/software/linux/elk/kibana-6.0.0-x86_64.rpm rpm -ivh kibana-6.0.0-x86_64.rpm
[root@harbor33-172-23-210-33 ~]#vim /etc/kibana/kibana.yml # 修改相关配置
server.port: 5601 # 配置kibana的端口 server.host: 172.23.210.33 # 配置监听ip elasticsearch.url: "http://172.23.210.33:9200" # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip logging.dest: /var/log/kibana.log # 配置kibana的日志文件路径,不然默认是messages里记录日志
创建日志文件
touch /var/log/kibana.log; chmod 777 /var/log/kibana.log
启动kibana服务
systemctl start kibana
使用beats采集日志
wget http://172.23.210.21:83/software/linux/elk/filebeat-6.0.0-x86_64.rpm rpm -ivh filebeat-6.0.0-x86_64.rpm
[root@harbor33-172-23-210-33 ~]# vim /etc/filebeat/filebeat.yml #修改相关参数
filebeat.prospectors: hosts: ["172.23.210.30:9200"] index: "harbor33-%{+yyyy.MM.dd}" setup.template.name: "harbor33" setup.template.pattern: "harbor33-*" - type: log - /var/log/messages
启动filebeat服务
systemctl start filebeat
启动成功后,到es服务器上查看索引,可以看到新增了一个以filebeat-6.0.0开头的索引,这就代表filesbeat和es能够正常通信了:
[root@k8s-master30-172-23-210-30 src]# curl '172.23.210.30:9200/_cat/indices?v' health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open harbor33-2019.02.19 XuAiiiwtQ_mJDrmnR7VZTQ 3 1 425 0 267.1kb 136.4kb green open .kibana DX-2pnE6R3u_QdGHj0CmXw 1 1 5 0 97.5kb 48.7kb green open harbor33-2019.02.20 x_CQXJS0Q1KITr_G9LhGdg 3 1 475 0 381.1kb 167.5kb
es服务器能够正常获取到索引后,就可以到kibana上配置这个索引了:
配置完成之后就可以在 “Discover” 里进行查看访问日志数据了:
-
ELK 安装
2020-10-24 10:18:34ELK 安装 首先需要两台centos7的mini 配置: 2G 2内核 规划为: 链接:https://pan.baidu.com/s/1IcDfFTLVikJJ5ZyQU_k-sQ 提取码:bfd6 复制这段内容后打开百度网盘手机App,操作更方便哦 IP jdk kibana elasticsearch...ELK 安装
首先需要两台centos7的mini
配置: 2G 2内核
规划为:链接:https://pan.baidu.com/s/1IcDfFTLVikJJ5ZyQU_k-sQ
提取码:bfd6复制这段内容后打开百度网盘手机App,操作更方便哦
IP jdk kibana elasticsearchIP jdk logstash logstash用来收集日志
必须时间同步! ! !
1:关闭防火墙: systemctl stop firewalld; setenforce 0
2:时间同步: yum -y install ntpdate
ntpdate pool.ntp.org3:开始安装jdk jdk是前提 必须都要安装! !
链接里有elk的所有安装包
1 安装jdk
[root@localhost ELK]# rpm -ivh jdk-8u131-linux-x64_.rpm验证是否成功:
[root@localhost ELK]# java -version2 安装elasticsearch
[root@localhost ELK]# rpm -ivh elasticsearch-6.6.2.rpm主配置文件:elasticsearch.yml
[root@localhost elasticsearch]# pwd
/etc/elasticsearch[root@localhost elasticsearch]# cat elasticsearch.yml |grep -v “^#”
cluster.name: 自定义
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 本机IP
http.port: 92003 运行es服务:
systemctl enable elasticsearch
systemctl start elasticsearch验证服务是否正常运行:
[root@localhost elasticsearch]# tailf /var/log/elasticsearch/cluster.name.log4安装logstash
[root@localhost ELK]# rpm -ivh logstash-6.6.0.rpm5收集/var/log/messages日志 注意间距
[root@localhost conf.d]# pwd
/etc/logstash/conf.d[root@localhost conf.d]# cat msg.conf
input{
file{
path => “/var/log/messages”
type => ‘msg-log’
start_position => “beginning”
}
}output{
elasticsearch{
hosts => “IP:9200”
index => “msg_log-%{+YYYY.MM.dd}”
}
}6启动服务:
[root@localhost conf.d]# systemctl start logstash7验证端口:
netstat -lptnu|grep 96008验证索引index是否创建成功: 保证都是 [INFO]
root@localhost elasticsearch]# tailf /var/log/elasticsearch/cluster.name.log9 安装kibana
[root@localhost ELK]# rpm -ivh kibana-6.6.2-x86_64.rpm
[root@localhost kibana]# pwd
/etc/kibana
编辑配置文件:
[root@localhost kibana]# cat kibana.yml |grep -v ‘^#’|sed ‘/^$/d’
server.port: 5601
server.host: “IP”
elasticsearch.hosts: [“http://IP:9200”]10 开启并验证端口
[root@localhost kibana]# systemctl start kibana
[root@localhost kibana]# netstat -lptnu|grep 560111收集secure日志 编辑secure.conf
[root@localhost logstash]# cat /etc/logstash/conf.d/secure.conf
input{
file{
path => “/var/log/secure”
type => ‘sec-log’
start_position => “beginning”
}
}output{
elasticsearch{
hosts => “IP:9200”
index => “sec_log-%{+YYYY.MM.dd}”
}
}12注意测试
curl -X GET http://IP:9200/_cat/indices?v如果只有kibana的green 那应该是你logstash有问题 去给/var/log/message 权限
chmod 644 /var/log/message
-
elk安装
2019-12-21 17:05:081、安装配置java [root@elk ~]# yum install java-1.8.0-openjdk.x86_64 -y [root@elk ~]# java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-b04) OpenJDK 64-Bit ...1、安装配置java
[root@elk ~]# yum install java-1.8.0-openjdk.x86_64 -y [root@elk ~]# java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-b04) OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
2、更新时间
yum install ntpdate -y ntpdate time1.aliyun.com
3、安装配置elasticsearch
[root@elk ~]# mkdir elk_package [root@elk ~]# cd elk_package [root@elk elk_package]# ll -rw-r--r--. 1 root root 114059630 Dec 21 10:26 elasticsearch-6.6.0.rpm -rw-r--r--. 1 root root 185123116 Dec 21 10:26 kibana-6.6.0-x86_64.rpm [root@elk elk_package]# rpm -ivh elasticsearch-6.6.0.rpm warning: elasticsearch-6.6.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY Preparing... ################################# [100%] Creating elasticsearch group... OK Creating elasticsearch user... OK Updating / installing... 1:elasticsearch-0:6.6.0-1 ################################# [100%] ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service Created elasticsearch keystore in /etc/elasticsearch
4、相关配置目录及配置文件
[root@elk elk_package]# rpm -qc elasticsearch /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/jvm.options /etc/elasticsearch/log4j2.properties /etc/elasticsearch/role_mapping.yml /etc/elasticsearch/roles.yml /etc/elasticsearch/users /etc/elasticsearch/users_roles /etc/init.d/elasticsearch /etc/sysconfig/elasticsearch /usr/lib/sysctl.d/elasticsearch.conf /usr/lib/systemd/system/elasticsearch.service
5、ES配置文件(home目录下空间较大,把data和log文件配置在home目录下)
mkdir -p /home/elasticsearch/{data,log} chown -R elasticsearch.elasticsearch elasticsearch root@elk elk_package]# vim /etc/elasticsearch/elasticsearch.yml root@elk elk_package]# grep ^[a-z] /etc/elasticsearch/elasticsearch.yml node.name: node-1 path.data: /home/elasticsearch/data/elasticsearch path.logs: /home/elasticsearch/log/elasticsearch bootstrap.memory_lock: true network.host: 192.168.67.8,127.0.0.1 http.port: 9200 #配置指定内存值 vim /etc/elasticsearch/jvm.options [root@elk-175 soft]# systemctl daemon-reload [root@elk-175 soft]# systemctl enable elasticsearch.service Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
6、修改启动配置文件(注意解决锁定内存失败tail -f /var/log/elasticsearch/Linux.log)
vim /usr/lib/systemd/system/elasticsearch.service #增加如下参数 [Service] LimitMEMLOCK=infinity #重新启动 systemctl daemon-reload systemctl enable elasticsearch.service systemctl start elasticsearch systemctl status elasticsearch
7、检查启动是否成功
9200作为Http协议,主要用于外部通讯
9300作为Tcp协议,jar之间就是通过tcp协议通讯
ES集群之间是通过9300进行通讯[root@elk-175 ~]# netstat -lntup|grep 9200 tcp6 0 0 192.168.67.8:9200 :::* LISTEN 15824/java tcp6 0 0 127.0.0.1:9200 :::* LISTEN 15824/java [root@elk-175 ~]# curl localhost:9200 { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "As5ZlEQ2Syq0ktLL0hg5XA", "version" : { "number" : "6.6.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "a9861f4", "build_date" : "2019-01-24T11:27:09.439740Z", "build_snapshot" : false, "lucene_version" : "7.6.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
8、安装配置es-head插件
官方下载地址https://github.com/mobz/elasticsearch-head9、安装配置kibana
[root@elk elk_package]# mkdir -p /home/kibana/log [root@elk elk_package]# chown -R kibana.kibana /home/kibana [root@elk elk_package]# rpm -ivh kibana-6.6.0-x86_64.rpm [root@elk elk_package]# grep "^[a-z]" /etc/kibana/kibana.yml server.port: 5601 server.host: "192.168.67.8" elasticsearch.hosts: ["http://192.168.67.8:9200"] kibana.index: ".kibana" logging.dest: /home/kibana/log/kibana.log [root@elk elk_package]# systemctl daemon-reload [root@elk elk_package]# systemctl enable kibana.service [root@elk elk_package]# systemctl start kibana [root@elk elk_package]# systemctl status kibana [root@elk elk_package] netstat -lntup|grep 5601 tcp 0 0 192.168.67.8:5601 0.0.0.0:* LISTEN 16442/node
10、客户机安装filebeat
rpm -ivh filebeat-6.6.0-x86_64.rpm
11、配置filebeat
cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.ori
> /etc/filebeat/filebeat.yml
vim /etc/filebeat/filebeat.ymlfilebeat.inputs: - type: log enabled: true paths: - /home/qiutanlogs/apiinfo/apiinfo.log json.keys_under_root: true json.overwrite_keys: true tags: ["access"] - type: log enabled: true paths: - /home/qiutanlogs/apierror/apierror.log tags: ["error"] setup.kibana: host: "192.168.67.8:5601" output.elasticsearch: hosts: ["192.168.67.8:9200"] indices: - index: "apiinfo-access-%{[beat.version]}-%{+yyyy.MM.dd}" when.contains: tags: "access" - index: "apierror-error-%{[beat.version]}-%{+yyyy.MM.dd}" when.contains: tags: "error" setup.template.name: "nginx" setup.template.pattern: "nginx-*" setup.template.enabled: false setup.template.overwrite: true
11 启动
systemctl daemon-reload systemctl enable filebeat.service systemctl start filebeat
12 Kibana 启动不了故障
Kibana did not load properly. Check the server output for more information.
Kibana server is not ready yet
tail -f /home/kibana/log/kibana.log 查看日志提示
删除.kibana_1 and 重启kibana
启动不了提示400 500状态码
出现{"statusCode":400,"error":"Bad Request","message":"[illegal_argument_exception] application privileges must refer to at least one resource"}
在索引里删除kibana 相关索引,然后通过 重启 kibana 节点。
12.2 时间不同步故障:
tail -f /home/kibana/log/kibana.log 查看发现时间和现在的不同步。
12.3 file启动不了
systemctl status filebeat
提示 ● filebeat.service - Filebeat sends log files to Logstash or directly to Elasticsearch. Loaded: loaded (/usr/lib/systemd/system/filebeat.service; enabled; vendor preset: disabled) Active: failed (Result: start-limit) since Thu 2020-01-09 15:38:33 CST; 2s ago Docs: https://www.elastic.co/products/beats/filebeat Process: 44698 ExecStart=/usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat (code=exited, status=1/FAILURE) Main PID: 44698 (code=exited, status=1/FAILURE) Jan 09 15:38:33 localhost.localdomain systemd[1]: Unit filebeat.service entered failed state. Jan 09 15:38:33 localhost.localdomain systemd[1]: filebeat.service failed. Jan 09 15:38:33 localhost.localdomain systemd[1]: filebeat.service holdoff time over, scheduling restart. Jan 09 15:38:33 localhost.localdomain systemd[1]: start request repeated too quickly for filebeat.service Jan 09 15:38:33 localhost.localdomain systemd[1]: Failed to start Filebeat sends log files to Logstash or direc...ch.. Jan 09 15:38:33 localhost.localdomain systemd[1]: Unit filebeat.service entered failed state. Jan 09 15:38:33 localhost.localdomain systemd[1]: filebeat.service failed.
解决方法:
1 通过执行
/usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat
2 可以查看错误的提示行
Exiting: error loading config file: yaml: line 7: did not find expected key检查第7行附近,是否缺少标点符号,或标点符号有误,或者空格缩进有误。
3 重新查看
[root@localhost apiinfo]# systemctl stop filebeat
[root@localhost apiinfo]# systemctl start filebeat
[root@localhost apiinfo]# systemctl status filebeat12.4 Elasticsearch监控
1 节点状态 green
2 节点数量
curl -s -XGET 'http://localhost:9200/_cat/nodes?human&pretty' |wc -l
3 报警判断: 状态不是greep 或者 节点数(假设有3个节点)不是3
4 判断返回值,即如果返回值节点正常,如果有一个不为0,就不正常。
curl -s -XGET http://localhost:9200/
echo $?
如果正常结果为0
-
elk 安装
2018-07-28 19:19:45ELK 一、ElasticSearch 1、安装 下载:wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz 解压:tar -xzvf elasticsearch-5.2.2.tar.gz 修改配置文件:vi elastic...ELK
一、ElasticSearch
1、安装
- 下载:
wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz
- 解压:
tar -xzvf elasticsearch-5.2.2.tar.gz
- 修改配置文件:
vi elasticsearch.yml
cluster.name: my-application node.name: node-1 path.data: /data/home/elas/data path/logs: /data/home/elas/logs network.host: ip(机器ip) http.port: 9200
- 启动:
./bin/elasticsearch
2、常见报错
1、修改配置文件错误
- 错误信息:
Failed to load settings from ....,nested: MarkedYAMLException[while scanning a simple key
- 错误原因:配置文件中的”:”后面要有一个空格
- 解决办法:修改配置文件
2、max_map_count错误
- 错误信息:
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
- 错误原因:
/etc/sysctl.conf
文件中的值过小 - 解决办法:在root用户下方可更改,在配置文件中加入
vm.max_map_count=655360
- 使其生效命令:
sysctl -p
3、系统最大打开文件数
- 错误信息:
max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
- 错误原因:系统打开文件数受限,
/etc/security/limits.conf
- 解决办法:在root用户下,
vi /etc/security/limits.conf //*代表所有用户,可更换为只指定自己需要的用户 * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536
要使其生效还必须修改elasticsearch的配置文件.
vi ./elasticsearch.yml discovery.zen.ping.unicast.hosts: ["ip"] discovery.zen.minimum_master_nodes: 3
- 使其生效:退出当前用户:
logout
,重新登录就生效了.
4、系统版本问题
- 错误信息:
ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk - 错误原因:这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
- 解决办法:
vi ./elasticsearch.yml bootstrap.memory_lock: false bootstrap.system_call_filter: false
5、访问elasticsearch的url报503错误
- 错误:请求URL报503错误
- 错误原因:elasticsearch中没有index,可以理解为没有数据库
- 解决办法:添加index
//创建一个名为customer的index curl -XPUT 'localhost:9200/customer?pretty&pretty'
6、最大线程数
- 错误信息:
max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
- 解决办法:要有root权限,
vi /etc/security/limits.d/90-nproc.conf
- 修改:
* soft nproc 2048
- 生效:用户退出,重连就生效了
参考:http://blog.csdn.net/cardinalzbk/article/details/54924511
二、LogStach
1、安装
- 下载:
wget -c https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz
- 解压:
tar -xzvf logstash-5.2.2.tar.gz
- 修该配置文件:
//新建的配置文件:log4j_to_es.conf input { log4j{ mode => "server" host => "ip" #when mode is server,listen this host,when mode is client ,client this host port => "4567" } } filter { } output{ elasticsearch{ action => "index" hosts => ["ip:9200"] #eleasticsearch host,can be array,when model is cluster index =>"applog" } }
- 启动:
./bin/logstash -f ./config/log4j_to_es.conf
三、Kibana
1、安装
- 下载:
wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz
- 解压:
tar -xzvf kibana-5.2.2-linux-x86_64.tar.gz
- 配置文件:
server.port: 5601 server.host: "ip" elasticsearch.url: "http://ip:9200" kibana.index: ".kibana"
- 启动:
./bin/kibana
//启动成功信息 [listening] Server running at http://ip:5601
四、安装x-pakc插件
eleasticsearch版本必须是5.0以上
x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,也是官方推荐的。
1、elasticsearch
- 进入elasticsearch:
bin/elasticsearch-plugin install x-pack
- 配置elasticsearch.yml:
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*
- 启动
2、kianda
- 下载:
bin/kibana-plugin install x-pack
比较耗时,请耐心等待 - 启动
运行:浏览器输入
http://ip:5601/
,此时需要输入用户名和密码,默认用户名是elastic
,密码changeme
卸载插件:
bin/elasticsearch-plugin install x-pack bin/elasticsearch-plugin remove x-pack bin/kibana-plugin install x-pack bin/kibana-plugin remove x-pack
- 下载:
-
ELK 安装文档
2018-12-18 15:37:42详细的ELK安装文档,轻松搞定日志监控。快点入手吧! -
ELK 安装Beat
2019-09-29 00:58:12ELK 安装Elasticsearch ELK 安装Kibana ELK 安装Beat ELK 安装Logstash Beat是数据采集工具,安装在服务器上,将采集到的数据发送给Elasticsearch。Beat可以直接将数据发送到Elasticsearch,也可以先发送给... -
ELK 安装Logstash
2019-09-29 00:58:11ELK 安装Elasticsearch ELK 安装Kibana ELK 安装Beat ELK 安装Logstash ELK中,Logstash不是必须安装的。 Logstash是一个功能强大的工具,提供了大量的插件,用于解析、加工各种来自数据源的数据。如果Beat采集的... -
ELK 安装Kibana
2019-08-29 15:45:29ELK 安装Elasticsearch ELK 安装Kibana ELK 安装Beat ELK 安装Logstash Kibana是与Elasticsearch搭配使用的界面组件,可以使用Kibana搜索、查看Elasticsearch中的数据,可以使用Kibana轻松地进行各种复杂的数据... -
ELK 安装Elasticsearch
2019-09-29 00:58:10ELK 安装Elasticsearch ELK 安装Kibana ELK 安装Beat ELK 安装Logstash ELK栈要安装以下开源组件: Elasticsearch Kibana Beats Logstash (可选) Logstash是可选的。 安装Elasticsearch Elasticsearch是一个近...
-
SDVideoCamera:仿抖音(视频录制、视频剪辑、视频合成)
-
2021-01-24
-
JavaFX:项目实战——贪吃蛇
-
项目范围管理论文-高项.docx
-
国土空间规划形势下的村庄规划-南靖县船场镇集星村(2019-3035).pdf
-
GCJ2gps.bas
-
SDScan:Flutter二维码扫描界面太丑?看这里就够了。
-
EasyX图形库__C语言__贪吃蛇核心代码
-
php 处理XML数据simplexml_load_string使用实例
-
flutter插件调用APP页面、使用原生aar,framework库
-
Pytorch学习笔记之模型的创建
-
【数据分析-随到随学】Hadoop数据分析
-
毕业设计+课程设计(百题大全三:基于php+mysql的图书管理系统的设计与实现)
-
三维地图GIS大数据可视化
-
python 通过字典实现的并查集按秩合并(并查集merge中size的优化) 解释及模板
-
Java内省与反射
-
Xdebug helper.zip
-
ACDSee.exe
-
仿Spy++ 将DLL代码注入EXE的三种方法.zip
-
小米平板3维修PCB位置图(PDF格式)