〇コンテナの構築
LXDで以下のコマンドを実行して、Apache Ignite2.4.0がインストールされたコンテナを構築します。
lxc init ubuntu:18.04 ub1804apacheignite240
lxc config set ub1804apacheignite240 user.user-data - < config.yml
lxc start ub1804apacheignite240
config.yml
#cloud-config
package_upgrade: true
hostname: ub1804apacheignite240
manage_etc_hosts: true
write_files:
- path: /etc/systemd/system/ignite.service
content: |
[Unit]
Description=Apache Ignite
[Service]
ExecStart=/opt/ignite/bin/ignite.sh
WorkingDirectory=/opt/ignite
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- path: /tmp/test.sql
content: |
create table test1 (test_id integer primary key, test_desc varchar(100));
insert into test1 (test_id, test_desc) values (1, 'test_id_001');
select * from test1;
runcmd:
- 'apt-get update'
- 'apt-get -y install openjdk-8-jdk'
- 'apt-get -y install unzip'
- 'wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//ignite/2.4.0/apache-ignite-fabric-2.4.0-bin.zip'
- 'unzip apache-ignite-fabric-2.4.0-bin.zip'
- 'mv apache-ignite-fabric-2.4.0-bin /opt/ignite'
- systemctl enable ignite.service
- systemctl start ignite.service
- "while netstat -lnt | awk '$4 ~ /:11211$/ {exit 1}'; do sleep 10; done"
- "sleep 10"
- "wget http://wiki.metawerx.net/attach/SJSQL/sjsql.java"
- "wget http://wiki.metawerx.net/attach/SJSQL/sjsql.class"
- "java -cp .:/opt/ignite/libs/ignite-core-2.4.0.jar sjsql org.apache.ignite.IgniteJdbcThinDriver jdbc:ignite:thin://127.0.0.1/ test test /tmp/test.sql"
final_message: "completed."
〇コンテナに入る
lxc exec ub1804apacheignite240 /bin/bash
〇ホストマシンの外部からコンテナにアクセスしたい場合
以下のコマンドを実行します。
PORT=11211 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'
〇コンテナのIPを調べる
コンテナのIPは以下のコマンドで調べることができます。
lxc list
〇コンテナの停止
lxc stop ub1804apacheignite240
〇コンテナの削除
lxc delete ub1804apacheignite240
○関連情報
・Apache Igniteに関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