自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eyoulc123的博客

记录学习的脚步

  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 人工智能介绍

前一段时间,想做一个文本相似性的系统,用于比对两个句子的相似性,因此接触了一下机器学习。其中主要是看李宏毅老师的机器学习视频课程。但是机器学习太过于复杂,对于我来说,我估计还没有入门,只是看到机器学习这个大殿。这篇文章,是对我之前学习的一个总结,也是我对于机器学习的一个理解。如果大家要系统的学习,建议看一下李宏毅老师的机器学习课程视频。

2022-10-21 18:28:36 3227 2

原创 HBase 源码分析 -- 创建Table表

1. 客户端客户端的代码如下:public class CreateTable { public static void main(String[] args) throws IOException, ServiceException { // new一个配置对象 Configuration conf = HBaseConfiguration.create(); Connecti...

2019-01-18 11:21:26 1601

原创 Storm2.0源码分析 -- 消息分发

主函数的处理程序在main函数中,会设置spout, bolt的分发方式。 其代码如下:builder.setBolt("word-normalizer", new WordNormalizerBolt(), 1) .shuffleGrouping("word-reader");查看shuffleGrouping的代码,可以跟踪到:publi...

2018-08-06 19:29:45 676

原创 Storm2.0 源码分析-- 任务提交

1. 整体说明整个代码分析是在storm-2.0的基础上面。 整个过程可以分为5步: 1. 用户执行storm jar的命令提交任务到Nimbus上面 2. Nimbus的定时线程查看是否有需要运行的任务 3. 当有任务时,发送消息到Supervisor 4. 启动一个logWriter进程 5. LogWriter启动实际的Worker进程2. 任务提交用户的任务都...

2018-08-06 19:19:45 791

原创 大数据权限管理利器 - Ranger

1. 介绍Ranger是HDP体系统中安全管理的重要一环。它提供了具体资源(如HBase中的具体表)权限管控、访问监控、数据加密的功能。2. 组件介绍2.1 整体说明Raner是由三个部分组件:Ranger Admin 、Ranger Usersync 与Ranger plugin,它们关系如下: 在Ranger的官网中有对于这三个组件的说明 组件名称 ...

2018-03-01 17:26:57 26333 1

原创 Kerberos环境下的hadoop fs 代码走读

1. 前言比较Kerberos与非Kerberos的hadoop环境配置,在配置文件上面来说,它们差别不是太大,主要是在core-site.xml中,但是hadoop到底是如何读取这些配置文件以及如何进行kerberos校验,这一块比较模糊,这两天仔细将这一块代码走读一遍,记录下来。2. 代码分析对于kerberos代码的分析,主要是客户端,查看一下它的执行堆栈信息(不执行kinit的...

2018-02-28 17:00:38 928

原创 大数据安全管理 -- FreeIPA的使用

1.说明Hadoop的安全默认套件为Kerberos,我们可以在各个节点上面手动安装Kerberos的各个组件。 还可以使用操作系统厂商提供的集成安全套件, FreeIPA就是其中的一个。 HDP也在它们的Ambari安装中支持FreeIPA的部署。 FreeIPA是CentOS(我只用过这个操作系统,RedHat中名称好象不是这个)提供的一个开源组件。但我觉得它更象是一系列开源软件的集合。...

2018-02-27 14:22:15 11323 3

原创 区块链中的脚本系统

前一段时间看一下最近特别火的区块链,对于它的脚本系统最感兴趣,这两天特意研究了一下,下面的代码分析是基于bitcoin 0.1的版本BitCoin中的脚本Script是BitCoin中的一个特色,感觉它也借鉴了汇编中的操作符与栈的概念。但是Script中用于存放操作符也对象的不是一个”栈”,看它的定义class CScript : public vectorunsigned c

2018-02-01 17:09:45 4644

原创 大数据的安全管理 -- JAAS 认证代码

1. JaaS代码在前面已经说明了JAAS的使用,在这一节,主要是解析JAAS在认证时的代码流程,我们可以看到其认证过程只有两行代码:LoginContext lc = new LoginContext("JaaSSampleTest", new TextCallbackHandler());lc.login();我们可以把它分为二个部分:上下文设置, 登录1.1 上下文的设置LoginCont

2017-12-12 15:14:15 1318

原创 大数据安全管理 -- 用户验证与授权1

1. JaaS 介绍 Java安全框架最初集中在保护用户运行潜在的不可信任代码,是基于代码的来源(URL)和谁创建的代码(certificate)来给移动代码进行授权。Java 2 SDK 1.3引入了JAAS( Java Authentication and Authorization Service),增加了基于用户的访问控制能力,即根据谁在运行代码来进行授权。上面是百度百科对于JaaS的

2017-12-12 13:49:59 1533

原创 大数据的安全管理 -- Kerberos

1. 前言前一段时间一直在做大数据集群下面的安全环境(Kerberos)的配置与分析,其中有许多误解,这里记录下来。当然kerbeos本身也比较复杂,这里只从一个使用者的角度进行记录2. 安全基础 – Kerberos一提到Hadoop集群安全,我们就会想到Kerberos,对于kerberos解释,有很多。下面是我对于kerberos的一个理解2.1 什么是kerberos Kerberos

2017-12-11 14:57:15 3937

原创 FreeIPA创建删除用户时,调用自定义脚本

在我们的环境中,hadoop集群中的kerberos用户是通过Freeipa创建的。但是如果我们希望freeipa在创建用户的时候,能够帮我们做一些前置的动作。此时可能就比较麻烦。下面通过一个例子,来说明freeipa如何在创建或删除用户时调用我们自己定义的脚本。1. 修改/etc/ipa/default.conf,将用户自定义的脚本增加到配置项中如下例,增加自定义

2017-11-28 16:16:40 1225

原创 基于Kerberos认证的TCP通信

1 前言kerberos是一种安全协议,它涉及到三个部分:KDC、 Server端 与 Client端的代码。对于Kerberos 的整个认证过程,有很多介绍。但是对于如何在一个已有TCP程序中进行kerberos认证,一直不知道如何使用。前段时间在oracle的文件中,找到一个server与client的样例,结合这个用例,将它进行改写,便于理解。 前置说明:KDC需要保证能正常运行有对应的

2017-11-15 17:02:12 3242 2

原创 FreeIPA问题记录

在FreeIPA安装使用的过程中,碰到了许多问题,这里记录。1. ipa-client-install安装失败错误信息[root@hdp140 log]# ipa-client-install ... ... Attempting to get host TGT...Please make sure the following ports are opened in the firewall

2017-11-15 16:44:32 5084 2

原创 Ambari LogSearch中监控新服务日志

1. 介绍LogSearch是一个集成在HDP的发布包的日志监控工具,它分为两个部分:logsearch portal(下面简称为portal)与 logsearch logfeeder(简称为logfeeder) 。LogSearch依赖于Solr(在ambari上,它的名字叫Ambari Infra) 。其工作流程: logfeeder监控相应的日志文件,并将它们存储到Solr中,用户可以通过

2017-10-27 11:35:15 5044

原创 Hadoop KMS 使用

Hadoop KMS配置以hdfs的单机环境为例说明搭建过程1. hdfs配置1) 下载hadoop 2.6以上的版本,解压之后,配置HADOOP_HOMEexport HADOOP_HOME=/root/hadoop-2.7.4export PATH=${PATH}:${HADOOP_HOME}/bin2) 配置core-site.xml与hdfs-site.xml core-site.x

2017-09-26 17:02:51 3704 3

原创 Axis2 webServer调用

1. 准备1) 下载最新axis2的程序, 2) 将两个plugin的zip解压,并将其文件放在eclipse的plugin文件夹下面3) 配置安装tomcat环境,并将axis2.war包放置在webapps环境下面,启动tomcat环境 2. 代码及aar包准备整体包结构: 包结构说明:TestUser依赖于User的jar包 User.java 代码:package com.od

