Jupyter Notebook adalah aplikasi berbasis web yang open source dan dapat digunakan untuk membuat dan berbagi dokumen yang berisi kode, equation, visualisasi dan lainnya
Jupyter Notebook banyak digunakan untuk analisis data khususnya dalam pemrograman python karena mudah digunakan dan sangat interaktif
Dalam analisis data terkadang membutuhkan spek komputer yang tinggi untuk bisa melakukan analisis yang cepat khususnya untuk training machine learning
Jupyter Notebook umumnya digunakan hanya untuk menjalakan aplikasi di atas laptop dengan spek terbatas
Jika kita mempunyai server dengan spek tinggi kita bisa menggunakan interface Jupyter Notebook secara lokal untuk remote melalui komputer lokal dengan sumber daya komputasi dari server
Artikel ini akan sharing bagaimana melakukan remote Jupyter Notebook dari sebuah server tertentu salah satunya adalah virtual machine yang sudah kita buat sebelumnya
Tutorial ini tidak hanya dikhususkan untuk remote Jupyter Notebook yang berjalan di virtual machine google cloud tapi juga secara umum di atas virtual server / physical server lainnya
Contents
Login Virtual Machine
Lakukan remote server melalui aplikasi semacam putty atau aplikasi terminal lainnya dengan memasukkan host
dan port
. Atau jika menggunakan terminal dan sudah terinstall ssh gunakan perintah ssh username@IP_External
Install Jupyter Notebook
Langkah pertama Install Jupyter Notebook dengan perintah
apt install jupyter
Setup Konfigurasi Jupyter
Cek konfigurasi Jupyter di virtual machine dengan perintah
ls ~/.jupyter/jupyter_notebook_config.py
Jika kosong tambahkan dengan perintah
jupyter notebook --generate-config
Buka file konfigurasi dengan perintah
nano ~/.jupyter/jupyter_notebook_config.py
Tambahkan script seperti ini
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8889
Simpan dengan menekan tombol Ctrl + X dilanjutkan tombol Y dan Enter
Tambah Port VM
Jika jupyter notebook diinstall di atas virtual machine Google Cloud Platform maka tambahkan port 8889
agar aplikasi jupyter dapat dibuka di port tersebut
Cara menambahkannya sama dengan tutorial sebelumnya yaitu menambah policy di Firewall. Untuk mempermudah kita tidak akan membuat policy baru tetapi hanya menambahkan saja port 8889
di policy yang sudah dibikin sebelumnya
Buka Google Cloud Console dan masuk ke VM kemudian pilih View network details
Pilih menu Firewall
dan klik policy port-metabase
Klik priority 1
yang sudah kita buat sebelumnya
Kemudian tekan tombol Edit
Tambahkan Port 8889
di Protocol TCP dan tekan tombol Save
Jalankan Jupyter Notebook
Kembali ke halaman remote server yang sudah dibuka tadi. Jalankan Jupyter Notebook tanpa menampilkannya di browser dengan perintah
jupyter-notebook --no-browser --port=8889 --allow-root
Copas token
di baris terakhir yang akan digunakan untuk membuka jupyter di browser
Jalan matikan service jupyter yang sedang berjalan
Note. Jika ingin menjalankan jupyter dan masih ingin berinteraksi dengan halaman server gunakan tmux. Tutorialnya bisa diakses di sini
Launch jupyter notebook di browser dengan memasukkan IP Address dengan port 8889. Jika diminta token masukkan token yang diperoleh saat menjalankan jupyter notebook di server
Finally kita bisa menjalan jupyter notebook di atas Google Cloud Platform
Remote Jupyter Notebook
Kita juga bisa melakukan remote jupyter notebook dengan forwarding ke komputer lokal dengan port tertentu misal port 8888
Buka terminal baru dan jalankan perintah
ssh -L 8888:localhost:8889 root@34.101.234.72
Buka browser dengan alamat localhost:8888
Dan voilaa kita bisa akses jupyter notebook di Google Cloud Platform seperti menjalankannya secara lokal di komputer kita. Dan yang pasti kita menggunakan jupyter dengan resource dari virtual machine Google Cloud bukan dari komputer lokal kita