三分钟部署Laxcus大数据系统

 

 Laxcus是Laxcus大数据实验室历时五年,全体系自主设计研发的国内首套大数据管理系统。能够支撑百万台级计算机节点,提供EB量级存储和计算能力,兼容SQL和关系数据库。最新的2.x版本已经全面覆盖和集成当前大数据主流技术和功能,并投入到国内多个超算项目中使用。Laxcus同时也保持着使用和部署的极简性,所有对计算机略有认识的人都可以很容易掌握它。下面演示在一台Linux计算机上部署Laxcus demo系统的过程。根据我们的测试,这个部署过程大约需要三分钟,或者您熟悉Linux系统 ,也许不需要这个时间。关于Laxcus的介绍,详见产品论文:《Laxcus大数据管理系统》。

  因为某些原因,目前Laxcus.org网站和源码只能对合作伙伴和客户开放,如果各位同行有部署兴趣,请留下电子邮件地址或者通过微博联系,我将把Laxcus demo for Linux发给您。欢迎您对我们的产品提出意见和技术交流。

  下面演示在一台Linux计算机上部署Laxcus demo系统的过程。

  在实际部署前,请确定已经满足已下条件:

  <1> 保证这台Linux计算机是处于独立且没有联网状态(因为配置默认使用自回路地址:127.0.0.1)。

  <2> 用户能够以root身份登录Linux系统(Laxcus分布节点需要在root状态下工作)。

  <3> 运行Laxcus需要Java环境支持,请首先安装一个JRE,Laxcus的最低版本要求是JRE1.6。

  以下进入部署状态:

  <1> 用户以root身份登录Linux计算机,然后打开一个终端窗口。

  <2> 在根目录建立一个Laxcus目录,命令是:"mkdir laxcus"(注意是全小写,Linux对大小写敏感)。

  <3> 将laxcus demo包从其它目录复制到这个目录下面。

  <4> 将Laxcus demo包解压,命令是:“tar  -xzf  laxcus_demo_2.0.06_x32.tar.gz”,然后键入命令:"ls  -ltr",可以看到它的下面分别出现了“top、home、log、aid、archive、data、work、call、build、watch、console、terminal”一系列目录及文件。见图1所示。

 

图1  Laxcus demo包(Linux 32位版本)

  <5> 在“laxcus”目录下有一个"java.sh"文件,用vim或者其它文本编辑工具打开它,设置自己的JAVA_HOME目录(注意这里是大写)。图中是" JAVA_HOME=/home/jdk1.6.0_18"。然后键入“wq!”保存退出。见图2所示。

 

修改JAVA_HOME目录

  <6> 将“java.sh”文件复制到“/etc/profile.d”目录下,命令是:"cp java.sh  /etc/profile.d/java.sh"。见图3所示。

 

复制java.sh文件

  <7> 在终端上键入命令:"echo  $JAVA_HOME"查看,如果java.sh被启用,会显示JAVA_HOME目录的实际指向。如果没有,请重新启动计算机,再次以root身份登录查看。见图4所示。

 

显示JAVA_HOME目录

  <8> 将laxcus目录下面的全部".sh"后缀文件设为可执行,命令是:"chmod +x *.sh"。见图5所示。

 

修改*.sh文件属性

  <9> 进入“laxcus”目录下面的所有子目录,将这些目录下面的"bin"目录中的全部".sh"后缀文件设为可执行,命令同上。

  <10> 以上操作完成后,键入命令:“cd  /laxcus”回到laxcus目录,再键入命令:“./runbatch.sh”,laxcus节点将按命令顺序依次启动 。见图6所示。Laxcus已经在多地部署,为客户提供分布计算API接口,与用户合作开发了很多分布任务组件(基于Laxcus分布算法的中间件)。为保证软件运行过程中的安全,防止出现恶意破坏的情况,Laxcus提供了沙箱服务,对第三方发布、在Laxcus集群上运行的分布任务组件进行安全限制和检查。开启沙箱模式是在启动时,在“./runbatch.sh”后面加上“-sandbox”,这表示laxcus集群将在沙箱模式下运行。

 

以“沙箱”模式启动laxcus集群节点(分布任务组件被限制在沙箱中运行)

  <10> 以上操作完成后,可以使用命令:"ps -ef | grep java" 查看,这里Laxcus各节点已经在Linux系统后台运行。

  <11> 至此,Laxcus demo系统启动完毕。如果停止Laxcus集群节点,请回到laxcus根目录下键入命令:"./stopbatch.sh"。见图7所示。使用过程中如有任意问题和建议,请通过邮箱或者微博我们联系。联系邮箱:laxcus@163.com 或者微博:http://weibo.com/laxcus

 

停止laxcus集群节点

 

  Laxcus 图形终端/字符控制台

  用户可以使用图形终端和字符控制台两种方式登录到Laxcus集群,通过在窗口中输入命令,来驱动集群工作。因为只是单机模式,laxcus demo集群的登录地址是:“localhost”,或者“127.0.0.1”,默认端口号是:5000(参数见conf/local.xml文件中配置)。系统管理员登录用户名是:“admin”,密码是:“laxcus”(密码区分大小写)。字符控制台启动命令是:“./console.sh”,图形终端启动命令是:“./terminal.sh”。见图8、图9、图10。进入登录状态后,键入"help"可以查看Laxcus支持的全部命令。 退出时,字符控制台使用"exit"或者"quit"命令退出,图形终端点击菜单或者关闭按纽退出。

 

字符控制台

 

图形终端登录窗口

 

10 图形终端主操作界面

  建立用户账号

  Laxcus是多用户多集群的大数据管理系统,这意味着每个用户在操作数据前,必须拥有一个属于自己的账号。建立用户账号的过程由系统管理员来完成,并对这个账号的操作范围进行授权。在账号建立成功后,管理员将账号转交给用户,用户可以修改自己的账号密码,然后执行以后的数据操作,如建立数据库、建表、写入数据、查询等操作。这些操作和关系数据库的基本一致。在Laxcus demo系统里,已经内置了一个“demo”账号相关的分布计算服务。成功建立demo账号后,即可获得相关的业务操作能力。

11 系统管理员建立demo账号

 

12 系统管理员对demo账号授权

 

  demo用户操作

  用户获得demo账号后,以“demo/demo”登录到localhost:7600。执行修改账号密码、建立数据库、建立数据表的操作。

 

13  demo用户登录到:localhost 7600 主机

 

14 demo用户修改自己的登录密码

 

15 建立数据库

 

16 建立数据表

  分布计算

  Laxcus大数据管理系统的分布计算基于DIFFUSE/CONVERGE算法。关于算法和分布任务组件(中间件)的介绍详见《Laxcus大数据管理系统》一文,这里不再赘述。图11演示了一个在demo账号下,随机数的产生、排序、显示、保存的过程。

  窗口文字解释:

  <1>“conduct”,Laxcus系统命令,是diffuse/converge分布算法的语句化描述。

  <2>“demo_sort”,分布计算的中间件命名(不区分大小写)。这个中间件已经集成在Laxcus demo系统中。

  <3>“from、to、put”,conduct命令关键字,是diffuse/converge分布计算的阶段。

  <4>“sites”,conduct命令关键字,要求的节点数目(节点是一台逻辑计算机)。

  <5>“writeto”,conduct命令关键字,指示数据写入的磁盘文件。

  <6> “begin、end、total、orderby”,自定义关键字,格式是“名称(数据类型)=参数”。这些关键字由用户定义,然后在自己的中间件中解析和处理。

  命令说明:

  这个命令遵循DIFFUSE/CONVERGE分布算法,通过操纵一个名为“demo_sort”的分布任务组件,由多个data节点产生随机数,然后把它们分散到多个work节点上,进行排序计算和输出的过程。在from阶段,要求系统启动6个data节点,每个节点平均分配2000(total)个数中的六分之一,产生从0到99999之间的随机数。to阶段要求3个work节点,它承接from阶段产生的数字,每个work节点平均分配2000(total)个数中的三分之一,并对分配到的数字进行排序,排序采用降序方式。数据结果在终端上显示,并写入一个名为"/tracking/rnd.bin"的本地文件中(Linux文件名,如果终端运行在Windows系统,需要改为对应的目录结构)。另:在demo_sort分布任务组件执行过程中,会对参数中要求的节点数进行检查,如果达不到指定要求,将自动降为实际可用数目。实际上,由于data、work节点达不到要求,demo_sort在执行过程中已经对此做了处理。

 

17 conduct命令

  SQL查询

  Laxcus 2.x已经完全兼容SQL,包括SQL四个操纵语句:INSERT、DELETE、UPDATE、SELECT,以及对SQL函数、GROUP BY、ORDER BY、嵌套查询(Sub Select)、连接查询(Join)的支持。这些操作在内部都遵循Diffuse/Converge算法执行计算。在图形窗口上, 则与关系数据库表现完全一致。

 

18 嵌套查询(支持SQL函数)

 

19 group by order by 查询(支持SQL函数)

  数据构建

  数据构造对各种数据再处理业务的综合。同分布计算一样,数据可以通过窗口命令进行。关于数据构建的详见介绍,还是请见《Laxcus大数据管理系统》一文。在laxcus 2.x版本中,系统提供了两个数据构建命令“regulate、modulate”,它们分别是对一个节点或者几个节点的数据,以及一个Laxcus集群的数据进行数据优化和重新整理。同分布计算一样,laxcus也提供了数据构建的API接口,帮助用户实现自己的数据构建业务。

 

图20 regulate命令

 

21  modulate 命令

 

  流式处理

  流式处理是laxcus 2.x版本一项新的功能。它将原来基于硬盘的数据处理过程,转移到内存上进行,能够获得了数十倍的效率提升。Laxcus流式处理很简单,只要在图形窗口上设置这个命令,以后所有的命令操作,都将默认为流式处理方式。反之,如果将命令改为“set process mode disk”, 以后的命令处理,都将是磁盘处理模式。

 

23 流处理命令(此命令生效后,以后所有数据处理命令,如selectconductmodulate都将默认采用流式处理执行)

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Devstack多节点部署实验 - 2016-07-20 14:07:52

