ignite从0到1的学习过程记录-第一篇:安装和体验

LazyGene LazyGene     2022-10-13     784

关键词:

1、学习背景

  之前做一个根据wifi点位实时计算个人的轨迹的应用,使用Hbase, 尽管做了些优化,但是在计算性能上仍然不能满足需求,当时考虑是否可以用分布内存计算框架来解决,不过项目后来由于数据来源问题搁置也就没再继续,但是ignite进入视野,我想这么牛的东西一定得学学^_^。

 

2、学习资源

  中文有这位大神翻译的文档,中文文档

  英文学习资源当属官网:英文文档

3、简单介绍

  参考官网基础概念介绍,ignite 至少有以下特性

  • 支持sql 和k-v 两种模式
  • 既可以作为应用二级缓存使用又可以作为一个内存数据库
  • 分布式支持非常好,具体怎么好,以后慢慢探究
  • 拥有并行计算的能力,不用客户端抓取大量数据再进行计算(好像可以理解成iginte也可以作为一个并行计算框架)

 4、安装ignite

  初步学习自然要安装一个试一试,Getting-started

       这里记录下根据文档学习的过程,首先下载编译的好的最新安装包,使用命令行启动。

  • 打开目录 
    $ cd /d/apache-ignite-fabric-2.3.0-bin/
  • 查看环境变量
    $ echo $JAVA_HOME
    C:\Program Files\Java\jdk1.8.0_151
  • 运行
    $ cd bin
    $ sh ignite.sh
    [17:03:52]    __________  ________________
    [17:03:52]   /  _/ ___/ |/ /  _/_  __/ __/
    [17:03:52]  _/ // (7 7    // /  / / / _/
    [17:03:52] /___/\___/_/|_/___/ /_/ /___/
    [17:03:52]
    [17:03:52] ver. 2.3.0#20171028-sha1:8add7fd5
    [17:03:52] 2017 Copyright(C) Apache Software Foundation
    [17:03:52]
    [17:03:52] Ignite documentation: http://ignite.apache.org
    [17:03:52]
    [17:03:52] Quiet mode.
    [17:03:52]   ^-- Logging to file 'd:\apache-ignite-fabric-2.3.0-bin\work\log\ignite-a4954706.0.log'
    [17:03:52]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
    [17:03:52]
    [17:03:52] OS: Windows 10 10.0 amd64
    [17:03:52] VM information: Java(TM) SE Runtime Environment 1.8.0_151-b12 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.151-b12
    [17:03:52] Configured plugins:
    [17:03:52]   ^-- None
    [17:03:52]
    [17:03:52] Message queue limit is set to 0 which may lead to potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and receiver sides.
    [17:03:52] Security status [authentication=off, tls/ssl=off]
    [17:03:55] Performance suggestions for grid  (fix if possible)
    [17:03:55] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
    [17:03:55]   ^-- Enable G1 Garbage Collector (add '-XX:+UseG1GC' to JVM options)
    [17:03:55]   ^-- Set max direct memory size if getting 'OOME: Direct buffer memory' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options)
    [17:03:55]   ^-- Disable processing of calls to System.gc() (add '-XX:+DisableExplicitGC' to JVM options)
    [17:03:55] Refer to this page for more performance suggestions: https://apacheignite.readme.io/docs/jvm-and-system-tuning
    [17:03:55]
    [17:03:55] To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}
    [17:03:55]
    [17:03:55] Ignite node started OK (id=a4954706)
    [17:03:55] Topology snapshot [ver=1, servers=1, clients=0, CPUs=4, heap=1.0GB]
    在 sh ignite.sh 命令后可以指定配置文件 或者添加-i参数来选择配置文件。

 5、工具使用

  5.1 管理和监控工具

  在Getting-started 末尾提到了两个工具,原文如下:

  The easiest way to examine the content of the data grid as well as perform other management and monitoring operations is to use the Ignite Web Console and Ignite Visor Command Line utility.

  这两个工具都是用来管理和监控ignite的,在上一步的启动脚本打印的信息末尾可以看到这样一句

  

