نحوه نصب Apache Zeppelin در اوبونتو 16.04

Apache Zeppelin یک نوت بوک منبع باز و یک ابزار مشترک برای مصرف داده های تعاملی ، کشف ، تجزیه و تحلیل و تجسم است. Zeppelin بیش از 20 زبان از جمله Apache Spark ، SQL ، R ، Elasticsearch و بسیاری دیگر را پشتیبانی می کند. Apache Zeppelin به شما امکان می دهد تا اسناد مبتنی بر داده های زیبا ایجاد کنید و نتایج تجزیه و تحلیل خود را مشاهده کنید.

پیش نیازها

  • به عنوان مثال سرور Vultr اوبونتو 16.04.
  • کاربران از sudo .
  • نام دامنه به سمت سرور نشان داده شده است.

برای این آموزش ، ما به zeppelin.example.com عنوان نام دامنه که به سمت نمونه Vultr اشاره شده است ، استفاده خواهیم کرد. لطفاً حتماً تمام وقایع نام دامنه را با نمونه واقعی جایگزین کنید.

سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی اوبونتو 16.04 به روز کنید . پس از به روزرسانی سیستم ، جاوا را نصب کنید.

جاوا را نصب کنید

Apache Zeppelin در جاوا نوشته شده است ، بنابراین به JDK نیاز دارد که کار کند. مخزن اوبونتو را برای 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

اگر به هیچ وجه خروجی نمی بینید ، باید از پوسته فعلی خارج شوید و دوباره وارد سیستم شوید.

Zeppelin را نصب کنید

آپاچی زپلین تمام وابستگی ها را به همراه پرونده های باینری حمل می کند ، بنابراین ما نیازی به نصب چیز دیگری به جز جاوا نداریم. دودویی 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

در این مرحله یک فایل واحد 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. ما از Nginx به عنوان یک پروکسی معکوس استفاده خواهیم کرد تا بتوان از طریق استاندارد HTTP و HTTPS درگاه به برنامه دسترسی پیدا کرد . ما همچنین Nginx را پیکربندی خواهیم کرد تا از SSL تولید شده با Letry 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 Encrypt CA است.

sudo apt -y install certbot

توجه : برای به دست آوردن گواهینامه ها از Let 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 ، تمدید خودکار گواهینامه ها را تنظیم کنید.

پرونده کار 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 برای غیرفعال کردن دسترسی ناشناس تغییر دهید.

تأیید هویت Shiro را فعال کنید

اکنون که دسترسی ناشناس را غیرفعال کرده ایم ، باید نوعی مکانیزم تأیید اعتبار را فعال کنیم تا کاربران ممتاز بتوانند وارد سیستم شوند. 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 وارد سیستم شوید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد