3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi で GlassFish を動かすまでのメモ

Posted at

こんな小さな基盤の上で Java EE サーバーが動くなんて、胸熱ですね。
ケースに入れれば、 Java EE サーバーをポケットに入れて持ち歩けるわけですね。なんだかワクワクしてきますね!

必要なものを用意(購入)する

  • Raspberry Pi 本体(type B)
  • SD カード
  • LAN ケーブル
  • HDMI ケーブル
  • USB マウス
  • USB キーボード
  • モニター(HDMI の入力ができるやつ)
  • micro USB ケーブル(携帯の充電とかで使ってやつで OK)

どれも Amazon で買える。
買った後で、 type B+ という新しいモデルがあることを知った orz。

あと、基盤丸出しが気になる場合はケースを買うといい(1000 円強くらい)。

OS をインストールするためのファイルをダウンロードする

上記公式サイトから、 NOOBS Lite を落としてくる。
落としたら、 zip を解凍する。

SD カードに NOOBS Lite を書き込む

SD カードをパソコンに挿して、先ほどダウンロードした NOOBS Lite の中身を SD カードにコピーする。

Raspberry Pi に色々接続する

  • インターネットに繋がっている LAN ケーブルを接続する(要 DHCP)。
  • HDMI でモニターと接続する。
  • USB マウスとキーボードを接続する。
  • 先ほどインストール用のファイルを保存した SD カードを接続する。

以上が完了したら、電源(1A 以上)に繋がった micro USB を接続する。
接続したら勝手に起動して、画面に OS のインストール画面が表示される。

Raspbian をインストールする

言語で日本語を選んで、公式が推奨している Raspbian をインストールする。
OS を選択して Install をクリックするだけ。簡単!

インストールが終わったらダイアログが表示されるので、「OK」をクリックして完了。

日本語化

続いて青背景の Raspbian の設定画面が表示される。
ロケールなどの設定がここでできるが、そのままだと文字化けして分けがわからないので、一旦 Finish を選んで終了させる。

コマンドラインに移るので、以下のコマンドを実行。

$ sudo aptitude -y install jfbterm

$ jsbterm

$ sudo raspi-config

今度は日本語が表示されるようになっているはず。
※再起動すると日本語化が解けるので、また jfbterm しないといけない。

raspi-config での設定

ロケールとかの設定

  • [4 Internationalisation Options] → [l1 Change Locale] → [ja_JP.UTF-8.UTF-8] を選択。
  • [4 Internationalisation Options] → [l2 Change Timezone] → [アジア] → [Tokyo] を選択。
  • [4 Internationalisation Options] → [l3 Change Keyboard Layout] → [標準 105 キー(国際)PC] → [日本語 - 日本語(OADG 109A)] を選択。
    • [AltGr] の設定では、 [キーボード配置のデフォルト] を選択する。
    • [コンポーズキー] の設定ではい、 [コンポーズキーなし] を選択する。

GPU に割り当てるメモリ量を変更する

デフォルトだと 64MB のメモリを GPU のために使用するようになっているが、サーバー用途で動かすのであれば無駄になる。
なので、 GPU に割り当てられているメモリ量を減らして、少しでもメイン処理にメモリが使えるようにする。

  • [8 Advanced Options] → [A3 Memory Split] → [16] と入力して [了解] を選択。

SSH を有効にする

  • [8 Advanced Options] → [A4 SSH] → [Enable] を選択。

設定が終わったら [Finish] を選択。
マシンが再起動する。

SSH で接続できるようにする

以後は SSH でリモート接続して作業できるようにする。

※家の中でのローカル作業なので、セキュリティ的なことは一切考えていない作業手順です。

パスワードログインを有効にする

$ sudo vi /etc/ssh/ssh_config
/etc/ssh/ssh_config
- #   PasswordAuthentication yes
+    PasswordAuthentication yes

※25 行目

sshd の再起動

$ service ssh restart

他の端末から接続できるか確認

> ssh pi@<Raspberry Pi の IP アドレス>

パスワードは、デフォルトは raspberry

接続できたら OK。

GlassFish をインストールする

Web プロファイルを落として動かす。
ちなみに、 Java は JDK 8 がデフォルトで入っていたので特にインストール作業はしなくていい。

インストール

$ sudo mkdir -p /app/glassfish

$ sudo chown pi /app/glassfish

$ cd /app/glassfish

$ wget http://dlc.sun.com.edgesuite.net/glassfish/4.1/release/glassfish-4.1-web.zip

$ unzip glassfish-4.1-web.zip

ディレクトリ作って zip 落として解凍するだけ。

外部から管理コンソールをさわれるようにする

$ cd /app/glassfish/glassfish4/bin

$ ./asadmin change-admin-password --user admin
Enter the admin password>【未入力のまま Enter】
Enter the new admin password>【admin】
Enter the new admin password again>【admin】
Command change-admin-password executed successfully.

$ ./asadmin start-domain

$ ./asadmin enable-secure-admin

$ ./asadmin stop-domain

$ ./asadmin start-domain

結構起動に時間がかかる。さすがにスペック的に仕方ないか。

確認する

別のマシンから https://<Raspberry Pi の IP アドレス>:4848/ にアクセスしてみる。

コンソールの立ち上がりに5~10分くらいかかる。
気長に待つ。。。

raspberrypi.JPG

キタ!!

admin / admin でログインする。

raspberrypi.JPG

ページ遷移ごとに結構時間がかかる。
しかし、一応待てば数分以内にレスポンスは返ってくる。

試しにアプリをデプロイしてみる。

簡単な JAX-RS の Web アプリをデプロイして、動かしてみる。

PiApplication.java
package gl8080.pi;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("rest")
public class PiApplication extends Application {
}
HelloResource.java
package gl8080.pi;

import javax.ws.rs.GET;
import javax.ws.rs.Path;

@Path("hello")
public class HelloResource {
    
    @GET
    public String hello() {
        return "Hello Java EE on Raspberry Pi";
    }
}
$ curl http://192.168.0.109:8080/pi/rest/hello
Hello Java EE on Raspberry Pi

当たり前ですけど、動いてます。
あの小さな板の上で、確かに Java EE アプリが動いてます。感動的ですね。

さすがに Web コンソールは重くて厳しいので、サーバーの管理は asadmin を活用することになりそう。
しかし、それ以外は問題なく動きます。

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?