5 Ekim 2021 Salı

Docker ve GrigGain

1. GridGain çalıştırılır. Burada image olarak gridgain/community kullanılıyor. Benzer şekilde image olarak apacheignite/ignite kullanılabilir.
mkdir work_dir
#Linux
docker run -d -v ${PWD}/work_dir:/persistence \ -e IGNITE_WORK_DIR=/persistence gridgain/community
#Windows
docker run -d -v %cd%/work_dir:/persistence -v D:/config.xml:/config-file.xml \ -p 47500:47500 -p 47501:47501 -p 10800:10800 \ -e IGNITE_WORK_DIR=/persistence -e CONFIG_URI=/config-file.xml gridgain/community
Açıklaması şöyle
By default, GridGain docker image exposes the following ports: 11211, 47100, 47500, 49112. You can expose more ports as needed by adding -p <port> to the docker run command. For example, to connect a thin client to the node running inside a docker container, open port 10800
Port'lar için bir başka açıklama burada
47100 — the communication port

47500 ­—­ the discovery port

49112 — the default JMX port

10800 — thin client/JDBC/ODBC port

8080 — REST API port
myconfig.xml şöyledir. Burada iki tane schema tanımlanıyor.
<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="sqlConfiguration">
      <bean class="org.apache.ignite.configuration.SqlConfiguration">
        <property name="sqlSchemas">
	  <list>
	    <value>MY_SCHEMA</value>
	    <value>MY_SECOND_SCHEMA</value>
          </list>
        </property>
      </bean>
    </property>
  </bean>
</beans>
2. jdbc ile bağlanmak için JDBC Connection String yazısına bakınız

3. Daha sonra docker cli açılır ve sqlline çalıştırılır. sqlline docker image ile birlikte geliyor
cd /persistence
/opt/gridgain/bin/sqlline.sh --color=true --verbose=true -u jdbc:ignite:thin://127.0.0.1/
sqlline içinden tablolar listelenir.  schema değeri SYS olan bir sürü tablo göreceğiz
> !tables
sqlline içinden kendi tablomuzu yaratırız. Sütun Tipleri yazısına bakabilirsiniz
> CREATE TABLE City (id LONG PRIMARY KEY, name VARCHAR) WITH "template=replicated";
Eğer başka schema içinde tablo yaratmak istersek tablo ismi başına schema ismi eklenir.
> CREATE TABLE MY_SCHEMA.City (id LONG PRIMARY KEY, name VARCHAR)
  WITH "template=replicated";
Tekrar tabloları !tables komutu ile listeleyelim. Bu sefer çıktı olarak şunu alırız
+---------------------+----------------------+---------------------+-------------------+
|TABLE_CAT            |TABLE_SCHEM           |TABLE_NAME           |           TABLE_T |
+---------------------+----------------------+---------------------+-------------------+
| IGNITE              | PUBLIC               | CITY                | TABLE             |
sqlline içinden tabloya satır ekleriz
> INSERT INTO City(ID, Name) VALUES (1,'Ankara');
Artık tablomuza select yapabiliriz
SELECT * FROM City;

Hiç yorum yok:

Yorum Gönder

Ignite Transaction Kullanımı

Giriş Bir tablo 3 tane atomicity değerinden birisine sahip olabilir. 1. ATOMIC 2. TRANSACTIONAL 3. TRANSACTIONAL_SNAPSHOT ATOMIC Açıklaması ...