テスト環境:
Spotfire 11.6.4一式
Spotfire Server: Windows 2016, ホスト名でインストールした->WIN-7I923JT4ISO
Node Manager Server: CentOS7
Python Service Edition: 1.3.5
背景:
TSSSと共存する際に、性能は劣化となって、別サーバーにインストールする選択しです。
手順:
1.PKIダウンロードセンターからインストーラをLinuxサーバーにダウンロードする。
TIB_sfire_server_11.4.6_linux.tar
2.インストールフォルダを新規し、そこに解凍する。
mkdir nodemanager114
cd nodemanager114
tar xvf TIB_sfire_server_11.4.6_linux.tar
3.さらにnode managerのインストーラを解凍し、インストーラフォルダに行く
tar zxf ./tsnm-11.4.6.x86_64.tar.gz
cd tsnm-11.4.6.x86_64
4.Spotfire ServerのbackendポートとNode Manager用ポートなどをconfigureファイルに設定し、設定を適用する
-m: nodemanager registration port
-c: nodemanager communication port
-s: spotfire server name
-r: spotfire server backend registration port
-b: spotfire server backend communication port
-n: node manager server name
./configure -m 9081 -c 9444 -s WIN-7I923JT4ISO -r 9080 -b 9443 -n 192.168.137.142
sudo ./configure-boot
5.nodemanager自動起動などの設定
sudo systemctl start tsnm-11.4.6
sudo systemctl enable tsnm-11.4.6
6.サーバー間の通信を確保:
SELinux:
sudo semanage port -a -t http_port_t -p tcp 9081
sudo semanage port -a -t http_port_t -p tcp 9444
ファイアウォール:
sudo firewall-cmd --add-port=9081/tcp --permanent --zone=public
sudo firewall-cmd --add-port=9444/tcp --permanent --zone=public
sudo firewall-cmd --reload
/etc/hostsファイルにIP情報を追加
7.Spotfire Webコンソール->Nodes&Services->Untrusted nodesでLinux上のnodeを信頼する。
8.インストーラ中のTIB_sf-pysrv_1.3.5_linux24gl23_x86_64.tar\TIB_sf-pysrv_1.3.5\Spotfire.Dxp.PythonServiceLinux.sdnパッケージをディプロイする。
9.Pythonサービスを追加。(DefaultでDocker Containerを使うので、設置しないとエラーになります)
10.Spotfire Server C:\tibco\tss\11.4.6\tomcat\spotfire-binでconfigファイルを設定する
C:\tibco\tss\11.4.6\tomcat\spotfire-bin>config export-service-config --capability=PYTHON --deployment-area=Production
そうすると、configフォルダは生じて、”C:\tibco\tss\11.4.6\tomcat\spotfire-bin\config\root\conf\custom.properties”の内容を編集して、Line60行をコメントアウトして、Falseにする
use.engine.containers: FALSE
設定をインポートする
C:\tibco\tss\11.4.6\tomcat\spotfire-bin>config import-service-config --config-name=pysrv2
11.Pythonサービスををpysrv2のコンフィグを選んで、サービスを再起動する。
Tip:
Docker Containerを使うとSandBoxの中にデータファンクションを実施し、セキュリティ上はいい。性能の差はあまりないです。
Containerized Spotfire Service for Python
Docker版のインストール方法:
1.Dockerfile に下記内容追加:
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* \
&& sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-* \
&& dnf -y update \
&& dnf -y install \
java-11-openjdk \
bzip2 \
openssl \
&& dnf clean all
# set JAVA_HOME variable
2.イメージを作る:
sudo docker build -t python-base:1 .
3.コンテナを作る
sudo docker images
sudo docker run -it -d python-base:1
4.”C:\tibco\tss\11.4.5\tomcat\spotfire-bin\config\root\conf\custom.properties”に下記の内容を変更
docker.image.name: python-base:1
use.engine.containers: TRUE
5.Linux Node Managerを再起動