Kata pengantar
Sebelum memulai, perlu dicatat bahwa tidak ada hubungan yang diperlukan antara badai dan instalasi kluster Kafka. Saya menulis keduanya bersama -sama karena keduanya dikelola oleh Zookeeper dan mengandalkan lingkungan JDK. Agar tidak mengulangi konfigurasi, saya menulis keduanya bersama -sama. Jika Anda hanya membutuhkannya, cukup pilih bacaan yang Anda pilih. Saya tidak akan mengatakan banyak hal di bawah ini, mari kita lihat perkenalan terperinci bersama.
Ketergantungan keduanya adalah sebagai berikut:
Catatan: Storm1.0 dan Kafka2.0 membutuhkan JDK setidaknya 1,7 dan Zookeeper3.0 atau lebih.
Alamat unduhan:
Instalasi JDK
Setiap mesin perlu diinstal dengan JDK! Lai Lai
Catatan: Umumnya, Centos dilengkapi dengan OpenJDK, tetapi kami menggunakan JDK Oracle. Jadi, Anda perlu menulis uninstall OpenJDK, dan kemudian menginstal JDK yang diunduh di Oracle. Jika Anda telah dihapus, Anda dapat melewatkan langkah ini.
Pertama masukkan java -version
Periksa apakah JDK diinstal. Jika diinstal tetapi versinya tidak cocok, hapus instalannya.
memasuki
RPM -QA | Grep Java
Lihat informasi
Kemudian masukkan:
rpm -e --nodeps "Anda ingin menghapus informasi JDK"
Misalnya: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
Setelah mengkonfirmasi bahwa itu hilang, unzip JDK yang diunduh
TAR -XVF JDK-8U144-LINUX-X64.TAR.GZ
Pindah ke folder opt/java, buat yang baru tanpa mereka, dan ganti nama folder ke JDK1.8.
mv jdk1.8.0_144 /opt /javamv jdk1.8.0_144 jdk1.8
Kemudian edit file profil dan tambahkan konfigurasi berikut
memasuki:
vim /etc /profile
Tambahkan ke:
Ekspor java_home =/opt/java/jdk1.8Export jre_home =/opt/java/jdk1.8/jreexport classpath = .: $ java_home/lib/dt.jar: $ java_home/lib/tools.jar: $ jre_home/kibeks Path = .: $ {java_home}/bin: $ pathSetelah penambahan yang berhasil, masukkan
Sumber /etc /ProfileJava -Version
Periksa apakah konfigurasinya berhasil
Instalasi Lingkungan Zookeeper
1. Persiapan dokumen
Unzip file konfigurasi zookeeper yang diunduh
Masukkan di Linux:
TAR -XVF ZOEKEEPER -3.4.10.TAR.GZ
Kemudian pindah ke /opt /zooKeeper, buat yang baru tanpa itu, dan kemudian ganti nama folder ke zookeeper3.4
memasuki
MV ZooKeeper-3.4.10 /opt /zooKeePermv zooKeeper-3.4.10 zookeeper3.4
2. Konfigurasi Lingkungan
Edit /etc /file profil
memasuki:
Ekspor zk_home =/opt/zooKeeper/zooKeeper3.4 jalur ekspor = .: $ {java_home}/bin: $ {zk_home}/bin: $ pathmemasuki:
Sumber /etc /profil
Membuat konfigurasinya efektif
3. Ubah file konfigurasi
3.3.1 Buat file dan direktori
Buat direktori ini di server di cluster
mkdir/opt/zooKeeper/data mkdir/opt/zookeeper/datalog
Dan membuat file myID di/opt/zooKeeper/direktori data
memasuki:
Sentuh myid
Setelah pembuatan yang berhasil, ubah file MYID.
Untuk kenyamanan, saya mengubah konten file myid master, slave1, dan slave2 ke 1, 2, 3
3.3.2 Buat kebun binatang baru.cfg
Beralih ke /opt/zooKeeper/zooKeeper3.4/conf Directory
Jika tidak ada file zoo.cfg, salin file zoo_sample.cfg dan ganti nama menjadi zoo.cfg.
Ubah file zoo.cfg yang baru dibuat ini
datadir =/opt/zooKeeper/datadatalogdir =/opt/zooKeeper/datalogserver.1 = master: 2888: 3888Server.2 = slave1: 2888: 3888Server.3 = slave2: 2888: 3888
Deskripsi: Port klien, sesuai namanya, adalah port tempat klien terhubung ke layanan Zookeeper. Ini adalah port TCP. Datalogdir adalah log pesanan (WAL) ditempatkan. Datadir menempatkan snapshot dari struktur data memori, yang memfasilitasi pemulihan cepat. Untuk memaksimalkan kinerja, umumnya disarankan untuk membagi DataDir dan DataLogDir ke berbagai disk, sehingga karakteristik penulisan pesanan disk dapat sepenuhnya dimanfaatkan. Datadir dan DataLogDir perlu dibuat sendiri, dan direktori dapat dirumuskan sendiri, dan mereka dapat sesuai. 1 di server.1 ini perlu sesuai dengan nilai dalam file MYID di direktori Datadir pada mesin master. 2 di server.2 ini perlu sesuai dengan nilai dalam file MYID di direktori Datadir di slave1. 3 di server.3 ini perlu sesuai dengan nilai -nilai dalam file MYID di direktori Datadir di Slave2. Tentu saja, Anda dapat menggunakan nilai -nilai yang Anda sukai, seperti yang sesuai. Jumlah port 2888 dan 3888 juga dapat digunakan dengan santai, karena tidak masalah jika Anda menggunakan hal yang sama pada mesin yang berbeda.
1.TickTime: CS Communication Heartbeat Number
Interval waktu antara server Zookeeper atau antara klien dan server mempertahankan detak jantung, yaitu, setiap waktu ticktime akan mengirimkan detak jantung. Ticktime dalam milidetik.
tickTime=2000
2.Initlimit: Batas waktu komunikasi awal
Jumlah maksimum detak jantung (jumlah ticktimes) yang dapat mentolerir selama koneksi awal antara server pengikut (f) dan server pemimpin (l) di cluster.
initLimit=10
3.Synclimit: Batas waktu komunikasi sinkron
Jumlah maksimum detak jantung (jumlah ticktimes) yang dapat ditoleransi antara permintaan dan tanggapan antara server pengikut dan server pemimpin di cluster.
syncLimit=5
Masih mentransfer zookeeper ke mesin lain. Ingatlah untuk mengubah MYID Under/Opt/Zookeeper/Data, ini tidak dapat konsisten.
memasuki:
scp -r/opt/zooKeeper root@slave1:/optscp -r/opt/zooKeeper root@slave2:/opt
4. Mulai ZooKeeper
Karena Zookeeper adalah sistem pemilihan, hubungan master-slave tidak ditentukan seperti Hadoop. Untuk detailnya, Anda dapat merujuk ke dokumentasi resmi.
Setelah berhasil mengkonfigurasi Zookeeper, mulailah ZooKeeper pada setiap mesin.
Beralih ke direktori Zookeeper
cd /opt/zooKeeper/zooKeeper3.4/bin
memasuki:
zkserver.sh start
Setelah startup yang berhasil
Lihat Input Status:
status zkserver.sh
Anda dapat melihat pemimpin dan pengikut ZooKeeper di setiap mesin
Instalasi Lingkungan Badai
1. Persiapan dokumen
Mendekompres file konfigurasi badai yang diunduh
Masukkan di Linux:
tar -xvf Apache-storm-1.1.1.tar.gz
Kemudian pindahkan ke /opt /badai, buat jika tidak ada, dan kemudian ganti nama folder ke Storm1.1
memasuki
MV Apache-Storm-1.1.1 /Opt /Storm MV Apache-Storm-1.1.1 Storm1.1
Edit /etc /file profil
Tambahkan ke:
Ekspor Storm_home =/opt/Storm/Storm1.1Export Path = .: $ {java_home}/bin: $ {zk_home}/bin: $ {storm_home}/bin: $ path Masukkan versi badai untuk melihat informasi versi
3. Ubah file konfigurasi
Edit Storm.Yarm Storm/Conf.
Lakukan pengeditan berikut:
memasuki:
vim storm.yarm
slave.zooKeeper.server: - "master" - "slave1" - "slave2" storm.local.dir: "/root/storm"nimbus.seeds: [" master "] supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
menjelaskan:
1. Storm.zookeeper.server adalah alamat layanan dari zookeeper yang ditentukan.
Karena informasi penyimpanan badai ada di Zookeeper, alamat layanan Zookeeper harus dikonfigurasi. Jika Zookeeper adalah mesin yang berdiri sendiri, Anda hanya perlu menentukan satu!
2. Storm.local.dir mewakili direktori penyimpanan.
Nimbus dan pengawas Daemon perlu menyimpan direktori pada disk lokal untuk menyimpan sejumlah kecil negara (seperti stoples, conf, dll.). Dapat dibuat di setiap mesin dan diberikan izin.
3. Nimbus.SEEDS mewakili kandidat host.
Pekerja perlu mengetahui mesin mana yang menjadi kandidat host (zookeeper cluster adalah pemilihan), sehingga topologi topologi dan confs dapat diunduh.
4. Supervisor.slots.ports mewakili port pekerja.
Untuk setiap mesin supervisor, kami dapat menggunakan ini untuk mengkonfigurasi berapa banyak pekerja untuk dijalankan pada mesin ini. Setiap pekerja menggunakan port terpisah untuk menerima pesan, yang juga menentukan port mana yang terbuka untuk digunakan. Jika Anda mendefinisikan 5 port di sini, itu berarti hingga 5 pekerja dapat dijalankan pada simpul pengawas ini. Jika 3 port didefinisikan, itu berarti hingga 3 pekerja dapat dijalankan. Secara default (mis., Dikonfigurasi di defaults.yaml), akan ada empat pekerja yang berjalan di port 6700, 6701, 6702, dan 6703.
Supervisor tidak memulai keempat pekerja ini segera setelah startup. Sebaliknya, itu hanya akan dimulai ketika tugas yang ditugaskan diterima. Jumlah spesifik pekerja yang akan dimulai harus ditentukan berdasarkan berapa banyak pekerja yang kita butuhkan dalam supervisor ini dalam topologi. Jika topologi yang ditentukan akan dieksekusi oleh hanya satu pekerja, maka pengawas memulai satu pekerja dan tidak akan memulai semua.
Catatan: Tidak ada spasi di depan konfigurasi ini! Lai Lai , jika tidak, kesalahan akan dilaporkan. Nama host (pemetaan) digunakan di sini, dan IP juga dapat digunakan. Situasi aktual didasarkan sendiri.
Anda dapat menggunakan perintah SCP atau perangkat lunak FTP untuk menyalin badai ke mesin lain.
Setelah konfigurasi yang berhasil, Anda dapat memulai Storm, tetapi pastikan bahwa JDK dan Zookeeper telah diinstal dengan benar dan bahwa Zookeeper telah berhasil dimulai.
4. Mulai badai
Beralih ke direktori badai/bin
Mulai masukan pada node master:
Storm Nimbus>/dev/null 2> & 1 &
Akses input antarmuka web (master):
Badai UI
Masukkan dari node (slave1, slave2):
Supervisor badai>/dev/null 2> & 1 &
Masukkan antarmuka browser: port 8080
Antarmuka dibuka dengan sukses, menunjukkan bahwa konfigurasi lingkungan berhasil:
Instalasi Lingkungan Kafka
Kafka adalah sistem pesan streaming throughput tinggi yang digunakan untuk memproses data streaming aktif, seperti halaman web kunjungan PM, log, dll., Yang tidak hanya dapat memproses informasi data besar secara real time tetapi juga offline.
1. Persiapan dokumen
Mendekompres file konfigurasi kafka yang diunduh
Masukkan di Linux:
tar -xvf kafka_2.12-1.0.0.tgz
Kemudian pindahkan ke /opt /kafka, buat jika tidak ada, lalu ganti nama folder ke kafka2.12
memasuki
mv kafka_2.12-1.0.0 /opt /kafka mv kafka_2.12-1.0.0 kafka2.12
2. Konfigurasi Lingkungan
Edit /etc /file profil
memasuki:
Ekspor kafka_home =/opt/kafka/kafka2.12 jalur ekspor = .: $ {java_home}/bin: $ {kafka_home}/bin: $ {zk_home}/bin: $ pathmemasuki:
Sumber /etc /profil
Membuat konfigurasinya efektif
3. Ubah file konfigurasi
Catatan: Sebenarnya, jika itu adalah mesin yang berdiri sendiri, file konfigurasi Kafka dapat dimulai langsung di direktori bin tanpa memodifikasinya. Tapi kami adalah cluster di sini, jadi ubah saja.
Beralih ke direktori Kafka/Config
Edit file server.properties
Apa yang perlu diubah adalah alamat ZooKeeper:
Temukan konfigurasi zookeeper, tentukan alamat kluster zookeeper, dan ubah sebagai berikut
ZooKeeper.connect = Master: 2181, Slave1: 2181, Slave2: 2181zookeeper.Connection.Timeout.ms = 6000
Pilihan lain untuk perubahan adalah
1, num.partitions mewakili partisi yang ditentukan, default adalah 1
2. Log.Dirs Kafka Log Path, cukup ubah ini sesuai dengan kebutuhan pribadi.
...
Catatan: Ada konfigurasi lain, Anda dapat melihat dokumentasi resmi. Jika tidak ada persyaratan khusus, cukup gunakan yang default.
Setelah konfigurasi, ingatlah untuk menggunakan perintah SCP untuk mengirimkan ke kelompok lain!
4. Mulai Kafka
Cluster setiap cluster perlu dioperasikan!
Beralih ke direktori Kafka/Bin
memasuki:
kafka-server-start.sh
Kemudian masukkan nama JPS untuk melihat apakah itu dimulai dengan sukses:
Setelah startup yang berhasil, Anda dapat melakukan tes sederhana
Buat topik terlebih dahulu
memasuki:
kafka-topics.sh --zookeeper Master: 2181 --create --Topic t_test --partitions 5 --seplikasi faktor 2
Deskripsi: Berikut adalah topik bernama T_Test, dan 5 partisi ditentukan, masing -masing partisi memiliki 2 replika. Jika partisi tidak ditentukan, partisi default dikonfigurasi dalam file konfigurasi.
Kemudian data produksi
memasuki:
kafka-console-producer.sh-Master-List-List: 9092-Topik T_Test
Anda dapat menggunakan Ctrl+D untuk keluar
Lalu kami membuka jendela xshell lain
Mengkonsumsi
memasuki:
Kafka-Console-Consumer.sh --zookeeper Master: 2181 --Topic t_test ---From-beginning
Anda dapat menggunakan Ctrl+C untuk keluar
Anda dapat melihat bahwa data telah dikonsumsi secara normal.
5. Beberapa perintah kafka yang biasa digunakan
1. Mulai dan tutup kafka
bin/kafka-server-start.sh config/server.properties >>/dev/null 2> & 1 & bin/kafka-server-stop.sh
2. Periksa antrian pesan dan antrian spesifik di kluster kafka
Lihat semua topik di cluster
kafka-topics.sh --zookeeper Master: 2181, Slave1: 2181, Slave2: 2181-List
Lihat informasi topik
kafka-topics.sh --zookeeper Master: 2181-deskripsi --topic t_test
3. Buat topik
kafka-topics.sh --zookeeper Master: 2181 --create --Topic t_test --partitions 5 --seplikasi faktor 2
4. Data produksi dan data konsumsi
kafka-console-producer.sh-Master-List-List: 9092-Topik T_Test
Keluar Ctrl+D.
Kafka-Console-Consumer.sh --zookeeper Master: 2181 --Topic t_test ---From-beginning
Keluar Ctrl+C.
5. Perintah Hapus Kafka
kafka-topics.sh --delete --zookeeper Master: 2181-Topik T_Test
6. Tambahkan partisi
kafka-topics.sh --alter --toptict_test --zookeeper Master: 2181 --partisi 10
lainnya
Referensi ke dokumen resmi untuk konstruksi lingkungan badai: http://storm.apache.org/releases/1.1.1/setting-up-a-storm-cluster.html
Kafka Lingkungan Referensi Konstruksi Dokumen Resmi: http://kafka.apache.org/quickstart
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.