说明在ignite编译时,已经将visor command line 一起编译了,找到bin目录启动该脚本

  • 启动脚本
    $ sh ignitevisorcmd.sh
    ___    _________________________ ________
    __ |  / /____  _/__  ___/__  __ \___  __ \
    __ | / /  __  /  _____ \ _  / / /__  /_/ /
    __ |/ /  __/ /   ____/ / / /_/ / _  _, _/
    _____/   /___/   /____/  \____/  /_/ |_|
    
    ADMIN CONSOLE
    2017 Copyright(C) Apache Software Foundation
    
    +-------------------------------------+
    | Status               | Disconnected |
    | Ignite instance name | <n/a>        |
    | Config path          | <n/a>        |
    | Uptime               | <n/a>        |
    +-------------------------------------+
    
    Type 'help' for more information.
    Type 'open' to join the grid.
    Type 'quit' to quit form Visor console.
    
    visor>

    根据 cmd 说明,通过open命令启动一个ignite节点 ,具体命令的作用以后再慢慢学习。

  5.2 sqlline工具

  使用参考 sqlline说明

  • 启动sqlline
    sqlline.bat --color=true --verbose=true -u jdbc:ignite:thin://127.0.0.1/   # linux ./sqlline.sh ...

     

  • 执行脚本 用!sql +sql 语句即可
    !sql create table city (id LONG primary key, name varchar);
    !sql insert into city (id, name) values(1, 'Forest Hill');
    !sql select * from city;

   ignite作为内存数据库,重启ignite后,再执行select * from city 抛出异常,因为之前的数据已经不在了。

  5.3 使用DBeaver连接ignite

  ignite支持sql模式,自然可以用sql客户端连接,官网给出了使用DBeaver连接ignite的说明 SQL Tooling

  只需要在DBeaver 驱动管理中新增ignite驱动即可使用,下面我的配置截图

  • 配置驱动

     

  • 添加链接

     

  完成之后和操作其他数据库基本一样了。

  6、web-console

  在5.1中有提到web-console, 这是个比较强大的管理和监控工具,Ignite Web Console,我这里直接拉取docker镜像,

  •  拉取镜像
    docker pull registry.docker-cn.com/apacheignite/web-console-standalone

     

  • 运行docker
    docker run -d -p 80:80 -v /mongo:/var/lib/mongodb --name web-console-standalone apacheignite/web-console-standalone

    直接浏览器属于ip即可访问

 

第一篇学习机器学习,从零开始准备

...初心,坚持到底!  以下内容以及接下来的[机器学习]系列随笔会记录下我的学习路程,希望对各位有所帮助。 学习原因:危机感学习准备:1.下载安装了python2.7,后来换成了python3.0,安装各种库累的半死然后下载anaco... 查看详情

从0到1学习presto,这一篇就够了!

...。本期内容,我会从一个初学者的角度,带着大家从0到1学习Presto,希望大家能够有所收获!文章目录前言1.Presto简介1.1Presto概念1.2Presto应用场景1.3Presto架构1.4Presto 查看详情

2019年开春第一篇(代码片段)

...(2019年开春第一篇)此篇幅无代码开博缘由2018.3.26从零开始学习Python是时候开始进入初级Python学习之路的总结记录了,分享内容:学习的过程,阶段性的总结。暂无其他需求,有需求时再进行补充。博客记录内容将分为二至大部分:一... 查看详情

[图形学]计算机图形学withopengl第一篇

《计算机图形学》(第四版)正在学习中,学习目的是为了在Unity中使用shader实现不同的渲染效果。希望在这里能把学习过程中学到的知识和遇到的问题记录下来。工作环境是:Xcode8.3.2. 代码目录是:https://github.com/p0e0o0p0l0e0/... 查看详情

第一章绪论

第一章绪论机器学习:致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。基本术语数据集:记录的集合实例(样本):每条记录是关于一个事件或对象的描述属性(特征):反映事件或对象在某方面的表现或性... 查看详情

“hello,myfirstblog”------第一篇博客的仪式感(代码片段)

