Как да инсталирате Apache Zeppelin на Ubuntu 16.04

Apache Zeppelin е уеб-базиран бележник с отворен код и инструмент за сътрудничество за интерактивно поглъщане на данни, откриване, анализ и визуализация. Zeppelin поддържа повече от 20 езика, включително Apache Spark, SQL, R, Elasticsearch и много други. Apache Zeppelin ви позволява да създавате красиви документи, управлявани от данни, и да виждате резултатите от вашите анализи.

Предпоставки

За този урок ще използваме zeppelin.example.com като име на домейн, насочено към екземпляра Vultr. Моля, не забравяйте да замените всички срещания на примерното име на домейн с действителното.

Актуализирайте базовата си система с помощта на ръководството Как да актуализирате Ubuntu 16.04 . След като вашата система бъде актуализирана, продължете да инсталирате Java.

Инсталирайте Java

Apache Zeppelin е написан на 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)

Задайте пътя по подразбиране за Java, като инсталирате следния пакет.

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

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

Apache 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, генериран с безплатен SSL CA Let's Encrypt.

Инсталирайте 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.

Срокът на валидност на сертификатите Let's Encrypt изтича след 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.


Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Microweber на Ubuntu 16.04

Инсталиране на Microweber на Ubuntu 16.04

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате osTicket на FreeBSD 12

Как да инсталирате osTicket на FreeBSD 12

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате платформата за електронна търговия Sylius на Ubuntu 18.04 LTS

Как да инсталирате платформата за електронна търговия Sylius на Ubuntu 18.04 LTS

Използване на различна система? Sylius е модерна платформа за електронна търговия за PHP, базирана на Symfony Framework. Източникът на Sylius е в GitHub. Това ръководство ще wal

Как да инсталирате Cezerin eCommerce на Ubuntu 18.04

Как да инсталирате Cezerin eCommerce на Ubuntu 18.04

Cezerin е прогресивно уеб приложение за електронна търговия с отворен код, създадено с помощта на React и Node.js. В този урок ще научите как да разположите Cezerin за production

Как да инсталирате OpenMeetings на CentOS 7

Как да инсталирате OpenMeetings на CentOS 7

Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз

Инсталиране на Microweber на Debian 9

Инсталиране на Microweber на Debian 9

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Akaunting на Debian 9

Инсталиране на Akaunting на Debian 9

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

Как да инсталирате приложението за бюлетин Mailtrain на Debian 9

Как да инсталирате приложението за бюлетин Mailtrain на Debian 9

Използване на различна система? Mailtrain е самостоятелно хоствано приложение за бюлетин с отворен код, изградено на Node.js и MySQL/MariaDB. Източникът на Mailtrains е в GitHub. ти

Инсталиране на Akaunting на Fedora 28

Инсталиране на Akaunting на Fedora 28

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

OpenBSD като решение за електронна търговия с PrestaShop и Apache

OpenBSD като решение за електронна търговия с PrestaShop и Apache

Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR

Как да инсталирате приложението за бюлетин Mailtrain на Ubuntu 16.04

Как да инсталирате приложението за бюлетин Mailtrain на Ubuntu 16.04

Използване на различна система? Mailtrain е самостоятелно хоствано приложение за бюлетин с отворен код, изградено на Node.js и MySQL/MariaDB. Източникът на Mailtrains е в GitHub. ти

Как да инсталирате InvoicePlane на Fedora 28

Как да инсталирате InvoicePlane на Fedora 28

Използване на различна система? InvoicePlane е безплатно приложение за фактуриране с отворен код. Неговият изходен код може да бъде намерен в това хранилище на Github. Това ръководство

Как да инсталирате osTicket на CentOS 7

Как да инсталирате osTicket на CentOS 7

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате Open Web Analytics на CentOS 7

Как да инсталирате Open Web Analytics на CentOS 7

Използване на различна система? Open Web Analytics (OWA) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт

Как да инсталирате Open Web Analytics на Debian 9

Как да инсталирате Open Web Analytics на Debian 9

Използване на различна система? Open Web Analytics (OWA) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт

Как да инсталирате Osclass на Ubuntu 18.04 LTS

Как да инсталирате Osclass на Ubuntu 18.04 LTS

Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник

Как да инсталирате Osclass на Debian 9

Как да инсталирате Osclass на Debian 9

Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник

Как да инсталирате OpenMeetings на Ubuntu 16.04

Как да инсталирате OpenMeetings на Ubuntu 16.04

Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз

Как да инсталирате X-Cart 5 на Fedora 31

Как да инсталирате X-Cart 5 на Fedora 31

Използване на различна система? X-Cart е изключително гъвкава платформа за електронна търговия с отворен код с множество функции и интеграции. Изходният код на X-Cart е хост

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече