Apache Ignite使用

1、安装

我使用的是二进制开箱即用版本,下载地址:https://ignite.apache.org/download.cgi#binaries,版本为最新的2.8.0,上传服务器、解压,如图:

image.png

1.1 配置

进入config目录,拷贝一份default-config.xmlconfig.xml,修改配置:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--
        Alter configuration below as needed.
    -->
    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="workDirectory" value="/app/ignite/work/"/>

        <!--    server listener        -->
        <property name="clientConnectorConfiguration">
        <bean class="org.apache.ignite.configuration.ClientConnectorConfiguration">
            <property name="host" value="0.0.0.0"/>
            <property name="port" value="8811"/>
            <property name="portRange" value="30"/>
        </bean>
       </property>
    </bean>
</beans>

目前主要配置两个地方:工作目录和服务监听端口。
关于监听端口的配置问题,中间折腾了一番。刚开始,按照官方的入门配置只有工作目录部分,服务启动监听端口默认在客户端连接例子也是默认连接服务端口,因网络策略原因无法连接成功,此时知道默认端口为10800。
为了能够自己配置端口,找到xml配置文件指示的类org.apache.ignite.configuration,发现其中的属性:org.apache.ignite.configuration.ClientConnectorConfiguration,从中找到了如下属性:

    /** Default port. */
    public static final int DFLT_PORT = 10800;

    /** Default port range. */
    public static final int DFLT_PORT_RANGE = 100;

    /** Default socket send and receive buffer size. */
    public static final int DFLT_SOCK_BUF_SIZE = 0;

    /** Default value for {@code TCP_NODELAY} socket option (value is <tt>true</tt>). */
    public static final boolean DFLT_TCP_NO_DELAY = true;

    /** Default max number of open cursors per connection. */
    public static final int DFLT_MAX_OPEN_CURSORS_PER_CONN = 128;

    /** Default size of thread pool. */
    public static final int DFLT_THREAD_POOL_SIZE = IgniteConfiguration.DFLT_PUBLIC_THREAD_CNT;

    /** Default handshake timeout. */
    public static final int DFLT_HANDSHAKE_TIMEOUT = 10_000;

    /** Default idle timeout. */
    public static final int DFLT_IDLE_TIMEOUT = 0;

    /** Default value of whether to use Ignite SSL context factory. */
    public static final boolean DFLT_USE_IGNITE_SSL_CTX_FACTORY = true;

从而得知默认服务监听端口是10800。接下来就是修改配置文件,将ClientConnectorConfiguration当做bean配置即可,因为配置文件xml的校验完全使用的Spring beans的xsd校验(http://www.springframework.org/schema/beans/spring-beans.xsd)。属性直接对照ClientConnectorConfiguration成员变量配置即可,比如服务监听端口port,从而改变默认的监听端口。

1.2 Ignite REST

libs/optional/ignite-rest-http/目录下的jar包拷贝到libs目录,开启REST操作Ignite的能力。

image.png

在浏览器输入测试:http://127.0.0.1:8080/ignite?cmd=version
image.png

2 sqlline

使用bin目录下的sqlline可以作为客户端连接Ignite:./sqlline.sh --verbose=true -u jdbc:ignite:thin://127.0.0.1:8811/。如果有用户名密码配置,使用:./sqlline.sh --verbose=true -u "jdbc:ignite:thin://127.0.0.1:8811;user=ignite;password=ignite"

image.png

2.1 查询表

image.png

2.2 新建表

建表语句:

--student学生信息表
CREATE TABLE IF NOT EXISTS PUBLIC.STUDENT (
 STUDID INTEGER,
 NAME VARCHAR,
 EMAIL VARCHAR,
 dob Date,
 PRIMARY KEY (STUDID))
WITH "template=replicated,atomicity=ATOMIC,cache_name=student";
-- 索引
CREATE INDEX IF NOT EXISTS STUDENT_NE_INDEX ON PUBLIC.STUDENT (NAME, EMAIL);

-- grade成绩表
CREATE TABLE IF NOT EXISTS PUBLIC.GRADE (
 STUDID INTEGER,
 grade DOUBLE,
 PRIMARY KEY (STUDID))
WITH "template=replicated,atomicity=ATOMIC,cache_name=grade";
image.png

image.png

2.3 查看表结构

使用columns 加指定表即可:!columns student

image.png

2.4 执行sql脚本

准备如下插入数据sql:

-- student
INSERT INTO student (studid, name, email, dob) VALUES (1, 'student_1', 'student_1gmail.com', '2017-09-28');
INSERT INTO student (studid, name, email, dob) VALUES (2, 'student_2', 'student_2gmail.com', '2017-09-28');

--grade
INSERT INTO grade (studid, grade) VALUES (1,  3);
INSERT INTO grade (studid, grade) VALUES (2,  64);

直接加载将数据插入:


image.png

查询之前插入的记录:


image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容