Topik ini menjawab beberapa pertanyaan umum tentang Kudu.
- Di mana saya dapat melihat berkas log Kudu?
- Metode partisi apa yang didukung oleh Kudu?
- Bagaimana cara mengakses antarmuka web Kudu?
- Apa yang harus saya lakukan jika pesan kesalahan "NonRecoverableException" muncul di klien Kudu?
- Bagaimana cara melihat FAQ di komunitas Kudu?
- Apa yang harus saya lakukan jika pesan kesalahan "Bad status: Network error: Could not obtain a remote proxy to the peer.: unable to resolve address for <hostname>: Name or service not known" muncul?
- Apa yang harus saya lakukan jika pesan kesalahan "Bad status: I/O error: Failed to load Fs layout: could not verify integrity of files: <directory>, <number> data directories provided, but expected <number>" muncul?
- Apa yang harus saya lakukan jika pesan kesalahan "pthread_create failed: Resource temporarily unavailable (error 11)" muncul?
- Apa yang harus saya lakukan jika gagal memulai Kudu?
- Apa yang harus saya lakukan jika pesan kesalahan "Service unavailable: RunTabletServer() failed: Cannot initialize clock: timed out waiting for clock synchronisation: Error reading clock. Clock considered unsynchronized" muncul?
- Apa yang harus saya lakukan jika pesan kesalahan "Rejecting Write request: Soft memory limit exceeded" muncul?
Di mana saya dapat melihat berkas log Kudu?
Lihat berkas log Kudu di direktori /mnt/disk1/log/kudu.
Metode partisi apa yang didukung oleh Kudu?
Kudu mendukung partisi rentang dan partisi hash. Anda dapat menggunakan kedua metode partisi tersebut secara bersamaan. Untuk informasi lebih lanjut, lihat Desain Skema Apache Kudu.
Bagaimana cara mengakses antarmuka web Kudu?
Kudu tidak terintegrasi dengan Knox. Anda tidak dapat menggunakan Knox untuk mengakses antarmuka web Kudu. Anda dapat membuat terowongan SSH untuk mengakses antarmuka web Kudu. Untuk informasi lebih lanjut, lihat Buat terowongan SSH untuk mengakses antarmuka web komponen open source.
Apa yang harus saya lakukan jika pesan kesalahan "NonRecoverableException" muncul di klien Kudu?
- Deskripsi masalahInformasi kesalahan berikut muncul:
org.apache.kudu.client.NonRecoverableException: Could not connect to a leader master. Client configured with 1 master(s) (192.168.0.10:7051) but cluster indicates it expects 3 master(s) (192.168.0.36:7051,192.168.0.11:7051,192.168.0.10:7051) - Penyebab
Masalah ini terjadi karena tiga node master diperlukan, tetapi hanya satu node master yang diterapkan.
- Solusi
Terapkan semua node master yang diperlukan, dan sambungkan klien Kudu ke node master utama.
Bagaimana cara melihat FAQ di komunitas Kudu?
Untuk informasi lebih lanjut, lihat Pemecahan Masalah Apache Kudu.
Apa yang harus saya lakukan jika pesan kesalahan "Bad status: Network error: Could not obtain a remote proxy to the peer.: unable to resolve address for <hostname>: Name or service not known" muncul?
- Penyebab: Nama host tidak dapat diubah menjadi alamat IP. Akibatnya, server raft dari tablet Kudu tidak dapat mengenali jenis server raft peer-nya. Apakah server raft dapat menyediakan layanan sesuai harapan tidak diketahui. Oleh karena itu, jaringan dihentikan.
- Solusi:
- Tambahkan pemetaan antara nama host dan alamat IP yang diselesaikan secara manual ke file /etc/hosts.
- Jika host yang diwakili oleh nama host telah dilepaskan, Anda dapat menambahkan pemetaan antara nama host dan alamat IP acak ke file /etc/hosts, terlepas dari apakah alamat IP dapat diakses. Kemudian, server tablet Kudu mereplikasi data dari server raft yang tidak tersedia ke server raft baru yang ditambahkan ke grup server raft. Dengan cara ini, grup server raft dapat menyediakan layanan sesuai harapan lagi.
Apa yang harus saya lakukan jika pesan kesalahan "Bad status: I/O error: Failed to load Fs layout: could not verify integrity of files: <directory>, <number> data directories provided, but expected <number>" muncul?
Masalah ini disebabkan oleh ketidaksesuaian antara jumlah disk yang ditentukan oleh parameter -fs_data_dirs dan metadata yang direkam oleh parameter -fs_metadata_dir. Untuk menyelesaikan masalah, ubah jumlah disk yang ditentukan oleh parameter -fs_data_dirs dan pastikan jumlah disk sesuai dengan metadata yang direkam oleh parameter -fs_metadata_dir.
Apa yang harus saya lakukan jika pesan kesalahan "pthread_create failed: Resource temporarily unavailable (error 11)" muncul?
Kesalahan ini terjadi karena sumber daya tidak tersedia dan thread gagal dibuat. Selesaikan masalah berdasarkan kasus-kasus berikut:
- Sumber daya tidak tersedia.
Periksa nilai parameter max user processes dengan menjalankan perintah
ulimit -a. Jika nilainya kecil, modifikasi file /etc/security/limits.conf. Anda juga dapat membuat file /etc/security/limits.d/kudu.conf dan mengubah nilai parameter max user processes dalam file tersebut. - Klien Kudu V0.8 digunakan dalam lingkungan penyebaran hybrid.
Berdasarkan deskripsi dari masalah KUDU-1453, executor Spark mungkin bocor thread jika Kudu client V0.8 digunakan. Untuk menyelesaikan masalah, tingkatkan versi Kudu client ke V0.9.
- Thread bocor.
- Masalah yang disebabkan oleh Trino
Saat Anda keluar dari Trino dan menunggu metode take dari BlockingQueue di thread hook shutdown mengembalikan elemen, thread hook shutdown tidak dapat diinterupsi, dan kontrol E-MapReduce (EMR) terus mengirim sinyal SIGTERM untuk membuat thread SIGTERM Handler baru. Akibatnya, thread habis.
Anda dapat menyelesaikan masalah di sisi Trino, atau langsung jalankan perintah
Kill -9. - Masalah yang disebabkan oleh Jindo SDK
Spark menggunakan kelas JindoOssCommitter saat Spark mengeksekusi pekerjaan tulis. Kelas ini membuat objek JindoOssMagicCommitter dan menghasilkan thread pool bernama oss-committer-pool dalam objek JindoOssMagicCommitter. Thread pool tidak statis dan tidak dimatikan secara manual. Objek JindoOssMagicCommitter terus dibuat dan thread pool baru terus dihasilkan. Thread pool yang sebelumnya dibuat tidak dilepaskan karena berbagai alasan. Oleh karena itu, terlalu banyak thread digunakan. Jika Anda menggunakan Spark Streaming atau Structure Streaming, sumber daya sistem mungkin habis.
Anda dapat menentukan parameter berikut untuk menyelesaikan masalah:spark.sql.hive.outputCommitterClass=org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter spark.sql.sources.outputCommitterClass=org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter - Pencarian alatAnda dapat menjalankan skrip threads_monitor.sh berikut untuk menemukan proses yang menggunakan thread paling banyak di sistem. Lalu, selesaikan masalah.
#!/bin/bash total_threads=0 max_pid=-1 max_threads=-1 for tid in `ls /proc` do if [[ $tid != *self && -f /proc/$tid/status ]]; then num_threads=`cat /proc/$tid/status | grep Threads | awk '{print $NF}'` ((total_threads+=num_threads)) if [[ ${max_pid} -eq -1 || ${max_threads} -lt ${num_threads} ]]; then max_pid=${tid} max_threads=${num_threads} fi # echo "Thread ${pid}: ${num_threads}" fi done echo "Total threads: ${total_threads}" echo "Max threads: ${max_threads}, pid is ${max_pid}" ps -ef | grep ${max_pid} | grep -v grep
- Masalah yang disebabkan oleh Trino
Apa yang harus saya lakukan jika gagal memulai Kudu?
kudu-tserver dalam perintah dengan kudu-master. /usr/lib/b2monitor-current/bin/monictrl -stop kudu-tserver
/usr/lib/b2monitor-current/bin/monictrl -start kudu-tserverApa yang harus saya lakukan jika pesan kesalahan "Service unavailable: RunTabletServer() failed: Cannot initialize clock: timed out waiting for clock synchronisation: Error reading clock. Clock considered unsynchronized" muncul?
- Deskripsi masalahPesan kesalahan berikut mungkin dicatat dalam log:
E1010 10:37:54.165313 29920 system_ntp.cc:104] /sbin/ntptime ------------------------------------------ stdout: ntp_gettime() returns code 5 (ERROR) time e6ee0402.2a452c4c Mon, Oct 10 2022 10:37:54.165, (.165118697), maximum error 16000000 us, estimated error 16000000 us, TAI offset 0 ntp_adjtime() returns code 5 (ERROR) modes 0x0 (), offset 0.000 us, frequency 187.830 ppm, interval 1 s, maximum error 16000000 us, estimated error 16000000 us, status 0x2041 (PLL,UNSYNC,NANO), time constant 6, precision 0.001 us, tolerance 500 ppm, - Penyebab: ntpd di mesin tidak dapat terhubung ke server ntp yang dikonfigurasi.
- Solusi: Mulai ulang server dan coba lagi.
Apa yang harus saya lakukan jika pesan kesalahan "Rejecting Write request: Soft memory limit exceeded" muncul?
- Penyebab: Jumlah data yang akan ditulis melebihi batas memori lunak.
- Solusi:Anda dapat melakukan operasi berikut:
- Konfigurasikan parameter memory_limit_hard_bytes untuk meningkatkan ukuran memori. Nilai defaultnya adalah 0, yang menunjukkan bahwa penggunaan memori maksimum secara otomatis ditetapkan oleh sistem. Anda dapat mengubah nilainya menjadi -1. Ini menunjukkan bahwa tidak ada batasan yang diberlakukan pada penggunaan memori.
- Konfigurasikan parameter memory_limit_soft_percentage untuk menyesuaikan persentase memori yang tersedia. Nilai defaultnya adalah 80.