2019年6月6日木曜日

VagrantでTalend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、TigerVNCがインストールされた仮想マシン(Ubuntu18.04)を構築する

TalendはオープンソースのJava製のETLアプリケーションです。

〇Talendの画面

このVMにはTigerVNCもインストールされているので、VNCクライアントで接続することができます。パスワードはvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、Talend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、TigerVNCをインストールした仮想マシン(Ubuntu18.04)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804vncxfcetos711"
config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804vncxfcetos711"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install fcitx-mozc xubuntu-desktop xfce4-terminal language-pack-ja tigervnc-standalone-server expect
apt-get -y purge light-locker
im-config -n fcitx


# set passwd for vnc
cat << EOC > /tmp/initpass.sh
/usr/bin/expect << EOF
spawn "tigervncpasswd"
expect "Password:"
send "vagrant\\r"
expect "Verify:"
send "vagrant\\r"
expect "Would you like to enter a view-only password (y/n)?"
send "n\\r"
expect eof
exit
EOF
EOC
chmod +x /tmp/initpass.sh
sudo -u vagrant -H /bin/bash -c "/tmp/initpass.sh"


mkdir -p /home/vagrant/.vnc
chown vagrant:vagrant /home/vagrant/.vnc
cat << EOF > /home/vagrant/.vnc/xstartup
#!/bin/sh
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
fcitx -r -d &
exec startxfce4
EOF
chmod +x /home/vagrant/.vnc/xstartup

cat << EOF > /etc/systemd/system/vncserver@.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=vagrant
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1152x864 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl start vncserver@1.service
sudo systemctl enable vncserver@1.service

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install Talend Open Studio
wget 'https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/7.1.1/TOS_DI-20181026_1147-V7.1.1.zip'
unzip TOS_DI-20181026_1147-V7.1.1.zip
mv TOS_DI-20181026_1147-V7.1.1 /opt/tosdi

# create a shortcut for Talend Open Studio for Data Integration
cat << EOF > /usr/share/applications/tosdi.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/tosdi/TOS_DI-linux-gtk-x86_64
Name=Talend Open Studio for Data Integration
Categories=Utility;Development;
EOF

init 5
SHELL
end

関連情報

・Talendに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