zookeeper 3.4.5 分布式安装
由于项目需要,需要在集群中安装好Zookeeper,这里我选择最新版本的Zookeeper3.4.5。 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。它也是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等。 当然你运行一个zookeeper也是可以的,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高,zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳。这里我选择5台机器,hostname分别为new-cdh12、new-cdh13、new-cdh15、new-cdh16、new-cdh17。 安装步骤 1、解压 tar -zxvf...
hadoop 2.7 手动安装(cdh5.7.0)目录
一直都是用cm 来安装 cdh ,刚好公司有有一些机器闲置,于是决定手动来安装一下cdh 5.7.0集群。 hadoop2.7 + HA + zookeeper3.4.5 + KAFKA0.9.0.1 + SPARK1.6 +...
逆波兰表达式的应用
逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。 平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。 该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * ) 。 逆波兰表达式主要有以下两个优点: 去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。 适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中。 中缀表达式和后缀表达式 将字符串表达式放入数组 将字符串表达式拆分成数组 12345678910111213141516171819202122232425262728293031public String[] notationStrToArray(String notationStr) { List<String> list = new ArrayList(); notationStr = notationStr.replaceAll("...
环形单链表及其约瑟夫问题
...
单链表及其应用
链表中的数据是以结点来表示的,每个结点的构成:元素 + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。下面使用代码来编写一个单链表的例子。 一、创建节点信息 创建一个学生的节点,包含学号和学生的姓名。 12345678910111213141516171819202122232425/** * @author JSLEDD * @description 定义一个学生的对象 * @date 2016-6-2 13:59 * @return * @throws */class StudentNode { public int numno;//学号 public String name;// 姓名 public StudentNode next; //指向下一个节点 //构造器 public StudentNode(int numno, String name) { this.numno = numno; this.name = name; ...
(二) scala actor 学习-Actor API
Actor API Actor trait 只定义了一个抽象方法,就是上面提到的 receive, 用来实现actor的行为。 如果当前 actor 的行为与收到的消息不匹配,则会调用 unhandled, 它的缺省实现是向actor系统的事件流中发布一条 akka.actor.UnhandledMessage(message, sender, recipient)。 另外,它还包括: self 代表本actor的 ActorRef sender 代表最近收到的消息的发送actor supervisorStrategy 用户可重写它来定义对子actor的监管策略 context 暴露actor和当前消息的上下文信息,如: 用于创建子actor的工厂方法 (actorOf) actor所属的系统 父监管者 所监管的子actor 生命周期监控 hotswap行为栈 你可以import context 的成员来避免总是要加上 context.前缀 class ActorOneSon extends Actor { import context._ val...
(一) scala actor 学习-创建Actor
Actor模型为编写并发和分布式系统提供了一种更高的抽象级别。它将开发人员从显式地处理锁和线程管理的工作中解脱出来,使编写并发和并行系统更加容易。Actor模型是在1973年Carl Hewitt的论文中提的,但是被Erlang语言采用后才变得流行起来,一个成功案例是爱立信使用Erlang非常成功地创建了高并发的可靠的电信系统。 Akka Actor的API与Scala Actor类似,并且从Erlang中借用了一些语法。 首先来一个例子: 创建Actor 定义一个 Actor 类 要定义自己的Actor类,需要继承 Actor 并实现receive 方法. receive 方法需要定义一系列 case 语句(类型为PartialFunction[Any, Unit]) 来描述你的Actor能够处理哪些消息(使用标准的Scala模式匹配),以及实现对消息如何进行处理的代码。 package com.cmcc.family.test import akka.actor.Actor import akka.actor.Props import...
kafka-manager的安装和使用
由于最近使用spark kafka 总是出现已成,于是觉得安装一个 kafka 的管理工具来监控一下 kafka. 看到了 yahoo的kafka-manager的介绍,于是决定安装一下试试。 介绍 kafka-manager的主要支持内容: 管理多个集群 监控集群的状态(包含:topics, consumers, offsets, brokers, replica distribution, partition distribution) Run preferred replica election Generate partition assignments with option to select brokers to use 分区的修改(基于生成的任务) 创建一个可选配置的 topic 删除主题( 0.8.2 以上支持,需要配置delete.topic.enable=true) topics 可显示已删除的 Batch generate partition assignments for multiple topics with option to select...
mongodb 安装使用-副本集+分片 架构部署 -2
文章介绍的不清楚,安装有几处不合理,新的参考文章:Mongodb3.2.12 副本集 + 分片 完整安装 由于最近的项目中使用到了mongodb,前两天安装完后一直在忙别的事情,mongodb 安装 ,今天配置一下副本集+分片。 组件介绍 四个组件:mongos、config server、shard、replica set。 mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加 一个路由选择器,mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上。在生产环境通常有多mongos作 为请求的入口,防止其中一个挂掉所有的mongodb请求都没有办法操作。 config server,顾名思义为配置服务器,存储所有数据库元信息(路由、分片)的配置。 mongos本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。mongos第一次启动或者关掉重启就会从 config server 加载配置信息,以后如果配置服务器信息变化会通知到所有的 mongos...
稀疏数组
稀疏数组是对普通数组的压缩方法,当普通数组的重复元素占用绝大多数的时候,我们可以使用稀疏数组的方式存储,可以极大的节约内存,压缩存储可以提高IO效率。比如五子棋的棋盘,象棋的残局等。 一、存储方式对比 普通数组 123456780 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 稀疏数组 12348 8 3 1 2 1 2 3 2 4 5 2 二、稀疏数组 存储方法: 第一行...