مقدمة
قبل البدء ، تجدر الإشارة إلى أنه لا يوجد اتصال ضروري بين Storm و Kafka Cluster. كتبت هذين معًا لأنهما يديرهما Zookeeper والاعتماد على بيئة JDK. من أجل عدم تكرار التكوين ، كتبت هذين معًا. إذا كنت بحاجة فقط ، فقط اختر القراءة التي تختارها. لن أقول الكثير أدناه ، دعنا نلقي نظرة على المقدمة التفصيلية معًا.
تبعيات هذين على النحو التالي:
ملاحظة: تتطلب Storm1.0 و KAFKA2.0 JDK على الأقل 1.7 و ZOOKEEPER3.0 أو أعلى.
عنوان التنزيل:
تثبيت JDK
كل جهاز يحتاج إلى تثبيت مع JDK! ! !
ملاحظة: بشكل عام ، يأتي CentOS مع OpenJDK ، لكننا نستخدم Oracle's JDK. لذلك تحتاج إلى كتابة إلغاء تثبيت OpenJDK ، ثم تثبيت JDK تم تنزيله في Oracle. إذا قمت بإلغاء تثبيتك ، فيمكنك تخطي هذه الخطوة.
أولا أدخل java -version
تحقق مما إذا تم تثبيت JDK. إذا تم تثبيته ولكن الإصدار غير مناسب ، فقم بإلغاء تثبيته.
يدخل
RPM -QA | جريب جافا
عرض المعلومات
ثم أدخل:
RPM -e -nodeps "تريد إلغاء تثبيت معلومات JDK"
على سبيل المثال: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
بعد التأكيد على أنه قد انتهى ، قم بفك ضغط JDK الذي تم تنزيله
TAR -XVF JDK-8U144-Linux-X64.Tar.GZ
انتقل إلى مجلد OPT/Java ، وإنشاء منها جديدًا بدونها ، وقم بإعادة تسمية المجلد إلى JDK1.8.
MV JDK1.8.0_144 /OPT /JAVAMV JDK1.8.0_144 JDK1.8
ثم قم بتحرير ملف الملف الشخصي وأضف التكوين التالي
يدخل:
vim /etc /profile
اضف إليه:
التصدير java_home =/opt/java/jdk1.8export jre_home =/opt/java/jdk1.8 path =.: $ {java_home}/bin: $ pathبعد إضافة ناجحة ، أدخل
المصدر /etc /profilejava -version
تحقق مما إذا كان التكوين ناجحًا
Zookeeper البيئة تركيب
1. تحضير الوثيقة
قم بفك ضغط ملف تكوين Zookeeper الذي تم تنزيله
أدخل على Linux:
tar -xvf zookeeper -3.4.10.tar.gz
ثم انتقل إلى /opt /zookeeper ، وقم بإنشاء واحدة جديدة بدونها ، ثم أعد تسمية المجلد إلى zookeeper3.4
يدخل
MV ZOOKEEPER-3.4.10 /OPT /ZOOKEEPERMV ZOOKEEPER-3.4.10 ZOOKEEPER3.4
2. تكوين البيئة
تحرير /etc /ملف التعريف
يدخل:
تصدير ZK_HOME =/OPT/ZOOKEEPER/ZOOKEEPER3.4 مسار التصدير =.: $ {java_home}/bin: $ {zk_home}/bin: $ pathيدخل:
المصدر /الخ /الملف الشخصي
اجعل التكوين فعالًا
3. تعديل ملف التكوين
3.3.1 إنشاء الملفات والأدلة
إنشاء هذه الدلائل على الخوادم في الكتلة
MKDIR/OPT/ZOOKEEPER/DATA MKDIR/OPT/ZOOOKEEPER/DATALOG
وإنشاء ملف myid في/opt/zookeeper/دليل البيانات
يدخل:
لمس مييد
بعد الإنشاء الناجح ، قم بتغيير ملف myid.
للراحة ، قمت بتغيير محتوى ملفات myid من master و slave1 و slave2 إلى 1 ، 2 ، 3
3.3.2 إنشاء zoo.cfg جديد
التبديل إلى /opt/zookeeper/zookeeper3.4/conf دليل
إذا لم يكن هناك ملف zoo.cfg ، فقم بنسخ ملف zoo_sample.cfg وقم بإعادة تسميته إلى zoo.cfg.
قم بتعديل ملف Zoo.cfg الذي تم إنشاؤه حديثًا
datadir =/opt/zookeeper/datadatalogdir =/opt/zookeeper/datalogserver.1 = master: 2888: 3888server.2 = slave1: 2888: 3888server.3 = slave2: 2888: 3888
الوصف: منفذ العميل ، كما يوحي الاسم ، هو المنفذ الذي يتصل فيه العميل بخدمة zookeeper. هذا هو منفذ TCP. Datalogdir هو سجل الطلب (WAL). يضع Datadir لقطة من هياكل بيانات الذاكرة ، مما يسهل الاسترداد السريع. من أجل زيادة الأداء إلى الحد الأقصى ، يوصى عمومًا بتقسيم Datadir و Datalogdir إلى أقراص مختلفة ، بحيث يمكن استخدام خصائص كتابة ترتيب القرص بالكامل. يجب إنشاء Datadir و Datalogdir من تلقاء أنفسهم ، ويمكن صياغة الدلائل بأنفسهم ، ويمكن أن تكون مقابلة. هذا 1 في server.1 يحتاج إلى أن يتوافق مع القيمة في ملف myid في دليل datadir على الجهاز الرئيسي. هذا 2 في server.2 يحتاج إلى أن يتوافق مع القيمة في ملف myid في دليل datadir على slave1. يجب أن يتوافق هذا 3 في Server.3 مع القيم الموجودة في ملف MyID في دليل Datadir على Slave2. بالطبع ، يمكنك استخدام القيم كما تريد ، تمامًا كما تتوافق. يمكن أيضًا استخدام أرقام المنفذ من 2888 و 3888 عرضًا ، لأنه لا يهم إذا كنت تستخدم نفس الآلات على الأجهزة المختلفة.
1. TickTime: CS Communication رقم نبضات القلب
تحافظ الفاصل الزمني بين خوادم Zookeeper أو بين العملاء والخوادم على دقات القلب ، أي أن كل وقت لوقت سوف يرسل نبضات القلب. Ticktime في ميلي ثانية.
tickTime=2000
2.Initlimit: الحد الأولي لوقت التواصل
الحد الأقصى لعدد نبضات القلب (عدد أوقات القراد) التي يمكن أن تتسامح أثناء الاتصال الأولي بين خادم التابع (F) وخادم Leader (L) في الكتلة.
initLimit=10
3. Synclimit: الحد الزمني للاتصال المتزامن LF
الحد الأقصى لعدد نبضات القلب (عدد أوقات القراد) التي يمكن التسامح بينها بين الطلبات والاستجابات بين خوادم التابع وخوادم القائد في المجموعة.
syncLimit=5
لا يزال نقل zookeeper إلى آلات أخرى. تذكر تغيير MYID Under/OPT/Zookeeper/DATA ، لا يمكن أن يكون هذا ثابتًا.
يدخل:
SCP -R/OPT/ZOOOKEEPER ROOT@slave1:/OPTSCP -R/OPT/ZOOKEEPER ROUT@slave2:/OPT
4. ابدأ Zookeeper
نظرًا لأن Zookeeper هو نظام انتخابي ، فإن علاقته الرئيسية العبد لم يتم تحديده مثل Hadoop. للحصول على التفاصيل ، يمكنك الرجوع إلى الوثائق الرسمية.
بعد تكوين ZookeEper بنجاح ، ابدأ Zookokeeper على كل جهاز.
قم بالتبديل إلى دليل Zookeeper
CD /Opt/zookeeper/zookeeper3.4/bin
يدخل:
ZkServer.sh البدء
بعد بدء التشغيل الناجح
عرض إدخال الحالة:
ZkServer.sh الحالة
يمكنك عرض القائد والمتابع لـ Zookeeper على كل جهاز
تثبيت بيئة العاصفة
1. تحضير الوثيقة
فك ضغط ملف تكوين العاصفة الذي تم تنزيله
أدخل على Linux:
tar -xvf apache-storm-1.1.1.tar.gz
ثم انقله إلى /OPT /Storm ، وإنشائه إذا لم يكن موجودًا ، ثم أعد تسمية المجلد إلى Storm1.1
يدخل
MV Apache-Storm-1.1.1 /OPT /Storm MV Apache-Storm-1.1.1 Storm1.1
تحرير /etc /ملف التعريف
اضف إليه:
Export Storm_home =/OPT/Storm/Storm1.1export path =.: $ {java_home}/bin: $ {zk_home}/bin: $ {Storm_Home}/bin: $ path أدخل إصدار العاصفة لعرض معلومات الإصدار
3. تعديل ملف التكوين
تحرير storm.yarm من العاصفة/conf.
قم بإجراء التعديلات التالية:
يدخل:
vim storm.yarm
slave.zookeeper.servers: - "Master" - "slave1" - "slave2" storm.local.dir: "/root/storm"nimbus.seeds: [" Master "sperfector.slots.ports: - 6700 - 6701 - 6702 - 6703 - 6703
يوضح:
1. storm.zookeeper.servers هو عنوان خدمة Zookeeper المحدد.
نظرًا لأن معلومات تخزين العاصفة موجودة على Zookeeper ، يجب تكوين عنوان خدمة Zookeeper. إذا كانت Zookeeper عبارة عن آلة قائمة بذاتها ، فأنت بحاجة فقط إلى تحديد واحدة!
2. Storm.local.dir يمثل دليل التخزين.
تحتاج شياطين Nimbus و Supervisor إلى تخزين دليل على القرص المحلي لتخزين كمية صغيرة من الولاية (مثل الجرار ، CONFS ، إلخ). يمكن إنشاء على كل جهاز وإعطاء أذونات.
3. Nimbus.seeds يمثل مضيف المرشح.
يحتاج العامل إلى معرفة الجهاز الذي هو المرشح المضيف (مجموعة ZookeEper هي انتخابية) ، بحيث يمكن تنزيل الجرار الطوبولوجيا و confs.
4. المشرف. slots.ports يمثل منفذ العمال.
لكل آلة مشرف ، يمكننا استخدام هذا لتكوين عدد العمال الذين يعملون على هذا الجهاز. يستخدم كل عامل منفذ منفصل لتلقي الرسائل ، والتي تحدد أيضًا المنافذ مفتوحة للاستخدام. إذا حددت 5 منافذ هنا ، فهذا يعني أنه يمكن تشغيل ما يصل إلى 5 عمال على عقدة المشرف هذه. إذا تم تعريف 3 منافذ ، فهذا يعني أنه يمكن تشغيل ما يصل إلى 3 عمال. افتراضيًا (على سبيل المثال ، تم تكوينه في الافتراضات
المشرف لا يبدأ هؤلاء العمال الأربعة فور بدء التشغيل. بدلاً من ذلك ، لن يبدأ إلا عند قبول المهمة المعينة. يجب تحديد العدد المحدد من العمال الذين يجب بدءهم بناءً على عدد العمال الذين نحتاجهم في هذا المشرف في الطوبولوجيا. إذا تم تنفيذ الطوبولوجيا المحددة من قبل عامل واحد فقط ، فإن المشرف يبدأ عاملًا واحدًا ولن يبدأ كل شيء.
ملاحظة: لا توجد مسافات أمام هذه التكوينات! ! ! ، وإلا سيتم الإبلاغ عن خطأ. يتم استخدام اسم المضيف (التعيين) هنا ، ويمكن أيضًا استخدام IP. يعتمد الوضع الفعلي على بنفسك.
يمكنك استخدام أمر SCP أو برنامج FTP لنسخ العاصفة إلى الآلات الأخرى.
بعد التكوين الناجح ، يمكنك بدء Storm ، ولكن تأكد من تثبيت JDK و Zookeeper بشكل صحيح وأن Zookeeper قد تم البدء بنجاح.
4. ابدأ العاصفة
قم بالتبديل إلى دليل العاصفة/بن
بدء الإدخال على العقدة الرئيسية:
Storm Nimbus>/dev/null 2> & 1 & 1 &
الوصول إلى إدخال واجهة الويب (Master):
العاصفة واجهة المستخدم
أدخل من العقدة (Slave1 ، slave2):
مشرف العاصفة>/dev/null 2> & 1 &
أدخل في واجهة المتصفح: المنفذ 8080
يتم فتح الواجهة بنجاح ، مما يشير إلى أن تكوين البيئة ناجح:
تثبيت البيئة كافكا
Kafka هو نظام رسائل موزعة للبث العالي الإنتاجية المستخدمة لمعالجة بيانات الدفق النشط ، مثل زيارات صفحة الويب PM ، والسجلات ، وما إلى ذلك ، والتي لا يمكنها معالجة معلومات البيانات الضخمة في الوقت الفعلي أيضًا.
1. تحضير الوثيقة
فك ضغط ملف تكوين كافكا الذي تم تنزيله
أدخل على Linux:
tar -xvf kafka_2.12-1.0.0.tgz
ثم انقله إلى /opt /kafka ، وقم بإنشائه إذا لم يكن موجودًا ، ثم أعد تسمية المجلد إلى Kafka2.12
يدخل
MV KAFKA_2.12-1.0.0 /OPT /KAFKA MV KAFKA_2.12-1.0.0 KAFKA2.12
2. تكوين البيئة
تحرير /etc /ملف التعريف
يدخل:
تصدير kafka_home =/opt/kafka/kafka2.12 مسار التصدير =.: $ {java_home}/bin: $ {kafka_home}/bin: $ {zk_home}/bin: $ path}يدخل:
المصدر /الخ /الملف الشخصي
اجعل التكوين فعالًا
3. تعديل ملف التكوين
ملاحظة: في الواقع ، إذا كان جهازًا مستقلاً ، فيمكن بدء ملف تكوين Kafka مباشرة في دليل BIN دون تعديله. لكننا مجموعة هنا ، لذا فقط قم بتغييرها قليلاً.
قم بالتبديل إلى دليل kafka/config
تحرير ملف server.properties
ما يجب تغييره هو عنوان Zookeeper:
ابحث عن تكوين Zookeeper ، وحدد عنوان مجموعة Zookeeper ، وقم بتعديله على النحو التالي
Zookeeper.connect = Master: 2181 ، Slave1: 2181 ، Slave2: 2181zOokeeper.connection.timeout.ms = 6000
خيارات أخرى للتغيير
1 ، Num.Partitions يمثل القسم المحدد ، الافتراضي هو 1
2. سجل. DIRS KAFKA PATH ، فقط قم بتغيير هذا وفقًا للاحتياجات الشخصية.
...
ملاحظة: هناك تكوينات أخرى ، يمكنك عرض الوثائق الرسمية. إذا لم تكن هناك متطلبات خاصة ، فما عليك سوى استخدام المتطلبات الافتراضية.
بعد التكوين ، تذكر استخدام أمر SCP للنقل إلى مجموعات أخرى!
4. ابدأ كافكا
الكتلة كل مجموعة تحتاج إلى تشغيل!
قم بالتبديل إلى دليل Kafka/Bin
يدخل:
كافكا خادم ستارت
ثم أدخل اسم JPS لمعرفة ما إذا كان يبدأ بنجاح:
بعد بدء التشغيل الناجح ، يمكنك إجراء اختبار بسيط
إنشاء موضوع أولا
يدخل:
kafka-topics.sh-Zookeeper Master: 2181-Create-TOPIC T_TEST-Partitions 5-REPLICATION 2
الوصف: هنا موضوع يسمى T_Test ، ويتم تحديد 5 أقسام ، كل قسم يحتوي على نسخ متماثلة. إذا لم يتم تحديد القسم ، فسيتم تكوين القسم الافتراضي في ملف التكوين.
ثم بيانات الإنتاج
يدخل:
Kafka-Console-Producer.sh-Master-Broker-List: 9092-TOPIC T_TEST
يمكنك استخدام Ctrl+D للخروج
ثم نفتح نافذة Xshell أخرى
تستهلك
يدخل:
kafka-console-consumer.sh-Zookeeper Master: 2181-TOPIC T_TEST-From-beginning
يمكنك استخدام Ctrl+C للخروج
يمكنك أن ترى أن البيانات قد تم استهلاكها بشكل طبيعي.
5. بعض الأوامر شائعة الاستخدام من كافكا
1. ابدأ وإغلاق كافكا
bin/kafka-server-start.sh config
2. تحقق من قائمة انتظار الرسائل وقائمة انتظار محددة في مجموعة كافكا
عرض جميع الموضوعات في الكتلة
kafka-topics.sh-Zookeeper Master: 2181 ، slave1: 2181 ، slave2: 2181-list
عرض معلومات الموضوع
kafka-topics.sh-Zookeeper Master: 2181-Describe-TOPIC T_TEST
3. إنشاء موضوع
kafka-topics.sh-Zookeeper Master: 2181-Create-TOPIC T_TEST-Partitions 5-REPLICATION 2
4. بيانات الإنتاج وبيانات الاستهلاك
Kafka-Console-Producer.sh-Master-Broker-List: 9092-TOPIC T_TEST
CTRL+D خروج
kafka-console-consumer.sh-Zookeeper Master: 2181-TOPIC T_TEST-From-beginning
CTRL+C EXIT
5.Kafka's Delete Command
kafka-topics.sh-delete-Zookeeper Master: 2181-TOPIC T_TEST
6. إضافة التقسيم
kafka-topics.sh-alter-topict_test-Zookeeper Master: 2181-partitions 10
آخر
الإشارة إلى الوثيقة الرسمية لبناء بيئة العاصفة: http://storm.apache.org/release/1.1.1/setting-u-a-storm-cluster.html
وثيقة مرجعية للبيئة في Kafka: http://kafka.apache.org/quickstart
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.