美文网首页
Ignite快速启动

Ignite快速启动

作者: goxplanet | 来源:发表于2022-08-07 17:07 被阅读0次

    缓存的启动可以使用进程内启动,也可以使用shell脚本独立启动。
    由于Igite使用了JDK8中的NIO特性,使用JDK11时需要加入相关的jar包。随zip版本发布的脚本中,在参数上内置了JDK11的支持,但使用其它版本的时候需要注意JDK版本的问题。
    zip版本的下载地址:https://ignite.apache.org/download.cgi

    作为进程内缓存快速启动

    以springboot应用为例,引入下列依赖

    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-core</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-spring</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-indexing</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    

    Ignite的启动需要进行配置,这里我们先使用程序进行配置,默认情况下,ClientMode = false

    public class HelloWorld {
        public static void main(String[] args) throws IgniteException {
            IgniteConfiguration cfg = new IgniteConfiguration();
            cfg.setPeerClassLoadingEnabled(true);
            TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder();
            ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));
            cfg.setDiscoverySpi(new TcpDiscoverySpi().setIpFinder(ipFinder));
            Ignite ignite = Ignition.start(cfg);
            IgniteCache<Integer, String> cache = ignite.getOrCreateCache("myCache");
    
            cache.put(1, "Hello");
            cache.get(1);
    
            ignite.close();
        }
    }
    

    Ignite的启动也可以使用配置文件进行配置

        String path = Example.class.getResource("/example-default.xml").getFile();
        this.ignite = Ignition.start(path);
    

    配置文件example-default.xml内容如下

    <bean class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="peerClassLoadingEnabled" value="true"/>
        <property name="discoverySpi">
            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="ipFinder">
                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
                        <property name="addresses">
                            <list>
                                <value>127.0.0.1:47500..47509</value>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>
        <property name="cacheConfiguration">
            <list>
                <bean class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name" value="myCache"/>
                    <property name="cacheMode" value="PARTITIONED"/>
                    <property name="onheapCacheEnabled" value="true"/>
                    <property name="backups" value="1"/>
                </bean>
        </property>
    </bean>
    

    通常使用xml进行配置,可以对cache schema进行良好的管理控制

    作为独立进程启动

    zip包解压后,进入bin目录,启动即可

    ./ignite.sh ../examples/config/example-ignite.xml
    

    配置文件的说明

    配置文件的根是IgniteConfiguration,下面主要的对象包括

    • clientMode:是否作为server节点提供缓存服务,还是只作为client节点加入
    • discoverySpi: 这个是网络相关的配置,这里
    • dataStorageConfiguration:这个是存储相关的配置,包括使用内存大小,持久化等
    • cacheConfiguration:
    • 自定义配置项

    相关文章

      网友评论

          本文标题:Ignite快速启动

          本文链接:https://www.haomeiwen.com/subject/zmnbwrtx.html