2016-09-18 20:40:06 345

原创 JAVA byte赋值的问题

这两天利用java进行消息编解码的时候,总是碰到一个问题,需要给byte赋值. 如 需要将第一位地址的值 aa赋给一个变量,就很是比较麻烦。今天写了一个,记录下来 public static byte generateByte(String s) { byte tmp = 0; char[] arr = s.toCharArray();

2016-09-10 18:14:22 54464

原创 CDH安装时,无法纳管全部的节点的一个bug

问题描述:       使用CDH 5.2版本安装时,agent节点有12个。按照安装说明,在各个节点启动cm-agent之后,发现只有6个节点能被纳管。其它的节点总是无法加入纳管中。 在确认防火墙已经关闭后,仍然无法解决问题问题分析:      1. 查看已经加入纳管的节点,发现这6个节点并不是固定的,有一个节点是不断变换的。查看数据库中。mysql> select *

2016-08-15 20:18:28 2157

转载 System.err与System.out的区别

大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。      三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。       在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.e

2016-08-04 15:06:40 368

原创 一个jar包加载的问题

问题描述最近在storm上面做开发,碰到一个问题:bolt需要动态加载jar,然后调用新加载jar包的方法。结果发现一个问题,在这个jar中会调用mybatis的函数,结果问题就出现了: mybatis的class无法加载,抛出ClassNotFoundException, 因为storm本身的存在classpath的问题,采取了网友给出的方法,使用assembly的方法打包,但是问题还是无法

2016-07-20 20:12:23 503

原创 NFS安装

1. 环境介绍一共两个节点: 192.168.8.222 服务端 192.168.8.240 客户端2. 服务端安装检查NFS是否已经安装[root@hadoop222 ~]# service nfs statusnfs: unrecognized service[root@hadoop222 ~]#没有安装,则需要先安装NFS组件 2. 安装NFS组件[root@hado

2016-06-29 21:17:58 703

转载 详解KMP算法

KMP算法应该是每一本《数据结构》书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年压根就没看懂过~~~之后也在很多地方也都经常看到讲解KMP算法的文章,看久了好像也知道是怎么一回事,但总感觉有些地方自己还是没有完全懂明白。这两天花了点时间总结一下,有点小体会,我希望可以通过我自己的语言来把这个算法的一些细节梳理清楚,也算是考验一下自己有真正理解这个算法。 什么是

2016-06-13 10:28:30 294

原创 Storm 基础 -- spout与bolt设置多重grouping

Topology的代码如下:TopologyBuilder builder = new TopologyBuilder();//WordReaderSpout会从文件中读取数据,数据用shuffle的方式发送给bolt进行处理//当文件读取完成后,会发送一个global消息builder.setSpout("word-reader",new WordReaderSpout());builde

2016-05-09 15:09:13 2001

原创 Linux内核学习总结

罗冲 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 课程博文列表从一个简单的C语言程序分析计算机程序工作过程 从mykernel分析linux任务调度 利用GDB跟踪分析linux内核启动 一个简单系统调用用例分析 通过系统调用分析system_call中断处理过程

2016-04-24 23:17:39 492

原创 进程调度时机跟踪分析进程调度与进程切换的过程

罗冲 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 实验准备2. 代码分析2.1 进程调度前当进程发生切换的时候,从堆栈中可以看到 查看此处代码:work_resched: call schedule ---第597行代码 LOCKDEP_SYS_

2016-04-16 17:57:26 534

原创 Linux内核如何装载和启动一个可执行程序

罗冲 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 实验准备下载课件中准备的代码。int Execstaic(int argc, char *argv[]){ int pid; /* fork another process */ asm volat

2016-04-10 00:22:00 426

原创 Linux内核创建一个新进程的过程

罗冲 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1. 准备在menu代码中增加fork函数 int pid; /* fork another process */ asm volatile( "mov $0x78, %%eax\n\t"

2016-04-03 01:53:12 414

原创 非ssh命令的远端服务器的操作方法

1. 介绍现阶段的服务一般都会运行在一个集群上面,这样,就遇到一个无法回避的问题:服务器(A)如何在服务器(B)上面执行命令或程序。 对于这个问题,常见的两种方法是: 1) 节点A与节点B建立SSH互信关系。当节点A需要在节点B上面执行命令的时候,直接用ssh登录到节点B上面(这也是使用最多的一种方式)。 优点:执行简单。 缺点:在安装配置的时候,复杂。不能够动态增加一个节点2)

2016-03-29 15:59:29 985

原创 通过系统调用分析system_call中断处理过程

罗冲 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1. 实验准备1.1 环境准备下载linux3.18.6的源代码。 按照http://mooc.study.163.com/learn/USTC-1000029000?tid=2001214000#/learn/content?ty

2016-03-26 17:26:26 2000

原创 LVS-NAT配置安装

LVS nat ipvsadm

2016-03-23 10:49:43 654

转载 Lily:基于Solr、HBase、Zookeeper云计算上的内容仓库

Lily是什么Lily是一个可扩展的数据仓库。用于数据的存储和搜索。Lily是一个分布式系统,她并不是白手起家的,她依赖于两个已有的OpenSource软件,一个是HBase, 另一个是SOLR. 同时Lily对于使用者提供自己的操作接口,称作Lily API.Lily的优势在于她强大的搜索能力,无论是文本匹配还是全文索引,通通都能搞定。但我觉得Lily在获取这些优势的同时付出了相

2016-03-21 16:11:41 544

原创 一个简单系统调用用例分析

罗冲 + 原创 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 系统调用

2016-03-20 01:19:23 704

转载 日志那点事儿——slf4j源码剖析

原文链接:http://www.cnblogs.com/xing901022/p/4149524.html阅读目录  slf4j下载  那么如何使用呢?  接下来进入正题,slf4j源码的解读!  这里不了解类加载器的原理的可能会不大明白!  总结Slf4j工作原理前言:  说到日志,大多人都没空去研究,顶多知道用logger.info或者war

2016-03-17 15:47:49 629

原创 利用GDB跟踪分析linux内核启动

罗冲 + 原创 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 实验准备1. 下载代码3.18.6到linux环境下面中,cd ~/LinuxKernel/ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.6.tar.xz xz -

2016-03-12 18:23:34 679

原创 从mykernel分析linux任务调度

罗冲 + 原创 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000程序源代码分析整个任务代码分为两部分:mymain.c与myinterrupt.c两部分,这里不列出全部的代码(详细代码参见孟宁老师的github:https://github.com/mengning/mykernel)void __init my_

2016-03-05 22:56:39 491

原创 HBase客户端host末配置引起的一个错误

昨天碰到一个问题。hbase数据在执行put的时候,程序挂死。 特记录一下。 问题描述: 程序往hbase中插入数据,发现在其中一台机器上面执行的时候,程序总是是挂死。 使用jstack查看时候:"main" prio=10 tid=0x00007f844800a000 nid=0x3c52 waiting on condition [0x00007f844c6ee000] java.l

2016-02-28 15:59:58 3500

原创 从一个简单的C语言程序分析计算机程序工作过程

罗冲 + 原创 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1. C语言程序int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return f(5) + 7;}将程序进程编译: 注:使

2016-02-27 11:09:06 1164

原创 Solr通过代码创建collection

Solr可以通过代码来创建 HttpSolrServer server = new HttpSolrServer(SOLR_URL); //这个是solrCloud的// CollectionAdminResponse res = CollectionAdminRequest.createCollection("collection1", "", "solrconfig.xml

2016-02-19 14:04:19 1119

转载 Tomcat7下Filter执行顺序小验证

定义2个Filter,filter1过滤.htm和.json结尾的url,filter2过滤.htm和.xml结尾的url。 1、init()方法执行顺序:先执行filter2的init()方法,后执行filter1的init()方法。 因为Filter是责任链模式的,上一级对象包含下一级对象的指针,所以创建顺序在web.xml中是从后往前的。 2、同一mapping url的doFi

2016-02-01 11:17:16 753

storm多重grouping的一个例子

spout与bolt设置多重grouping,

2016-05-09

远程登录机器的代码

从cloudstack中找到的一种远程登录机器的代码。利用trilead-ssh2-build213-svnkit-1.3-patch.jar操作远程机器,而不必使用export或建互信关系。

2016-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除