- 博客(15)
- 收藏
- 关注
原创 Hadoop NameNode格式化
前言格式化NameNode后集群的数据会全部丢失,格式化之前需做好数据备份工作。格式化步骤格式化之前,首先需删除Hadoop系统日志,默认路径为${HADOOP_HOME}/logs。然后删除主节点目录以及数据节点目录,默认路径分别为${hadoop.tmp.dir}/dfs/name和${hadoop.tmp.dir}/dfs/data。hadoop.tmp.dir默认值是/tmp/hadoop-${user.name},可以在core-site.xml配置文件中的hadoop.tmp.dir属
2022-01-19 20:08:52 10881
原创 Zookeeper分布式锁原理
前言Zookeeper可能会同时被多个线程访问,这样会造成资源管理的混乱,所以就需要锁。由于是在分布式环境下,所以叫分布式锁。只有拿到分布式锁的客户端才可以访问处理Zookeeper上的资源。分布式锁的原理当线程访问Zookeeper时,会创建一个临时顺序节点。在Zookeeper中,顺序节点的名字后缀会被加上编号,从零开始顺序叠加。此时判断创建的这个节点编号是不是当前最小的,如果是,则表示获取到了锁,然后执行相应的任务。如果不是最小的,则进入等待通知的状态,并监听(listen)或监视(wat
2022-01-13 22:48:47 874
转载 Apriori算法和FP Tree算法原理(转载)
这两篇文章写得很不错:Apriori算法原理:https://www.cnblogs.com/pinard/p/6293298.htmlFP Tree算法原理:https://www.cnblogs.com/pinard/p/6307064.html
2022-01-11 21:56:02 248
原创 ZooKeeper选举机制
前言ZooKeeper集群里有一个Leader和若干个follower。当一台服务器初始化启动或集群中的Leader挂掉时,会发生选举。相关概念SID:服务器的ID。服务器初始化启动时是根据比较SID来进行选举的。ZXID:事务ID。用来标识一次服务器状态的变更。在某一时刻,集群中每台服务器的ZXID值不一定相同,这和Zookeeper服务器对客户端的更新请求的处理逻辑有关。ZXID值越大说明数据越新。Epoch:投票的次数(逻辑时钟),服务器每投完一次票,Epoch这个值就会增加。初始化启动选
2022-01-11 16:58:54 844
原创 Python实现朴素贝叶斯(Naive Bayesian algorithm)
前言本文使用Python实现了Naive Bayesian分类算法,但只适用于连续性特征值,以后有时间再将离散型的进行补充。此外,对于连续性特征值,本文处理的方式是假设这些特征值服从正态分布,计算每一列特征值的均值和方差,从而得到他们的正态分布概率密度,通过概率密度就可以大致计算每个值对应的条件概率,然后就能得到数据成为某个标签的概率,然后选择对应概率最大的那个标签作为分类结果。本文使用的数据集为iris。1. 导入所需包import pandas as pdimport numpy as npf
2022-01-05 21:18:53 2063
原创 Python实现Decision Tree
前言这篇文章是我用Python对Decision Tree的简单实现,不包含剪枝功能。另外,这个Decision Tree只适用于连续性特征值,离散型的以后有机会再补充。数据集为iris。1. 导入所需包import numpy as npimport pandas as pdfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_split2. 加载数据iris = load
2022-01-05 20:57:21 1682 1
原创 单个Linux主机部署多个Tomcat
1. 复制Tomcat首先在主机上将原先的Tomcat目录复制一份。2. 配置环境变量Tomcat在启动时会通过环境变量来查找Tomcat安装目录,所以我们需要重新配置这些变量。在/etc/profile文件中,添加如下变量:保存后用source /etc/profile使其生效。3. 修改catalina.sh脚本文件在tomcat-7070的bin目录下的(不包括tomcat-8080)catalina.sh中的第113行下面添加如下命令:4. 修改server.xml文件在tom
2021-12-14 20:29:01 217
原创 Linux ssh免密登录
前言在对远程服务器进行交互时,不免需要输入密码才能完成任务。如果只是仅仅几台服务器还好,但如果有上千台服务器需要自动化运维和统一管理的话,为每一台都输入密码将会是不可取的。因此,免密登录至关重要。1. 生成公钥私钥对使用ssh-kengen命令在本地生成公钥私钥对,一路回车。公钥私钥对在~/.ssh/里。其中id_rsa为私钥,id_rsa.pub为公钥。2. 复制公钥到远程主机使用ssh-copy-id -i 本地公钥文件 用户@主机名将公钥复制到远程主机。输入远程主机用户密码后公钥就被添加
2021-12-12 00:03:02 340
原创 Java多线程之等待唤醒机制
前言当多个线程处理同一资源时,如果这些线程完成的任务不同,我们可能会需要让这些线程以一定规律来处理这一资源。对于这个需求,Java提供了等待唤醒机制来让多个线程协调运行。wait(),notify()和notifyAll()等待唤醒机制顾名思义就是使线程进入等待状态或唤醒等待状态下的线程。使用wait()方法可以让所属锁的当前线程进入wait set中,变为等待状态,并且释放所属锁,使得锁对象对应的其他线程获得此锁来执行相应的任务;而notify()方法可以唤醒锁对象对应的等待状态下的某个线程,让它重
2021-12-10 22:35:22 832
原创 Linux的分区与文件系统
分区分区就是将磁盘分成多个块,每个块的信息存储在硬盘分区表中,记录了分区从硬盘的哪里开始与哪里结束。我们可以将信息储存在这些块中。文件系统而文件系统一般存在于分区当中,其目的是告诉操作系统该如何如何对磁盘进行读写操作。文件系统的实质是逻辑代码。这些代码会告诉操作系统把文件放在分区的哪里,怎么放。因为文件的大小不同,所以存储文件的方式会影响分区的读写效率与空间利用率,而文件系统就是要设计一些规则来提高他们。除了硬盘,内存也有文件系统,如tmpfs。由于文件系统种类颇多,而操作系统希望对用户提供一个统一
2021-12-04 19:57:38 1306
原创 Hadoop MapReduce shuffle 学习笔记
概述MapReduce的shuffle过程分别发生在Map端与Reduce端。Map端MapTask首先对每个被map()函数处理的键值对进行分区(默认为HashPartitioner),然后将分区后的键值对写入到环形内存缓冲区。缓冲区本质上是一个字节数组,包含数据和索引。索引中包含每个键值对数据的分区等信息。环形内存缓冲区的大小默认是100M。若缓冲区的内容达到阈值(默认为缓冲区大小的80%),则会执行溢出(spill)操作。在溢出之前,缓冲区会根据partition和key对键值对进行排序(
2021-11-23 22:22:45 828
原创 支持向量机原理(Support Vector Machine)学习笔记
支持向量机(Support Vector Machine)学习笔记前言1. SVM算法原理2. 硬间隔(Hard margin)SVM前言支持向量机(SVM)是以监督学习训练出来的二元分类模型,目的是将带有未知标签的数据进行合理分类。1. SVM算法原理假设当前数据的类别为两类,并且是线性可分的,此时我们可以找到一个超平面,使两类数据分隔开。(下面以二维数据举例)从图中可以看到,使两类数据分隔开的超平面可以有无数条,但显然粉色和绿色超平面不是那么合适,而黑色超平面则要好很多。那么如何找到像黑色超
2021-02-16 20:29:59 721 3
原创 线性回归的正规方程推导
线性回归的正规方程推导参考资料除了梯度下降法,我们还可以用正规方程法来求线性回归模型。设样本数量为mmm,每个样本有nnn个特征,线性回归模型hθ(x)h_\theta(x)hθ(x)为:hθ(x)=θ0x0+θ1x1+θ2x2+⋯+θnxn=θTxh_\theta(x) = \theta_0x_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n=\theta^Txhθ(x)=θ0x0+θ1x1+θ2x2+⋯+θnxn=θTx其中每个样本数据
2020-12-13 19:29:23 819
原创 马氏距离(Mahalanobis Distance)学习笔记
马氏距离(Mahalanobis Distance)学习笔记前言1. 马氏距离的概述2. 马氏距离的理解前言马氏距离(Mahalanobis Distance)同我们熟悉的欧氏距离一样是为了度量数据间的差别。但当数据各个维度的变量分布不同并具有线性相关性时,欧氏距离并不能有效地度量出数据间的真实差别,而马氏距离可以解决这个问题。1. 马氏距离的概述马氏距离表示点与一个分布之间的距离。通过计算不同点到一个分布之间的马氏距离,我们可以比较这些点与分布间的相似程度,从而能够辅助推测这些点是否属于该分布。
2020-12-07 19:07:33 3382
原创 主成分分析(PCA) 学习笔记
主成分分析(PCA) 学习笔记前言1. PCA原理功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言主成分分析(Principal Components Analysis)是一种常用的对高维数据降维的方法。通过PCA,我们可以
2020-12-01 09:57:11 741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人