상단

Zeppelin


설치 in CentOS

  • Zeppelin 설치시 Python 환경에서 Jupyter Notebook을 설치해야 python을 사용할 수 있습니다.

#--- JDK 설치와 버전 확인
#---     java 1.8.9_65
yum  -y  install  java-1.8.0-openjdk  java-1.8.0-openjdk-*
java  -version

#--- 설치된 Python 버전 확인
#--- Python 3.6.8
python3  --version

#--- Anaconda3 (Python 버전 관리) 설치
cd  /work/install
curl  -O  https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
bash  Anaconda3-2019.03-Linux-x86_64.sh
source  ~/.bashrc                       #--- 설치한 Anaconda3의 환경을 가져 온다. 
conda  deactivate

conda  env  list                        #--- Anaconda3 환경의 목록을 표시 한다.
conda  create  --name  py37  python=3.7 #--- Python 3.7을 설치하여 환경을 구성 한다.
conda  activate  py37                   #--- py37 환경을 활성화 한다.
# conda  deactivate                     #--- 현재 환경을 비활성화 한다.

#--- Zeppelin 설치
cd  /work/install
wget  http://apache.mirror.cdnetworks.com/zeppelin/zeppelin-0.8.2/zeppelin-0.8.2-bin-all.tgz

cd  /work/appl
tar  -xvzf  /work/install/zeppelin-0.8.2-bin-all.tgz
mv  zeppelin-0.8.2-bin-all  zeppelin

#--- Zeppelin 환경 설정
cd  /work/appl/zeppelin
cp  conf/shiro.ini.template  conf/shiro.ini
vim  /work/appl/zeppelin/conf/shiro.ini
    [users]
    admin = password1, admin 
    user1 = password2, role1, role2 
    user2 = password3, role3 
    user3 = password4, role2

cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
vim  /work/appl/zeppelin/conf/zeppelin-site.xml
    <property>
        <name>zeppelin.server.addr</name>
        <value>0.0.0.0</value>
        <description>Server binding address</description>
    </property>
    <property>
        <name>zeppelin.server.port</name>
        <value>8080</value>
        <description>Server port.</description>
    </property>
chmod  755  bin/zeppelin-daemon.sh

# java.lang.RuntimeException: 
# OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; 
# support was removed in 8.0
vi  /work/appl/zeppelin/bin/common.sh
    if [[ -z "${ZEPPELIN_MEM}" ]]; then
      # export ZEPPELIN_MEM="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"
      export ZEPPELIN_MEM="-Xms1024m -Xmx1024m"
    fi

    if [[ -z "${ZEPPELIN_INTP_MEM}" ]]; then
      # export ZEPPELIN_INTP_MEM="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"
      export ZEPPELIN_INTP_MEM="-Xms1024m -Xmx1024m"
    fi
    
#--- 필요한 python 라이브러리를 설치한 후 Zeppelin 실행
pip  install  pandas
conda  deactivate

#--- 방화벽 설정
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

#--- zeppelin 실행
conda  activate  py37
hostname  www.obcon.biz
/work/appl/zeppelin/bin/zeppelin-daemon.sh  restart
# bin/zeppelin-daemon.sh  status
# bin/zeppelin-daemon.sh  start
# bin/zeppelin-daemon.sh  stop
conda  deactivate

netstat -an | grep 'LISTEN '

#--- 브라우저에서 접속
# http://localhost:8080/

설치 in Ubuntu

#--- JDK 설치와 버전 확인
apt  install  openjdk-8-jdk
java  -version

#--- 설치된 Python 버전 확인
python3  --version

#--- Anaconda3 (Python 버전 관리) 설치
cd  /work/install
curl  -O  https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
bash  Anaconda3-2019.03-Linux-x86_64.sh
source  ~/.bashrc                       #--- 설치한 Anaconda3의 환경을 가져 온다. 
conda  deactivate

conda  env  list                        #--- Anaconda3 환경의 목록을 표시 한다.
conda  create  --name  py37  python=3.7 #--- Python 3.7을 설치하여 환경을 구성 한다.
conda  activate  py37                   #--- py37 환경을 활성화 한다.
# conda  deactivate                     #--- 현재 환경을 비활성화 한다.

#--- Zeppelin 설치
cd  /work/install
wget  http://apache.mirror.cdnetworks.com/zeppelin/zeppelin-0.8.2/zeppelin-0.8.2-bin-all.tgz

cd  /work/appl
tar  -xvzf  /work/install/zeppelin-0.8.2-bin-all.tgz
mv  zeppelin-0.8.2-bin-all  zeppelin

#--- Zeppelin 환경 설정
cd  /work/appl/zeppelin
cp  conf/shiro.ini.template  conf/shiro.ini
vim  conf/shiro.ini
    [users]
    admin = password1, admin 
    user1 = password2, role1, role2 
    user2 = password3, role3 
    user3 = password4, role2

cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
vim  conf/zeppelin-site.xml
    <property>
        <name>zeppelin.server.addr</name>
        <value>0.0.0.0</value>
        <description>Server binding address</description>
    </property>
    <property>
        <name>zeppelin.server.port</name>
        <value>8080</value>
        <description>Server port.</description>
    </property>
chmod  755  bin/zeppelin-daemon.sh
    
#--- 필요한 python 라이브러리를 설치한 후 Zeppelin 실행
pip  install  pandas

bin/zeppelin-daemon.sh  restart
# bin/zeppelin-daemon.sh  status
# bin/zeppelin-daemon.sh  start
# bin/zeppelin-daemon.sh  stop

#--- 브라우저에서 접속
# http://localhost:8080/

Zeppelin 코드 샘플

Sample 1 - Object creation

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s)

Sample 2 - Object creation

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

data = pd.date_range('20130101', periods=6)
print(data)

Sample 3 - Object creation

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

dates = pd.date_range('20130101', periods=6)
data = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(data)

Sample 4 - Object creation

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

data = pd.DataFrame({
    'A': 1.,
    'B': pd.Timestamp('20130102'),
    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
    'D': np.array([3] * 4, dtype='int32'),
    'E': pd.Categorical(['test', 'train', 'test', 'train']),
    'F': 'foo'
})
print(data)

print(data.dtypes)
print(data.head())
print(data.tail(3))
print(data.index)
print(data.columns)
print(data.to_numpy())
print(data.describe())
print(data.sort_index(axis=1, ascending=False))
print(data['A'])
print(data[0:3])
print(data.iloc[3])
print(data.iloc[3:5, 0:2])
print(data.index)
print(data.loc[:, ['A', 'B']])

Sample 1

mkdir  -p  /work/files

vi  /work/files/data001.csv
    a,b,c
    1,1,1
    2,2,2
    3,3,3
    4,4,4
    5,5,5
    1,1,1
    2,2,2
    3,3,3
    4,4,4
    5,5,5
    1,1,1
    2,2,2
    3,3,3
    4,4,4
    5,5,5
    
import pandas as pd
from pandas import Series, DataFrame

data = pd.read_csv('/work/files/data001.csv')
print('Shape of train: {data.shape}')
z.show(data.head(10))
최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :