Како инсталирати Апацхе Зеппелин на Убунту 16.04

Апацхе Зеппелин је бележница отвореног кода заснована на вебу и алатка за сарадњу за интерактивно унос података, откривање, аналитику и визуелизацију. Зеппелин подржава више од 20 језика укључујући Апацхе Спарк, СКЛ, Р, Еластицсеарцх и многе друге. Апацхе Зеппелин вам омогућава да креирате прелепе документе засноване на подацима и видите резултате ваше аналитике.

Предуслови

  • Инстанца сервера Вултр Убунту 16.04.
  • : Судо корисника .
  • Име домена усмерено ка серверу.

За овај водич користићемо zeppelin.example.com као име домена усмерено на Вултр инстанцу. Обавезно замените сва појављивања примера имена домена стварним.

Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када се ваш систем ажурира, наставите са инсталирањем Јаве.

Инсталирајте Јава

Апацхе Зеппелин је написан на Јави, тако да захтева ЈДК за рад. Додајте Убунту спремиште за Орацле Јава 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Инсталирајте Орацле Јава.

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

Ако уопште не видите никакав излаз, мораћете да се одјавите из тренутне љуске и поново се пријавите.

Инсталирајте Зеппелин

Апацхе Зеппелин испоручује све зависности заједно са бинарним датотекама, тако да не морамо да инсталирамо ништа друго осим Јаве. Преузмите бинарни програм Зеппелин на свој систем. Увек можете пронаћи најновију верзију апликације на Зеппелин страници за преузимање .

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. Конфигурисаћемо Апацхе Зеппелин као услугу. Такође ћемо конфигурисати Нгинк као обрнути прокси.

Конфигуришите Системд

У овом кораку ћемо подесити Системд јединичну датотеку за Зеппелин апликацију. Ово ће осигурати да се процес апликације аутоматски покрене при поновном покретању система и кваровима.

Из безбедносних разлога, креирајте непривилегованог корисника за покретање Зеппелин процеса.

sudo useradd -d /opt/zeppelin -s /bin/false zeppelin

Омогућите власништво над датотекама новоствореном Зеппелин кориснику.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Креирајте нову датотеку Системд сервисне јединице.

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

Омогућите услугу Зеппелин да се аутоматски покрене при покретању.

sudo systemctl enable zeppelin

Да бисте били сигурни да је услуга покренута, можете покренути следеће.

sudo systemctl status zeppelin

Конфигуришите обрнути прокси

Подразумевано, Зеппелин сервер слуша localhost порт 8080. Користићемо Нгинк као обрнути прокси тако да се апликацији може приступити преко стандарда HTTP и HTTPS портова. Такође ћемо конфигурисати Нгинк да користи ССЛ генерисан са Лет'с Енцрипт бесплатним ССЛ ЦА.

Инсталирајте Нгинк.

sudo apt -y install nginx

Покрените Нгинк и омогућите му да се аутоматски покреће при покретању.

sudo systemctl start nginx
sudo systemctl enable nginx

Додајте Цертбот спремиште.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Инсталирајте Цертбот, који је клијентска апликација за Лет'с Енцрипт ЦА.

sudo apt -y install certbot

Напомена : Да бисте добили сертификате од Лет'с Енцрипт ЦА, домен за који ће се сертификати генерисати мора бити усмерен ка серверу. Ако није, извршите неопходне промене у ДНС записима домена и сачекајте да се ДНС пропагира пре него што поново поднесете захтев за сертификат. Цертбот проверава ауторитет домена пре пружања сертификата.

Генеришите ССЛ сертификате.

sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com

Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/zeppelin.example.com/. ССЛ сертификат ће бити сачуван као, fullchain.pem а приватни кључ ће бити сачуван као privkey.pem.

Лет'с Енцрипт сертификати истичу за 90 дана, па се препоручује да подесите аутоматско обнављање сертификата помоћу Црон послова.

Отворите црон датотеку посла.

sudo crontab -e

Додајте следећи ред на крај датотеке.

30 5 * * * /usr/bin/certbot renew --quiet

Горњи црон посао ће се покретати сваког дана у 5:30 ујутро. Ако сертификат истекне, аутоматски ће се обновити.

Направите нову датотеку блока сервера за Зеппелин локацију.

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

Поново покрените Нгинк да би промене ступиле на снагу.

sudo systemctl restart nginx 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 бисте онемогућили анонимни приступ.

Омогући Схиро аутентификацију

Сада када смо онемогућили анонимни приступ, морамо да омогућимо неку врсту механизма за аутентификацију како би привилеговани корисници могли да се пријаве. Апацхе Зеппелин користи Апацхе Схиро аутентификацију. Копирајте Схиро конфигурациону датотеку.

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 и онемогући остале кориснике тако што их коментарише. Такође можете променити корисничко име и улоге корисника. Да бисте сазнали више о Апацхе Схиро корисницима и улогама, прочитајте Схиро водич за ауторизацију .

Једном када промените лозинке, блок кода би требало да се свиђа овако.

[users]

admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2

Сада поново покрените Зеппелин да бисте применили промене.

sudo systemctl restart zeppelin

Видећете да је аутентификација омогућена и моћи ћете да се пријавите помоћу корисничког имена и лозинке постављене у Схиро конфигурационој датотеци.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више