关于 IntelliJ Maven error: Repository is non-nexus repo, or is not indexed (remote update error) 的问题
今天用IDEA maven导入github上一个项目的包,报了无法解析该依赖的错误
查看 File | Settings | Build, Execution, Deployment | Build Tools | Maven | Repositories 发现(remote updated error)无法更新远程库,报错信息是IntelliJ Maven error: Repository is non-nexus repo, or is not indexed
在互联网上找了很久的解决方案,最后看到一个博客 Maven 配置遇到的问题Remote Update Error,发现原因是我的maven配置了阿里巴巴的镜像源,解决办法如下:
将maven文件中conf/settings.xml中的镜像配置注释掉
reload maven,然后等待几分钟
问题解决,回到settings.xml中取消注释
参考博客:
关于idea maven remote update error的问题 - 简书 (jianshu.com)
Maven 配置遇到的问题Remote Upd ...
Zookeeper学习笔记
概述
开源的分布式服务框架
为其他框架稳定运行提供服务
统一命名服务(Dubbo)、分布式配置管理(Solr)、分布式消息队列(pub / sub)、分布式锁、分布式协调管理等
结构设计
主从架构(leader / follower),一个领导者,多个跟随者
集群中有半数以上节点存活,ZK集群就能正常服务
特点
全局数据一致
更新请求顺序进行
数据更新原子性
实时性
Leader
事物请求(写操作)的唯一调度和处理者
Follower
处理非事物(读操作)请求,转发事物请求给Leader
参与集群Leader选举投票
数据模型
与标准文件系统类似,采用树形结构,每个节点称之为Znode,根节点为 /
Znode兼具文件夹和文件的特点,既可以存储数据(data),也可以有子Znode(children)
Znode具有原子性操作
Znode存储数据大小至多为1M
Znode通过路径进行引用,必须是绝对路径
Znode的节点类型
临时节点
永久节点
序列化节点:给指定节点增加序列号
Leader选举机制Zookeeper选举机制有几种类型? - ...
GitHub+Hexo搭建个人博客
GitHub创建个人仓库仓库名必须为:用户名.github.io
搭建博客需要的工具GitNode.jsnodejs安装及环境配置
Hexo1npm install hexo-cli -g
遇到的坑:安装完hexo之后,运行hexo -v命令,提示:bash:hexo:command not found
解决办法:完美解决 bash: hexo: command not found
生成SSH Keys1ssh-keygen -t rsa -C "GitHub注册邮箱"
找到 C:\Users\当前用户\ .ssh文件夹中的id_rsa.pub密钥
将密钥内容复制到GitHub_Settings_SSH and GPG keys中的SSH keys中
测试SSH是否绑定成功
1ssh -T git@github.com
在本地创建仓库本地新建一个博客文件夹
在博客文件夹中打开git bash
123hexo init #初始化hexonpm install hexo-server --save #安装hexo-serverhexo s #启动server
本 ...
搭建ES集群
需要用到ES,先搭建个集群,版本7.4.0
参考:Linux搭建es集群详细教程(最终版)_es集群搭建_Nick丶Xi
遇到的坑按照上面博客修改了配置文件却不管用
解决方案切换到root用户,执行以下命令
123su rootulimit -n 65535sysctl -w vm.max_map_count=262144
然后查看对应端口的信息,我的是bigdata01:9200/_cat/health?v
可以看到node.total为3
集群搭建成功!
ElasticSearch学习笔记
简介ES是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时地存储、检索数据
ELK(ES + logstash + kibana)
基本概念
索引(index):类似于关系型数据库中的库,是存储数据的地方。一个索引可以包含多个类型(type)。
类型(type):类似于关系型数据库中的表,是定义数据结构的地方。一个类型可以包含多个文档(document)。(ES 8.0 版本弃用这个概念)
文档(document):类似于关系型数据库中的行,是存储具体数据的地方。一个文档可以包含多个字段(field)。
字段(field):类似于关系型数据库中的列,是定义数据属性的地方。一个字段可以有不同的类型,如字符串、数字、日期等。
映射(mapping):类似于关系型数据库中的表结构定义,是定义字段类型和属性的地方。映射可以在创建索引时指定,也可以在创建文档时自动推断。
分片(shard):是索引分片,ES可以把一个完整的索引分成多个分片,分布到不同的节点上,提高系统性能和可扩展性。
副本(replica):是索引副本,ES可以设置多个索引的副本,提高系统容错性和可用性。
ES为什么快El ...
Kaggle练习:Spark房价预测
写在前面数据集:House Prices - Advanced Regression Techniques | Kaggle
参考:零基础入门 Spark (geekbang.org)
具体实现特征工程1. 读取数据123456789val rootPath: String = _val filePath: String = s"$rootPath/train.csv"// 读取文件,创建DataFrameval spark = SparkSession .builder() .appName("sparkdf") .master("local[*]") .getOrCreate()var df: DataFrame = spark.read.format("csv").option("header", value = true).load(filePath)
2. 数据分类 为了提升数据的区分度,对部分字段采用离散化处理,所以要事先分配好需要离散化的字段
12345678 ...
Spark学习笔记
看的是极客时间的课同时结合官网
Overview - Spark 3.3.1 Documentation (apache.org)
零基础入门 Spark (geekbang.org)
基础知识01 Spark:从“大数据的Hello World”开始准备工作
IDEA安装Scala插件
构建Maven项目
pom.xml加入spark
1234567<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.2.0</version> </dependency></dependencies>
Word Count1. 读取内容123456val rootPath: String = "xx ...
计算机视觉作业
图像基础变换123456789101112131415161718192021222324252627282930import cv2import numpy as npimport matplotlib.pyplot as plt#读取img = plt.imread(r'C:\Users\86181\Desktop\CVLab\lab1\666.jpg')#平移rows,cols = img.shape[:2]M = np.float32([[1,0,100],[0,1,50]])move = cv2.warpAffine(img,M,(cols,rows))#缩小zoom = cv2.resize(img, (200, 200))#90度旋转M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1)revolve = cv2.warpAffine(img,M,(cols,rows))#翻转flip = cv2.flip(img,1)# 展示不同的图片titles = ['src','move ...
Flume学习笔记
Flume是什么Flume是一个分布式、可靠、高可用的海量日志采集、聚合和传输的工具
Flume的组件
source:数据源
sink:数据出口
channel:连接source和sink的组件,类似于一个队列,可以缓存和传输数据,Flume提供了两种内置的channel:Memory Channel和FileChannel
Flume的使用步骤
在conf目录下创建一个配置文件,定义source、channel和sink的类型和属性
启动flume agent,指定配置文件和agent名称
根据source类型,向flume发送数据,查看sink输出结果
配置文件的编写参考官方文档
Flume 1.11.0 User Guide — Apache Flumeflume可以同时配置多种source、sink和channel
Flume常用命令Flume常用的命令有以下几种:
flume-ng help:显示帮助信息。
flume-ng agent:启动一个Flume agent,需要指定配置文件和agent名称。
flume-ng version:显示Flume的版本信息。
这 ...
对于Scala函数式编程的理解
函数式编程思想
把计算过程看作是函数的组合和应用,而不是指令的执行。
把函数看作是一等公民,可以作为参数、返回值或数据结构。
避免使用可变对象和副作用,保持数据和行为的纯粹性。
使用高阶函数、递归、模式匹配等技巧来简化和抽象代码。
使用惰性求值、尾递归优化等方法来提高性能和内存效率。
使用可变对象的副作用假设我们有一个可变的列表,里面存放了一些数字:
1var numbers = List(1, 2, 3, 4)
然后我们定义了一个函数,它接受一个列表和一个函数作为参数,返回一个新的列表,其中每个元素都是用函数处理过的:
1234567def map(list: List[Int], f: Int => Int): List[Int] = { var result = List.empty[Int] for (n <- list) { result = result :+ f(n) } result}
这个函数看起来没有问题,但是如果我们传入的函数有副作用呢?比如这样一个函数,它会修改原来的列表:
1234def ...