نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
Apache Zeppelin هو مفكرة مفتوحة المصدر على شبكة الإنترنت وأداة تعاونية لاستيعاب البيانات التفاعلية واكتشافها والتحليلات والتصور. يدعم Zeppelin أكثر من 20 لغة بما في ذلك Apache Spark و SQL و R و Elasticsearch وغيرها الكثير. يسمح لك Apache Zeppelin بإنشاء مستندات جميلة تعتمد على البيانات ورؤية نتائج تحليلاتك.
في هذا البرنامج التعليمي ، سنستخدم zeppelin.example.com
كاسم المجال الموجه نحو مثيل Vultr. يرجى التأكد من استبدال جميع حالات اسم النطاق المثال بالاسم الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث نظامك ، تابع تثبيت Java.
أباتشي زيبلين مكتوب بلغة جافا ، وبالتالي يتطلب JDK للعمل. أضف مستودع Ubuntu لـ Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
قم بتثبيت Oracle Java.
sudo apt -y install oracle-java8-installer
تحقق من إصداره.
java -version
سترى الناتج التالي.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
قم بتعيين المسار الافتراضي لجافا عن طريق تثبيت الحزمة التالية.
sudo apt -y install oracle-java8-set-default
يمكن�� التحقق مما إذا JAVA_HOME
تم تعيينه عن طريق التشغيل.
echo $JAVA_HOME
سوف ترى.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
إذا كنت لا ترى أي إخراج على الإطلاق ، فستحتاج إلى تسجيل الخروج من shell الحالي وتسجيل الدخول مرة أخرى.
يقوم Apache Zeppelin بشحن جميع التبعيات مع الملفات الثنائية ، لذلك لا نحتاج إلى تثبيت أي شيء آخر باستثناء Java. قم بتنزيل برنامج Zeppelin ثنائي على نظامك. يمكنك دائمًا العثور على أحدث إصدار من التطبيق على صفحة تنزيل Zeppelin .
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
استخرج الأرشيف.
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
سيقوم الأمر أعلاه باستخراج الأرشيف إلى /opt/zeppelin-0.7.3-bin-all
. إعادة تسمية الدليل من أجل الراحة.
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
أباتشي زيبلين مثبت الآن. يمكنك بدء التطبيق على الفور ، ولكن لن يكون متاحًا لك ، لأنه يستمع إليه localhost
فقط. سنقوم بتكوين Apache Zeppelin كخدمة. سنقوم أيضًا بتكوين Nginx كوكيل عكسي.
في هذه الخطوة ، سنقوم بإعداد ملف وحدة Systemd لتطبيق Zeppelin. سيضمن ذلك بدء عملية التطبيق تلقائيًا عند إعادة تشغيل النظام والفشل.
لأسباب أمنية ، قم بإنشاء مستخدم غير مميز لتشغيل عملية Zeppelin.
sudo useradd -d /opt/zeppelin -s /bin/false zeppelin
توفير ملكية الملفات لمستخدم Zeppelin الذي تم إنشاؤه حديثًا.
sudo chown -R zeppelin:zeppelin /opt/zeppelin
إنشاء ملف وحدة خدمة Systemd جديد.
sudo nano /etc/systemd/system/zeppelin.service
تعبئة الملف بما يلي.
[Unit]
Description=Zeppelin service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
ExecReload=/opt/zeppelin/bin/zeppelin-daemon.sh reload
User=zeppelin
Group=zeppelin
Restart=always
[Install]
WantedBy=multi-user.target
ابدأ تشغيل التطبيق.
sudo systemctl start zeppelin
مكّن خدمة Zeppelin من البدء تلقائيًا في وقت التمهيد.
sudo systemctl enable zeppelin
للتأكد من تشغيل الخدمة ، يمكنك تشغيل ما يلي.
sudo systemctl status zeppelin
بشكل افتراضي ، يستمع خادم Zeppelin إلى localhost
المنفذ 8080
. سوف نستخدم إنجن إكس كوكيل عكسي بحيث يمكن الوصول إلى التطبيق عبر معيار HTTP
و HTTPS
الموانئ. سنقوم أيضًا بتهيئة Nginx لاستخدام SSL الذي تم إنشاؤه باستخدام Let's Encrypt free SSL CA.
قم بتثبيت Nginx.
sudo apt -y install nginx
قم بتشغيل Nginx وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start nginx
sudo systemctl enable nginx
أضف مستودع Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.
sudo apt -y install certbot
ملاحظة : للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.
إنشاء شهادات SSL.
sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com
من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها /etc/letsencrypt/live/zeppelin.example.com/
. سيتم تخزين شهادة SSL كـ وسيتم تخزين fullchain.pem
المفتاح الخاص كـ privkey.pem
.
تنتهي صلاحية شهادات التشفير في غضون 90 يومًا ، وبالتالي يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف Cron.
افتح ملف مهمة كرون.
sudo crontab -e
أضف السطر التالي في نهاية الملف.
30 5 * * * /usr/bin/certbot renew --quiet
سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم الساعة 5:30 صباحًا. إذا كانت الشهادة مستحقة للانتهاء ، فسيتم تجديدها تلقائيًا.
إنشاء ملف كتلة خادم جديد لموقع Zeppelin.
sudo nano /etc/nginx/sites-available/zeppelin
تعبئة الملف.
upstream zeppelin {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name zeppelin.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name zeppelin.example.com;
ssl_certificate /etc/letsencrypt/live/zeppelin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zeppelin.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/zeppelin.access.log;
location / {
proxy_pass http://zeppelin;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /ws {
proxy_pass http://zeppelin/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
قم بتنشيط ملف التكوين.
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
أعد تشغيل Nginx حتى تصبح التغييرات سارية المفعول.
sudo systemctl restart nginx zeppelin
يمكن الوصول إلى Zeppelin الآن على العنوان التالي.
https://zeppelin.example.com
بشكل افتراضي ، لا توجد مصادقة ممكّنة ، لذلك يمكنك استخدام التطبيق مباشرة.
نظرًا لأن التطبيق متاح للجميع ، فإن دفاتر الملاحظات التي تقوم بإنشائها متاحة أيضًا للجميع. من المهم جدًا تعطيل الوصول المجهول وتمكين المصادقة بحيث لا يتمكن سوى المستخدمين المصادق عليهم من الوصول إلى التطبيق.
لتعطيل الوصول الافتراضي المجهول ، انسخ قالب ملف التكوين إلى موقعه المباشر.
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
قم بتحرير ملف التكوين.
sudo nano conf/zeppelin-site.xml
ابحث عن الأسطر التالية في الملف.
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
قم بتغيير القيمة false
لتعطيل الوصول المجهول.
الآن بعد أن قمنا بتعطيل الوصول المجهول ، نحتاج إلى تمكين نوع من آلية المصادقة حتى يتمكن المستخدمون المميزون من تسجيل الدخول. يستخدم Apache Zeppelin مصادقة Apache Shiro. انسخ ملف تكوين Shiro.
sudo cp conf/shiro.ini.template conf/shiro.ini
قم بتحرير ملف التكوين.
sudo nano conf/shiro.ini
ابحث عن الأسطر التالية في الملف.
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
تحتوي القائمة على اسم المستخدم وكلمة المرور وأدوار المستخدمين. في الوقت الراهن ، سنستخدم فقط admin
و user1
. تغيير كلمة المرور من admin
و user1
وتعطيل المستخدمين الآخرين من خلال التعليق عليها. يمكنك أيضًا تغيير اسم المستخدم وأدوار المستخدمين. لمعرفة المزيد عن مستخدمي وأدوار Apache Shiro ، اقرأ دليل تفويض Shiro .
بمجرد أن تقوم بتغيير كلمات المرور ، يجب أن يعجبها كود الكود.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
أعد تشغيل Zeppelin الآن لتطبيق التغييرات.
sudo systemctl restart zeppelin
سترى أنه تم تمكين المصادقة وستتمكن من تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور المعينين في ملف تكوين Shiro.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد