Beberapa komponen open source inti yang disertakan dengan cluster Dataproc, seperti Apache Hadoop dan Apache Spark, menyediakan antarmuka web. Antarmuka ini dapat digunakan untuk mengelola dan memantau resource dan fasilitas cluster, seperti pengelola resource YARN, Hadoop Distributed File System (HDFS), MapReduce, dan Spark. Komponen atau aplikasi lain yang Anda instal di cluster juga dapat menyediakan antarmuka web (lihat, misalnya, Menginstal dan menjalankan notebook Jupyter pada cluster Dataproc).
Antarmuka yang tersedia
Antarmuka berikut tersedia di node master cluster Dataproc (ganti master-host-name
dengan nama node master Anda).
UI Web | Port | URL |
---|---|---|
YARN ResourceManager | 80881 | http://master-host-name:8088 |
NameNode HDFS | 98702,3 | http://master-host-name:9870 |
1 Di cluster yang mengaktifkan Kerberos, port UI web YARN ResourceManager adalah 8090, dan berjalan di HTTPS.
2 Pada cluster yang mendukung Kerberos, port UI web Namenode HDFS adalah 9871, dan berjalan di HTTPS.
3 Pada rilis Dataproc sebelumnya (sebelum 1.2), port UI web HDFS NameNode adalah 50070.
YARN ResourceManager memiliki link untuk semua antarmuka web Aplikasi MapReduce dan Spark yang sedang berjalan dan telah selesai di kolom "Tracking UI".

REST API YARN ResourceManager yang diizinkan
Saat Anda membuat cluster, Dataproc
menetapkan properti yarn.resourcemanager.webapp.methods-allowed
yarn-site.xml
ke "GET,HEAD", yang membatasi metode HTTP yang dapat dipanggil di
UI web YARN Resource Manager dan
REST API
ke metode GET
dan HEAD
. Setelan default ini juga
menonaktifkan pengiriman dan modifikasi tugas melalui YARN REST API.
Anda dapat mengganti nilai default untuk mengaktifkan metode HTTP tertentu
di port 8088 dengan menyetel properti ini ke satu atau beberapa nama metode HTTP
yang dipisahkan koma. Nilai ALL
akan mengizinkan semua metode HTTP di port.
Contoh:
gcloud dataproc clusters create cluster-name \ --properties=^#^yarn:yarn.resourcemanager.webapp.methods-allowed=GET,POST,DELETE \ --region=region \
Rekomendasi: Jika Anda menyetel properti ini untuk mengizinkan metode HTTP non-default, pastikan untuk mengonfigurasi aturan firewall dan setelan keamanan lainnya untuk membatasi akses ke port 8088.
Menghubungkan ke antarmuka web
Anda dapat terhubung ke antarmuka web yang berjalan di cluster Dataproc menggunakan Gateway Komponen Dataproc, Cloud Shell project Anda, atau alat command line gcloud Google Cloud CLI:
Component Gateway: Terhubung dengan sekali klik ke Hadoop, Spark, dan antarmuka Web komponen lainnya dari konsol Google Cloud . Anda mengaktifkan Component Gateway saat membuat cluster.
Cloud Shell: Cloud Shell di konsol Google Cloud telah menginstal sebelumnya perintah dan utilitas gcloud CLI, serta menyediakan fitur Pratinjau Web yang memungkinkan Anda terhubung dengan cepat melalui tunnel SSH ke port antarmuka web di cluster. Namun, koneksi ke cluster dari Cloud Shell menggunakan penerusan port lokal, yang membuka koneksi hanya ke satu port di antarmuka web cluster—beberapa perintah diperlukan untuk terhubung ke beberapa port. Selain itu, sesi Cloud Shell akan otomatis keluar setelah tidak aktif selama jangka waktu tertentu (30 menit).
Google Cloud CLI: Perintah
gcloud compute ssh
dengan penerusan port dinamis memungkinkan Anda membuat tunnel SSH dan menjalankan server proxy SOCKS di atas tunnel tersebut. Setelah mengeluarkan perintah ini, Anda harus mengonfigurasi browser lokal untuk menggunakan proxy SOCKS. Metode koneksi ini memungkinkan Anda terhubung ke beberapa port di antarmuka web cluster. Lihat Dapatkah saya menggunakan penerusan port lokal, bukan proxy SOCKS? untuk mengetahui informasi selengkapnya.
Menetapkan variabel perintah yang umum digunakan
Untuk mempermudah penyalinan dan menjalankan contoh command line di mesin lokal atau di Cloud Shell, tetapkan variabel perintah gcloud dataproc
. Variabel tambahan mungkin perlu ditetapkan untuk beberapa contoh perintah yang ditampilkan di halaman ini.
Linux/mac/Shell
export PROJECT=project;export HOSTNAME=hostname;export ZONE=zone
Windows
set PROJECT=project && set HOSTNAME=hostname && set ZONE=zone
- Tetapkan PROJECT ke Google Cloud project ID Anda
- Tetapkan HOSTNAME ke nama
node master di cluster
Dataproc Anda (nama master diakhiri dengan akhiran
-m
) - Setel ZONE ke zone VM di cluster Dataproc Anda (misalnya, "us-central1-b")
Membuat tunnel SSH
Perintah gcloud
Jalankan perintah gcloud
berikut di komputer lokal Anda untuk
menyiapkan tunnel SSH dari port terbuka di komputer lokal Anda ke
instance master cluster Anda, dan jalankan server proxy SOCKS lokal
yang memproses permintaan di port.
Sebelum menjalankan perintah, di komputer lokal Anda:
- Menetapkan variabel perintah yang umum digunakan
- Tetapkan variabel PORT ke port terbuka di mesin lokal Anda.
Port
1080
adalah pilihan arbitrer, tetapi umum karena kemungkinan terbuka.PORT=number
Linux/macOS
gcloud compute ssh ${HOSTNAME} \ --project=${PROJECT} --zone=${ZONE} -- \ -D ${PORT} -N
Windows
gcloud compute ssh %HOSTNAME% ^ --project=%PROJECT% --zone=%ZONE% -- ^ -D %PORT% -N
Pemisah --
memungkinkan Anda menambahkan
argumen SSH
ke perintah gcloud compute ssh
, sebagai berikut:
-D
menentukan penerusan port tingkat aplikasi dinamis.-N
menginstruksikangcloud
untuk tidak membuka shell jarak jauh.
Perintah gcloud
ini membuat tunnel SSH yang beroperasi
secara independen dari sesi shell SSH lainnya, tidak menampilkan error terkait tunnel di
output shell, dan membantu mencegah penutupan tunnel yang tidak disengaja.
Jika perintah ssh gagal dengan pesan error
bind: Cannot assign requested address
, kemungkinan penyebabnya adalah
port yang diminta sedang digunakan. Coba jalankan perintah dengan nilai variabel
PORT yang berbeda.
Perintah di atas berjalan di latar depan, dan harus terus berjalan agar tunnel tetap aktif. Perintah akan otomatis keluar jika dan saat Anda menghapus cluster.
Cloud Shell
-
Buka Google Cloud Cloud Shell.
-
Jalankan perintah
gcloud
di bawah ini di Cloud Shell untuk menyiapkan tunnel SSH dari port pratinjau Cloud Shell ke port antarmuka web di node master pada cluster Anda. Sebelum menjalankan perintah, di Cloud Shell :- Menetapkan variabel perintah yang umum digunakan
- Tetapkan variabel PORT1 ke port Cloud Shell
dalam rentang port 8080 - 8084, dan tetapkan variabel PORT2
ke port antarmuka web di node master pada
cluster Dataproc Anda.
PORT1=number PORT2=number
gcloud compute ssh ${HOSTNAME} \ --project=${PROJECT} --zone=${ZONE} -- \ -4 -N -L ${PORT1}:${HOSTNAME}:${PORT2}
Pemisah
--
memungkinkan Anda menambahkan argumen SSH ke perintahgcloud compute ssh
, sebagai berikut:-4
menginstruksikan ssh untuk hanya menggunakan IPv4.-N
menginstruksikangcloud
untuk tidak membuka shell jarak jauh.-L ${PORT1}:${HOSTNAME}:${PORT2}
menentukan penerusan port lokal dari Cloud Shell yang ditentukan PORT1 ke cluster HOSTNAME:PORT2.
Perintah
gcloud
ini membuat tunnel SSH yang beroperasi secara independen dari sesi shell SSH lainnya, tidak menampilkan error terkait tunnel di output shell, dan membantu mencegah penutupan tunnel yang tidak disengaja.
Mengonfigurasi browser Anda
Perintah gcloud
Tunnel SSH Anda mendukung proxy traffic menggunakan protokol SOCKS.
Untuk mengonfigurasi browser Anda agar menggunakan proxy, mulai sesi browser baru dengan
parameter server proxy. Berikut adalah contoh yang menggunakan browser Google Chrome.
HOSTNAME
adalah nama node master cluster (lihat
Menetapkan variabel perintah yang umum digunakan).
Linux
/usr/bin/google-chrome \ --proxy-server="socks5://localhost:${PORT}" \ --user-data-dir=/tmp/${HOSTNAME}
macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --proxy-server="socks5://localhost:${PORT}" \ --user-data-dir=/tmp/${HOSTNAME}
Windows
"%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" ^ --proxy-server="socks5://localhost:%PORT%" ^ --user-data-dir="%Temp%\%HOSTNAME%"
Perintah ini menggunakan flag browser Chrome berikut:
-proxy-server="socks5://localhost:1080"
memberi tahu Chrome untuk mengirim semua permintaan URLhttp://
danhttps://
melalui server proxy SOCKSlocalhost:${PORT}
, menggunakan protokol SOCKS versi 5. ${PORT} adalah variabel port yang Anda tetapkan di Membuat tunnel SSH. Nama host untuk URL di-resolve oleh server proxy, bukan secara lokal oleh Chrome.--user-data-dir=/tmp/${HOSTNAME}
memaksa Chrome membuka jendela baru yang tidak terikat ke sesi Chrome yang ada. Tanpa flag ini, Chrome dapat membuka jendela baru yang terlampir ke sesi Chrome yang ada, dengan mengabaikan setelan--proxy-server
Anda. Nilai yang ditetapkan untuk--user-data-dir
dapat berupa jalur yang tidak ada.
Cloud Shell
Anda tidak perlu mengonfigurasi browser lokal saat menggunakan Cloud Shell. Setelah membuat tunnel SSH, gunakan pratinjau web Cloud Shell untuk terhubung ke antarmuka cluster.
Menghubungkan ke antarmuka cluster
Perintah gcloud
Setelah browser lokal Anda dikonfigurasi untuk menggunakan proxy, Anda dapat membuka URL antarmuka web di cluster Dataproc Anda (lihat Antarmuka yang tersedia).
URL browser memiliki format dan konten berikut:
http://cluster-name-m:port
(port antarmuka cluster)
Cloud Shell
Klik tombol Web Preview Cloud Shell ,
lalu pilih salah satu opsi berikut:
- "Preview on port 8080", atau
- "Ubah port" dan masukkan nomor port dalam dialog
gcloud compute ssh
di
Membuat tunnel SSH.


Jendela browser akan terbuka dan terhubung ke port antarmuka web di node master cluster.
FAQ dan tips proses debug
Bagaimana jika saya tidak melihat UI di browser saya?
Jika Anda tidak melihat UI di browser, dua alasan paling umumnya adalah:
Anda mengalami masalah konektivitas jaringan, mungkin karena firewall. Jalankan perintah berikut (setelah menetapkan variabel lokal) untuk melihat apakah Anda dapat melakukan SSH ke instance master. Jika Anda tidak dapat mengaksesnya, berarti ada masalah konektivitas.
Linux/macOS
gcloud compute ssh ${HOSTNAME}-m \ --project=${PROJECT}
Windows
gcloud compute ssh %HOSTNAME%-m ^ --project=%PROJECT%
Proxy lain mengganggu proxy SOCKS. Untuk memeriksa proxy, jalankan perintah
curl
berikut (tersedia di Linux dan macOS):Linux/macOS
curl -Is --socks5-hostname localhost:1080 http://cluster-name-m:8088
Windows
curl.exe -Is --socks5-hostname localhost:1080 http://cluster-name-m:8088
Dapatkah saya menggunakan penerusan port lokal, bukan proxy SOCKS?
Daripada proxy SOCKS, Anda dapat mengakses UI aplikasi web yang berjalan di instance master dengan penerusan port lokal SSH, yang meneruskan port master ke port lokal. Misalnya, perintah berikut memungkinkan
Anda mengakses localhost:1080
untuk menjangkau cluster-name-m:8088
tanpa SOCKS
(lihat Menetapkan variabel perintah yang umum digunakan):
Linux/macOS
gcloud compute ssh ${HOSTNAME}-m \ --project=${PROJECT} -- \ -L 1080:${HOSTNAME}-m:8088 -N -n
Windows
gcloud compute ssh %HOSTNAME%-m ^ --project=%PROJECT% -- ^ -L 1080:%HOSTNAME%-m:8088 -N -n
Menggunakan proxy SOCKS mungkin lebih baik daripada menggunakan penerusan port lokal karena proxy:
- memungkinkan Anda mengakses semua port aplikasi web tanpa harus menyiapkan tunnel penerusan port untuk setiap port UI
- memungkinkan UI web Spark dan Hadoop me-resolve host DNS dengan benar