... 本人在校大学生一枚,开通博客,主要是想记录自己的学习过程,分享自己的学习经历。记得大一的时候,很多不懂的操作和知识,都是在博客上找到了相应的解决办法。但比较讽刺的是,很多时候,曾经解决了的问题,当再... 查看详情

第一篇博客《importtensorflow的问题解决》

...ebook中死活无法importjupyter 搞了很久,最后是解决了,过程如下:  1)安装anaconda34.2.0版本  2)解决activatetensorflow问题  3)解决importtensorflow问题以下就两个方面进行详细记录:1)activatetensorflow失败问题    https://... 查看详情

[flutter+dart]第一篇:开发环境的安装与配置

...发。最近了解到了flutter框架和dart语言,想作为第二语言学习一下,因此会从最基础的环节开始,以此博客作为记录,还望各路大神多多指导。关于flutter和dart的介绍,这里不再粘贴,大家可以直接去官网了解。flutter官网 &nbs... 查看详情

java学习第一篇---java入门准备

这是我的第一篇博客,以后也会写自己学习Java的过程、一些知识点、心得体会等,以此鼓励自己坚持学习!现在开始了我学习Java的生涯:【个人下载的Jdk版本是jdk-8u5-windows-x64】  1.安装之后的目录:   ->SourceCode:安装这... 查看详情

django学习记录第一天(代码片段)

从这篇文章开始,来记录我的Django学习过程。Day-1一首先是安装Django版本的选择,我所选择的是Django1.11。为什么选择1.11呢,因为它是长期技术支持版(LTS),官方会加上新特性,和修复一些BUG。好了,版本选择好了,该安装了... 查看详情

20165339第一周学习总结

20165339第一周学习总结教材学习内容总结第一章要点:要点1:java的入门,从安装jdk到在本机上配置path值。要点2:编写简单的源文件Hello.java并保存教材学习中的问题和解决过程-问题1:平台的选择-问题1解决方案:虚拟机安装失... 查看详情

超值一篇分享,docker:从入门到实战过程全记录(代码片段)

点击上方关注“终端研发部”设为“星标”,和你一起掌握更多数据库知识和Docker相关的概念想要真正理解Docker,就不得不从虚拟化技术的发展历程说起。普遍认为虚拟化技术经历了物理机时代、虚拟机时代,目前已... 查看详情

vmware虚拟机从安装到激活再到解决黑屏卡死机系列问题教程第一篇

第一篇:首先下面是VMware虚拟机的安装教程:  首先从官网上下载VMware,然后安装,具体安装步骤如下:  1.双击下载好的应用程序,后出现如下页面,会等待1~3分钟:        2.等待完毕后会出现这个页面,... 查看详情

超值一篇分享,docker:从入门到实战过程全记录

参考技术A作者|天元浪子来源|CSDN博客想要真正理解Docker,就不得不从虚拟化技术的发展历程说起。普遍认为虚拟化技术经历了物理机时代、虚拟机时代,目前已经进入到了容器化时代。可以说,Docker是虚拟化技术不断发展的必... 查看详情

第八章学习小结

排序 1.插入排序:插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素... 查看详情

第一篇博客

...名大二生,专业是计算机科学与技术。上个暑假留在学校学习了一些关于java的知识,我想分享一下学习心得。java是面向对象的编程语言,主要用于web后端开发和嵌入式开发。学习java要抛开传统的思维方式,理解面向对象编程。... 查看详情

《从0到1学习flink》——flinkdatatransformation(转换)(代码片段)

前言在第一篇介绍Flink的文章《《从0到1学习Flink》——ApacheFlink介绍》中就说过Flink程序的结构Flink应用程序结构就是如上图所示:1、Source:数据源,Flink在流处理和批处理上的source大概有4类:基于本地集合的source、基于文件的sour... 查看详情

mysql从青铜到王者第一篇:数据库的认识和数据库的操作与数据库表的部分操作

系列文章目录文章目录系列文章目录前言一、什么是数据库二、主流数据库三、安装MySQL环境1.查看当前环境是否安装了mariadb2.安装mariadb:3.启动mariadb:4.mysql5.7是付费版本5.mysql5.7和mariadb用来管理若干数据库的软件6.异常... 查看详情