avatar
文章
123
标签
207
分类
22

Home
Timeline
Tags
Categories
About
big data decode club
Home
Timeline
Tags
Categories
About

big data decode club

shell嵌套变量
发表于2018-07-05|Tool
今天在批量生成命令的时候,需要使用一个类似嵌套变量的东西,(注意这个嵌套变量,一开始并不知道shell中有这个东东) 具体场景是这样的: 有一堆命名比较规则的变量,例如conf_1、conf_2、conf_3…这些变量需要在一个循环中根据循环的次数输出,伪代码如下: 12345678conf_1='conf1'conf_2='conf2'conf_3='conf3'for i in {1..3}do # 想要的效果是当i=1时,echo $conf_1 echo ${conf_${i}}done 上面的代码会报语法错误。 于是就尴尬了,这要怎么搞,硬编码?这不符合前人的思维呀,于是google之。 既然要google就要给人家一个关键词,这看效果是变量里嵌套了变量,那关键字就是嵌套变量吧。果然顺利搜出结果。demo如下: 123456title3='查找固件中的⼝令⽂件'i=3title=title${i}eval temp ...
Ubuntu搭建Bitcoin源码阅读环境
发表于2018-05-31|BlockChain
这是区块链系列的开篇文章,随后会陆续写一些blog。看了两本区块链的书,有了一些初步的了解,最近打算实践下,就想着先弄个读代码的环境,本以为挺简单但也折腾了好久,所以就打算备注下。 两本区块链相关的书分别是区块链开发指南和精通比特币,随后会写些读后感 虽然网上也有很多相关的文章但大都比较笼统或者记录的比较含糊,导致像我这样的新手得花大量的时间去摸索去踩坑。下面就开始流水账了。。。 build bitcoin 从github上clone源码,git clone https://github.com/bitcoin/bitcoin.git clone到本地的代码是最新的代码也就是master分支上的,前人一般都推荐阅读0.12版本的代码,所以在build代码之前要切换下tag,命令git checkout v0.12.0 选择tag为v0.12.0进行build之后,在qt文件中并不出会出现bitcoin-qt这个文件,随后切换到branch为remotes/origin/0.12的版本进行build成功出现,所以这里应该切换的代码版本是git checkout remotes ...
HDFS权限
发表于2018-04-21|Hadoop
之前对HDFS更或者说是对Linux中文件的权限没有进行一个完整的学习,只是知道有所有者、所属组和其它权限,具体到某个人的权限有读(r)、写(w)和可执行(x)。遇到没有权限的问题就chmod加个权限,加完之后如果还有问题就给父目录也加一样的权限,如果还不行就给777。这其中应该给什么权限,给什么权限最合适都是一头雾水。今天就说说文件和目录权限的那些事。。。。 HDFS基于Linux的POSIX model HDFS的权限虽然是基于Linux的POSIX model,但是HDFS中其实并没有真正的用户和组的概念,只是从主机上拿到用户的信息然后对其存储的文件权限进行检查。 HDFS中每个文件和目录都有一个owner和group,并对owner、owner同一个组的user和其它user的权限进行了分离,权限分为rwx。对于文件来说,有r权限则可对此文件可读,有w权限则可对文件进行写和追加,x权限对文件来说没有实际的意义。对于目录来说,拥有r权限可以查看目录中内容,比如此目录下的文件或者子目录,拥有w权限可以在此目录中新建或者删除文件和子目录,但不可以改变此目录的名字,因为改变此目录 ...
Zookeeper session过期和connection超时
发表于2018-03-03|Zookeeper
首先来看一张官方的状态转换图:首先zk客户端会创建一个连接请求,此时会创建一个session,用于标识此次与服务器进行连接的一次生命周期。session创建之后,客户端的连接状态变为connecting,当与服务器建立成功之后变为connected状态。 由上面的状态图可以看出客户端会接受到服务端返回的两个错误码,分别为CONNECTION_LOSS和SESSION_EXPIRED,收到这两个错误码,客户端是怎么处理的呢?先看下CONNECTION_LOSS。 CONNECTION_LOSS当客户端与服务端的连接发生异常时,会返回CONNECTION_LOSS。当客户端收到此返回码时,并不能盲目的认为是网络连接失败还是服务端挂了。因为返回CONNECTION_LOSS的情况可能有如下几种: 客户端创建了一个请求,并且服务端已正常接收到了该请求,只是在返回时发生了异常(可能是网络异常) 客户端创建了一个请求,服务端根本没有收到(可能是网络也可能是服务端挂了) 因此在客户端收到这样的返回码时,不能新建一个session。假如客户端与服务端A正常连接时,发生了异常,此时应该尝试与服务 ...
Druid调研
发表于2017-12-22|Druid
Druid初期是由metamarkets的技术人员开发,用于向买家、卖家、广告主进行广告展示的底层实时分析平台,为OLAP的事件查询而设计。目前已发展成一个开源的实时数据库。 时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据。 架构Druid的架构比较灵活,是一个集群模式,由多个不同类型的节点组成,并且各个节点也能组成自己的小集群以增加可用性和扩展性。 Druid中每类节点都只完成一小部分事情,节点分类如下: Historical节点Historical节点是Druid集群的骨干,用于负责存储和查询历史数据。它从Deep Storage下载segments到本地,响应从broker节点上分发到查询请求,并将结果数据返回给broker节点。Historical节点采用shared nothing的架构,所以每个节点能够独自加载segments、删除segments、以及为segments提供查询服务。 Historical节点与Zookeeper进行通信(Historical节点之间并不通信),将该节点上已加载的segments和正在提供服务的segment ...
Java Synchronized实现原理
发表于2017-10-20|Java
之前一篇文章介绍了Synchronized的用法,本篇从实现原理上更进一步了解下。 查看带有Synchronized语句块的class文件可以看到在同步代码块的起始位置插入了moniterenter指令,在同步代码块结束的位置插入了monitorexit指令。(JVM需要保证每一个monitorenter都有一个monitorexit与之相对应,但每个monitorexit不一定都有一个monitorenter)但是查看同步方法的class文件时,同步方法并没有通过指令monitorenter和monitorexit来完成,而被翻译成普通的方法调用和返回指令,只是在其常量池中多了ACC_SYNCHRONIZED标示符。JVM就是根据该标示符来实现方法的同步的:当方法调用时,调用指令将会检查方法的 ACC_SYNCHRONIZED 访问标志是否被设置,如果设置了,执行线程将先获取monitor,获取成功之后才能执行方法体,方法执行完后再释放monitor。在方法执行期间,其他任何线程都无法再获得同一个monitor对象。 其实本质上没有区别,只是方法的同步是一种隐式的方式来实现,无需通过 ...
git常用命令
发表于2017-10-17|tool
*查看用户名和邮箱git config user.namegit config user.email 首先是配置帐号信息git config --global user.name xxxgit config --global user.email xxx@bigdatadecode.top 查看配置的信息 git config --list 禁止自动换行转换 git config --global core.autocrlf input 查看远程分支 git branch -a 查看本地分支 git branch 创建本地分支并切换 git checkout -b dev,也可使用git branch dev和git checkout dev这两条命令 将本地分支推送到远程 git push origin dev:dev ,第一个dev是本地的分支名字,第二个dev是远程分支的名字,远程分支名字可以不存在,会自动创建 拉取远程分支 git pull origin dev 合并远程分支, 先创建一个与远程分支同名的本地分支git checkout -b test,执 ...
YARN源码分析之ApplicationMaster架构
发表于2017-09-13|Hadoop
前面几篇关于ApplicationMaster的文章,把ApplicationMaster与RM之前的相关的流程已梳理完毕了(ApplicationMaster与NM之前的流程随后梳理),其中有几个关键类ApplicationMaster(以MRAppMaster为例)、AMLivelinessMonitor、ApplicationMasterLauncher和ApplicationMasterService,本篇重点介绍下这4个类之间的关系。 先看下这4个类之间的整体架构图: 简单描述下整个流程: 首先client向RM提交一个application请求,RM创建一个application,然后再创建一个appattempt,后期的调度和任务的拆解都是对这个appattempt进行的。随着appattempt的状态变化,会触发AMLauncherEventType.LAUNCH事件类型的事件,由ApplicationMasterLauncher.handle进行处理,通过RPC调用containerMgrProxy.startContainers来启动一个Application ...
YARN源码分析之RMContainerAllocator
发表于2017-09-12|Hadoop
上一篇提到RMContainerAllocator既是一个service也是一个eventHandle,并且简单介绍了下作为eventHandle的功能,现在来介绍下作为service服务的功能。 RMContainerAllocator继承RMContainerRequestor类,RMContainerRequestor又继承自RMCommunicator,RMCommunicator类在代码中的注释是Registers/unregisters to RM and sends heartbeats to RM. RMContainerAllocator是一个服务,在MRAppMaster.serviceInit中添加到MRAppMaster中,并且在serviceStart中启动该服务,启动时首先调用init,然后调用start。RMContainerAllocator.serviceInit主要是一些属性值的设置,重点看下serviceStart方法: 123456789101112131415161718192021222324252627protected void se ...
YARN源码分析之MR创建container请求
发表于2017-08-25|Hadoop
上一篇介绍了MRAppMaster启动时的一些流程。当MRAppMaster启动成功之后,job的状态已由INITED变为SETUP,并且在StartTransition.transition中构建了CommitterEventType.JOB_SETUP事件类型,由CommitterEventHandler.handle进行处理。 CommitterEventType.JOB_SETUP事件类型的处理器在MRAppMaster中作为一个服务添加到MRAppMaster服务中。 来看下具体的流程 123456789101112// StartTransition.transition 构建CommitterEventType.JOB_SETUP事件类型对象job.eventHandler.handle(new CommitterJobSetupEvent(job.jobId, job.jobContext));// CommitterEventHandler.handlepublic void handle(CommitterEvent event) { try &# ...
1…456…13
avatar
混绅士
Any answers you can find in source code.
文章
123
标签
207
分类
22
最新文章
Zero-knowledge proof 入门
Zero-knowledge proof 入门2023-08-08
IoTeX本地standalone模式及合约部署
IoTeX本地standalone模式及合约部署2023-08-06
说浅不浅的谈下CA认证
说浅不浅的谈下CA认证2023-01-04
RxGo常用算子手册
RxGo常用算子手册2022-12-02
Golang开发wasm程序
Golang开发wasm程序2022-11-25
分类
  • BigData4
  • BlockChain11
  • Docker2
  • Druid1
  • Flink3
  • Flume5
  • Golang3
  • HUE2
标签
HadoopBigDataYARNZKLen errorBlockChainKafkaZookeeperPaxosRaftBFTDockerloglog-pilotjavaBuilder设计模式Druid调研EthereumTestFlinkwindowFlinkxConnectorFlume函数式闭包HDFSHAZKFCReplicationMonitorread小文件writeLeaseLocatedBlock异常LightWeightGSetHashMapatime
归档
  • 八月 20232
  • 一月 20231
  • 十二月 20221
  • 十一月 20222
  • 十二月 20212
  • 十一月 20212
  • 五月 20211
  • 四月 20211
网站资讯
文章数目 :
123
已运行时间 :
本站总字数 :
318.6k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2016 - 2023 By 混绅士
框架 Hexo|主题 Butterfly