こちらのガイドは、bashスクリプトを使用して、LinuxOSの環境にYellowfinを自動的に導入する方法について紹介します。
Bashスクリプトの導入
以下は、任意のLinuxOSシステム(Ubuntuなど)に、Yellowfinとその依存関係をインストールする際に、そのまま、もしくは簡単な変更で使用できるヘッドレスbashスクリプトの例です。
要件
こちらのbashスクリプトには、以下が必要です。
- PostgresSQLにインストールする際に使用する、データベースのユーザーとパスワードを提供する。
- Yellowfinのウェブサイト、またはライセンスファイルから提供される、Yellowfin .jarインストーラーを指定する。
スクリプト手順の概要
スクリプトは、以下の手順を実行します。
- デフォルトのJavaをインストールします。
- PostgresSQLをインストールします。
- Yellowfinが使用するPostgresユーザーを作成します。
- Yellowfinのためのサイレントインストーラーファイルを生成します。
- Yellowfinをインストールします。
- Yellowfinを起動します。
- スクリプト自体をクリーンアップします。
Bashスクリプト
以下のスクリプトを使用するためには、Linuxを完全に理解していることが重要です。
#CODE HERE #!/bin/bash date echo "Start script" #Setting DB user var _dbuser=`echo $1 | base64 --decode` echo "db User is" echo $_dbuser #Setting DB user var _dbpass=`echo $2 | base64 --decode` echo "db pass is" echo $_dbpass #Update installer package date echo "Update apt-get" sudo apt-get update #Install JRE and Postgres date echo "Install Default-jre" sudo apt-get install --yes --force-yes default-jre date echo "Install Postgres" sudo apt-get install --yes --force-yes postgresql postgresql-contrib #Create Postgres User for YF date echo "Create Postgres DB User" sudo -u postgres createuser $_dbuser --createdb --superuser date echo "Set Postgres DB User Pass" sudo -u postgres psql -c "ALTER USER $_dbuser WITH PASSWORD '$_dbpass'" #OPTIONAL #Get Yellowfin Installer #Change the "WGET" to the location of your Yellowfin installer file #date #echo "Get Yellowfin Installer" #wget http://insterller-file-here/installer.jar -O /tmp/yellowfin.jar #OPTIONAL #Get Yellowfin Licence #date #echo "Get Yellowfin Licence" #wget http://licence-location-here/licence.lic -O /tmp/yellowfin72.lic #Generate Silence Installer Properties date echo "Generate Silence Installer Properties" echo "InstallPath=/opt/yellowfin" >> /tmp/install.properties echo "InstallTutorialDatabase=true" >> /tmp/install.properties echo "LicenceFilePath=/tmp/licence.lic" >> /tmp/install.properties echo "ServicePort=80" >> /tmp/install.properties echo "DatabaseType=PostgreSQL" >> /tmp/install.properties echo "CreateYellowfinDB=true" >> /tmp/install.properties echo "CreateYellowfinDBUser=false" >> /tmp/install.properties echo "DatabaseHostname=localhost" >> /tmp/install.properties echo "DatabaseName=yellowfindb" >> /tmp/install.properties echo "DatabaseDBAUser=$_dbuser" >> /tmp/install.properties echo "DatabaseDBAPassword=$_dbpass" >> /tmp/install.properties echo "DatabaseUser=$_dbuser" >> /tmp/install.properties echo "DatabasePassword=$_dbpass" >> /tmp/install.properties #Install Yellowfin date echo "Install Yellowfin" sudo java -jar /tmp/yellowfin.jar -silent /tmp/install.properties #Set Boot Params date echo "Set Boot Params" sudo sed -i '$ihostname Yellowfin72' /etc/rc.local sudo sed -i '$i/opt/yellowfin/appserver/bin/startup.sh > /tmp/yellowfinstart.log 2>&1' /etc/rc.local #Start Yellowfin date echo "Start Yellowfin" sudo nohup /opt/yellowfin/appserver/bin/startup.sh #Clean Up date echo "Clean up" rm -rf /tmp/installer.jar rm -rf /tmp/licence.lic date echo "END" exit 0
導入手順
- Linuxのターミナルにログインします。
端末にYellowfin .jarインストーラーをアップロードし、名前を変更します。これを、以下のディレクトリに配置します:「/tmp/yellowfin.jar」。これは、SCP、または任意の転送方法を使用して行うことができます。
Windows端末からアップロードをする場合は、WinSCPのような簡単に使用できるツールの利用を推奨します。
Yellowfinのウェブサイトからインストーラーをダウンロードした場合は、「yellowfin.jar」に名前を変更してください。
- 端末にYellowfinのライセンスをアップロードし、名前を「licence.lic」に変更します。これを、以下のディレクトリに配置します:「/tmp/licence.lic」。これは、SCP、または任意の転送方法を使用して行うことができます。
テキストエディターを使用して、提供されたスクリプトをコピーし、「.sh」ファイルとして保存します。
スクリプトに必要な変更を追加します。例えば、ライセンスファイルと、Yellowfinのインストーラーファイルを同一ディレクトリに配置していない場合は、それぞれの配置先を指定します。スクリプトの「#Generate Silent Installer」項目内で、Yellowfinがインストールされる先を変更することもできます。
スクリプト内には、選択したロケーションから、スクリプトがライセンスとインストーラーファイルをwgetするオプション項目があることに注意してください。こちらを使用する場合は、項目のコメントを外してください。重要:wgetの値を変更して、これらのファイルの正確なロケーションへスクリプトを誘導しなくてはいけません。
- 新しい「.sh」ファイルを、Linux上で実行可能にします。(chmod + x script.sh)
スクリプトを実行します。(./script.sh)
付与されている権限レベルに応じて、スクリプトをrootとして実行しなくてはいけない場合があります。rootでインストールをした場合は、Yellowfinの起動もrootで行う必要があります。
デフォルトでは、このスクリプトは、Yellowfinを「/opt/yellowfin」にインストールするように設定されています。Yellowfinを起動するためには、「/opt/yellowfin/appserver/bin」へ移動し、「./startup.sh」を実行します。
インストーラースクリプトをrootとして実行した場合は、./startup.shもrootで実行する必要があります。
Yellowfinが起動し、ポート80にて利用できるようになります。
Yellowfinを異なるポートで実行したい場合は、スクリプトの「#Generate Silent Installer」項目で、これを変更することができます。