本文为博主翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou 这是个在多物理服务器上部署openstack例子: 1 先决条件Linux网络 1.1 最小化安装系统 你需要一个刚安装好的Linux系统。你可以直接下载最小化的Ubuntu版本,devstack会下载安装所有额外的依赖关系。同样也支持网络安装Fedora,Centos/RHEL.安装几个包用于引导程序配置。 apt -get install -y git sudo || yum install
0 说明 0.1 备注 建立文件夹(sparkdir、hadoop、java、scala、spark) 每台机器均有/usr/sparkdir /hadoop /hadoop - 2.7 .2 /java /jdk1 .8 .0 _91 /scala /scala - 2.11 .8 /spark /spark - 1.6 .1 -bin -without -hadoop . tgz 0.2 用户组、用户管理 资源:http://www.cnblogs.com/vincedotnet/p/ 4017574
Ubuntu16.04安装Hadoop2.6+Spark1.6,并安装python开发工具Jupyter notebook,通过pyspark测试一个实例,調通整个Spark+hadoop伪分布式开发环境。 主要内容:配置root用户,配置Hadoop,Spark环境变量,Hadoop伪分布式安装并测试实例,spark安装并通过Jupter notebook进行开发实例,配置Jupter notebook兼容Python2和python3双内核共存开发。 默认已经正确安装了JDK,并设置了JAVA_HOM
摘要 MLlib(机器学习)分两种——监督学习,无监督学习。首先监督学习,类似普贝叶斯这样的分类算法。要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。显而眼见的是,这种需求另监督学习有很大的局限性,尤其在海量数据处理时。要预先处理数据以满足算法需求得耗费大量资源与时间。此时,可以使用聚类算法这样的无监督学习,相比于分类,聚类不依赖预定义的类和类标号的训练实例。本文将聚类算法拆分开来。深刻理解其思想。 相关知识 相异度计算——聚类,见名之意,便是将数据聚集起来,但是并非是将所有

Kubernetes1.3新特性 - 2016-07-20 14:07:33

本次分析的kubernetes版本号:v1.3.0。 scheduler模块 新增了kube-api-content-type参数,表示scheduler模块发送给api-server的请求类型,默认值是“application/vnd.kubernetes.protobuf”。 新增了hard-pod-affinity-symmetric-weight参数,表示POD调度规则亲和力的权重,取值范围从0到100。 新增了failure-domains参数,这是一个字符串参数,表示POD调度时亲和力参数。在
kafka学习之路(二)——提高 消息发送流程 因为Kafka 内在就是 分布式的 ,一个Kafka 集群通常包括多个代理。 为了均衡负载,将话题分成多个分区 , 每个代理存储一或多个分区 。 多个生产者和消费者能够同时生产和获取消息 。     过程: 1.Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面 2.kafka集群接收到Producer发过来的消息后,将其持久化到硬盘,并保留消息指定时长(可配置),而不关
(上图 2016微软全球合作伙伴大会吸引了144个国家的云解决方案商参会 ) ​2016年7月14日,历时三天的微软全球合作伙伴大会WPC 2016在加拿大多伦多落下帷幕,来自全球144个国家的16,000名软件开发商(ISV)、系统集成商(SI)、增值分销商(VAR)以及新一代云服务商(CSP)等汇聚一堂,他们也是全球最活跃、最顶尖的云计算生态代表。 在本次合作伙伴大会上,微软发布了合作伙伴“红宝书”——《当代微软合作伙伴系列:解决方案商如何在云世纪成功》。这本与IDC合作的书,历时4年完成,每年耗资上

Hadoop使用学习笔记(1) - 2016-07-19 18:07:38

Hadoop使用学习笔记 1.Hadoop安装与基本概念 Hadoop发行版本地址 1.1环境配置需求 本文是用的Hadoop版本是最新的2.7.2发行版。 本文分两个机器环境,分别是研发环境和测试环境: 本地环境配置(配置较好,用于压测): 操作系统: LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0
本文主要描述了朴素贝叶斯分类方法,包括模型导出和学习描述。实例部分总结了《machine learning in action》一书中展示的一个该方法用于句子感情色彩分类的程序。 1 方法概述 学习(参数估计) 实现:朴素贝叶斯下的文本分类 模型概述 朴素贝叶斯方法,是指 朴素:特征条件独立 贝叶斯:基于贝叶斯定理 根据贝叶斯定理,对一个分类问题,给定样本特征x,样本属于类别y的概率是 p ( y | x ) = p ( x | y ) p ( y ) p ( x ) 。 。 。 。 。 。 ( 1 )
更新记录 2017-07-18 初稿 MapReduce简介 在Hadoop MapReduce中,框架会确保reduce收到的输入数据是根据key排序过的。数据从Mapper输出到Reducer接收,是一个很复杂的过程,框架处理了所有问题,并提供了很多配置项及扩展点。一个MapReduce的大致数据流如下图: 更详细的MapReduce介绍参考 Hadoop MapReduce原理与实例 。 Mapper的输出排序、然后传送到Reducer的过程,称为shuffle。本文详细地解析shuffle过程,深