Amazon Linux 2 に Scala 3 をインストールする
いわさです。
後述の事情により、Amazon Linux 2 に Scala 3をインストールすることになりました。
あまりAmazon Linux 2へインストールする方法を紹介する記事が見当たりませんでしたので、再利用出来るように手順を残しておきたいと思います。
また、手順だけだと3~4行くらいで終わってしまうのすが、バージョンが違う場合など補足情報のまとめも兼ねています。
Amazon Linux 2のイメージはAmazon Linux 2 Kernel 5.10 AMI 2.0.20220406.1 x86_64 HVM gp2
を使用しています。
JDKインストール
まず、ScalaはJVMで動作するので、JDKが必要になります。
今回はせっかく(?)なので、Amazon Correttoを使ってみることにしました。
Scalaの各バージョンごとのJVMの互換情報は以下にまとまっています。
The Scala 3.x series supports JDK 8, as well as 11 and beyond.
Amazon Linux 2 への Corretto のJDKバージョンごとのインストール方法は以下です。
- バージョンごとのAmazon Linux 2 への Amazon Corretto インストール手順
今回はScala3なので上記に従ってv11を使ってみたいと思います。
[root@ip-172-31-10-157 ec2-user]# yum install java-11-amazon-corretto-headless 読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 依存性の解決をしています --> トランザクションの確認を実行しています。 : 依存性を更新しました: libblkid.x86_64 0:2.30.2-2.amzn2.0.7 libcap.x86_64 0:2.54-1.amzn2.0.1 libfdisk.x86_64 0:2.30.2-2.amzn2.0.7 libmount.x86_64 0:2.30.2-2.amzn2.0.7 libsmartcols.x86_64 0:2.30.2-2.amzn2.0.7 libuuid.x86_64 0:2.30.2-2.amzn2.0.7 util-linux.x86_64 0:2.30.2-2.amzn2.0.7 完了しました! [root@ip-172-31-10-157 ec2-user]# java --version openjdk 11.0.14.1 2022-02-08 LTS OpenJDK Runtime Environment Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS, mixed mode)
問題なくインストール出来ました。
Scalaインストール
公式ドキュメントだとbrewを使ってインストールする方法がまず紹介されています。
ですが、今回はGitHubからScalaバイナリをダウンロードすることにしようと思います。
それぞれのバイナリのダウンロード先は以下から取得しましょう。
v3.1.x - Assets - Bynary
v2.13.x - Other resources - Binary
brewなどを使う方法以外に、wgetでもってきて配置する方法も公式ドキュメントにインストール方法のひとつとしてちゃんと紹介されています。
[root@ip-172-31-10-157 ec2-user]# wget https://github.com/lampepfl/dotty/releases/download/3.1.2/scala3-3.1.2.tar.gz --2022-04-20 01:54:44-- https://github.com/lampepfl/dotty/releases/download/3.1.2/scala3-3.1.2.tar.gz github.com (github.com) をDNSに問いあわせています... 13.114.40.48 github.com (github.com)|13.114.40.48|:443 に接続しています... 接続しました。 : [root@ip-172-31-10-157 ec2-user]# tar xvzf scala3-3.1.2.tar.gz scala3-3.1.2/bin/ scala3-3.1.2/bin/scalac scala3-3.1.2/bin/scala.bat scala3-3.1.2/bin/scaladoc scala3-3.1.2/bin/scalac.bat scala3-3.1.2/bin/scala scala3-3.1.2/bin/scaladoc.bat : [root@ip-172-31-10-157 ec2-user]# mv scala3-3.1.2 /usr/local/scala [ec2-user@ip-172-31-10-157 ~]$ export SCALA_HOME=/usr/local/scala [ec2-user@ip-172-31-10-157 ~]$ export PATH=$PATH:$SCALA_HOME/bin [ec2-user@ip-172-31-10-157 ~]$ scala --version Scala code runner version 3.1.2 -- Copyright 2002-2022, LAMP/EPFL
Scaraへのパスを通すのを忘れないようにしましょう。
動作確認
最後に、軽く動作確認をします。
Scala 2のチュートリアルからHello World的なことだけしておきましょう。
[ec2-user@ip-172-31-10-157 ~]$ scala Welcome to Scala 3.1.2 (11.0.14.1, Java OpenJDK 64-Bit Server VM). Type in expressions for evaluation. Or try :help. scala> println("Hello, world!") Hello, world!
良さそうですね。
さいごに
次回以降はですね、Spark Cassandra Connectorを使ってAmazon Keyspacesへの接続をトライしてみようと思います。(最近出来るようになった)
実は、Spark Cassandra Connectorの前提条件にScalaが必要なのでこの記事を書きました。