제플린 테스트 실행하기

주제

  • 이번 글에서는 apache zepplin 프로젝트의 전체 테스트 코드를 실행해보고 테스트과정에서 겪은 이슈와 해결방법에 대해 다룹니다
  • IDEA 에서 테스트를 실행하는것도 가능하지만, 좀더 범용적으로 사용할수 있도록 이번 글에서는 console 에서 테스트하는 방법에 대해서 다루겠습니다. 따라서 이 글의 컨텐츠들은 이클립스나 인텔리제이 같은 별도의 IDE 에는 의존적이지 않습니다.

테스트 실행 전 준비사항

  • 테스트를 시작하기 전에 몇가지 사전작업이 필요한데요
    • jdk 버전
    • node 버전 확인

JDK 버전 확인

# 로컬 자바버전 확인 명령어
java -version
  • 아래에서 설명하겠지만, JDK 버전은 꼭 11로 설정을 추천합니다. 왜냐하면 처음에 JDK17도 괜찮겠지 라고 생각했는데, 이로인한 몇가지 문제가 발생하였고 이에 대한 자세한 내용은 글 아래에서 추가로 소개하겠습니다
openjdk version "11.0.23" 2024-04-16
OpenJDK Runtime Environment Temurin-11.0.23+9 (build 11.0.23+9)
OpenJDK 64-Bit Server VM Temurin-11.0.23+9 (build 11.0.23+9, mixed mode)

Node 버전 확인

  • 또한 테스트코드 중 프론트엔드 테스트도 일부 포함되어있는 관계로 node 도 필수적으로
node -v
v16.20.2

  • 기존에 사용중인 jdk, node 버전과 프로젝트에서 사용하는 버전이 다를수 있습니다 이때 사용하면 좋을 환경선택 매니져가 있는데요!
    • node 환경은 nvm
    • jdk 환경은 jenv
  • 위 유틸리티 사용을 추천하며, 아래 글을 참고해도 좋고 해당 키워드로 검색해서 사용하면 좋을꺼같습니다.
    • nvm 사용법이 포함된 글 링크
    • jenv 사용법이 포함된 글 링크

(Optional)

  • 위 환경세팅이 완료된 후에는 우선 빌드가 잘 되는지 확인합니다
# 빌드 확인
./mvnw build -DskipTests

# 제플린 실행
./bin/zeppelin-daemon.sh restart 
  • 빌드 성공시 아래와 같은 로그를 확인할 수 있습니다
[INFO] --- maven-site-plugin:3.12.1:attach-descriptor (attach-descriptor) @ zeppelin-distribution ---
[INFO] No site descriptor found: nothing to attach.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Zeppelin 0.12.0-SNAPSHOT:
[INFO] 
[INFO] Zeppelin ........................................... SUCCESS [  0.813 s]
[INFO] Zeppelin: Tools .................................... SUCCESS [  0.304 s]
[INFO] Zeppelin: Common ................................... SUCCESS [  0.422 s]
[INFO] Zeppelin: Interpreter .............................. SUCCESS [ 10.934 s]
[INFO] Zeppelin: Interpreter Shaded ....................... SUCCESS [ 43.322 s]
[INFO] Zeppelin: Interpreter Parent ....................... SUCCESS [  0.108 s]
[INFO] Zeppelin: Jupyter Support .......................... SUCCESS [  0.324 s]
[INFO] Zeppelin: Test ..................................... SUCCESS [  0.151 s]
[INFO] Zeppelin: Zengine .................................. SUCCESS [  2.037 s]
[INFO] Zeppelin: Jupyter Interpreter ...................... SUCCESS [  4.236 s]
[INFO] Zeppelin: Jupyter Interpreter Shaded ............... SUCCESS [  2.669 s]
[INFO] Zeppelin: R ........................................ SUCCESS [ 18.227 s]
[INFO] Zeppelin: Groovy interpreter ....................... SUCCESS [  0.747 s]
[INFO] Zeppelin: Spark Parent ............................. SUCCESS [  0.093 s]
[INFO] Zeppelin: Spark Shims .............................. SUCCESS [  0.174 s]
[INFO] Zeppelin: Spark3 Shims ............................. SUCCESS [  0.666 s]
[INFO] Zeppelin: Python interpreter ....................... SUCCESS [  3.001 s]
[INFO] Zeppelin: Spark Interpreter ........................ SUCCESS [ 19.204 s]
[INFO] Zeppelin: Spark Scala Parent ....................... SUCCESS [  0.432 s]
[INFO] Zeppelin: Spark Interpreter Scala_2.12 ............. SUCCESS [  3.152 s]
[INFO] Zeppelin: Spark Interpreter Scala_2.13 ............. SUCCESS [  3.389 s]
[INFO] Zeppelin: Shell interpreter ........................ SUCCESS [  1.776 s]
[INFO] Zeppelin: Spark-Submit interpreter ................. SUCCESS [  2.078 s]
[INFO] Zeppelin: Markdown interpreter ..................... SUCCESS [  2.477 s]
[INFO] Zeppelin: MongoDB interpreter ...................... SUCCESS [  0.331 s]
[INFO] Zeppelin: Angular interpreter ...................... SUCCESS [  0.180 s]
[INFO] Zeppelin: Livy interpreter ......................... SUCCESS [  0.974 s]
[INFO] Zeppelin: HBase interpreter ........................ SUCCESS [  1.401 s]
[INFO] Zeppelin: JDBC interpreter ......................... SUCCESS [  1.395 s]
[INFO] Zeppelin: File System Interpreters ................. SUCCESS [  0.635 s]
[INFO] Zeppelin: Flink Parent ............................. SUCCESS [  0.079 s]
[INFO] Zeppelin: Flink Shims .............................. SUCCESS [  0.152 s]
[INFO] Zeppelin: Flink1.15 Shims .......................... SUCCESS [  1.694 s]
[INFO] Zeppelin: Flink1.16 Shims .......................... SUCCESS [  1.628 s]
[INFO] Zeppelin: Flink1.17 Shims .......................... SUCCESS [  1.664 s]
[INFO] Zeppelin: Flink Interpreter Scala_2.12 ............. SUCCESS [ 15.330 s]
[INFO] Zeppelin: Flink-Cmd interpreter .................... SUCCESS [  1.556 s]
[INFO] Zeppelin: InfluxDB interpreter ..................... SUCCESS [  0.610 s]
[INFO] Zeppelin: Apache Cassandra interpreter ............. SUCCESS [ 13.852 s]
[INFO] Zeppelin: Elasticsearch interpreter ................ SUCCESS [  3.132 s]
[INFO] Zeppelin: BigQuery interpreter ..................... SUCCESS [  0.899 s]
[INFO] Zeppelin: Alluxio interpreter ...................... SUCCESS [05:26 min]
[INFO] Zeppelin: Neo4j interpreter ........................ SUCCESS [  0.880 s]
[INFO] Zeppelin: Java interpreter ......................... SUCCESS [  0.275 s]
[INFO] Zeppelin: Sparql interpreter ....................... SUCCESS [  1.587 s]
[INFO] Zeppelin: Client ................................... SUCCESS [  0.140 s]
[INFO] Zeppelin: Client Examples .......................... SUCCESS [  0.105 s]
[INFO] Zeppelin: Server ................................... SUCCESS [  2.375 s]
[INFO] Zeppelin: web Application .......................... SUCCESS [ 41.643 s]
[INFO] Zeppelin: Plugins Parent ........................... SUCCESS [  0.304 s]
[INFO] Zeppelin: Plugin S3NotebookRepo .................... SUCCESS [  0.795 s]
[INFO] Zeppelin: Plugin GitHubNotebookRepo ................ SUCCESS [  0.483 s]
[INFO] Zeppelin: Plugin AzureNotebookRepo ................. SUCCESS [  0.375 s]
[INFO] Zeppelin: Plugin GCSNotebookRepo ................... SUCCESS [  0.620 s]
[INFO] Zeppelin: Plugin FileSystemNotebookRepo ............ SUCCESS [  0.570 s]
[INFO] Zeppelin: Plugin MongoNotebookRepo ................. SUCCESS [  0.515 s]
[INFO] Zeppelin: Plugin OSSNotebookRepo ................... SUCCESS [  0.517 s]
[INFO] Zeppelin: Plugin Kubernetes StandardLauncher ....... SUCCESS [  3.033 s]
[INFO] Zeppelin: Plugin Flink Launcher .................... SUCCESS [  0.650 s]
[INFO] Zeppelin: Plugin Docker Launcher ................... SUCCESS [  0.879 s]
[INFO] Zeppelin: Plugin Cluster Launcher .................. SUCCESS [  1.265 s]
[INFO] Zeppelin: Plugin Yarn Launcher ..................... SUCCESS [  0.521 s]
[INFO] Zeppelin: Packaging distribution ................... SUCCESS [  0.580 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  09:11 min
[INFO] Finished at: 2024-07-17T10:29:54+09:00
[INFO] ------------------------------------------------------------------------

테스트 실행하기

  • 이제 메이븐을 활용해 테스트 실행합니다
./mvnw test
  • 모든 테스트가 한방에 잘 끝나면 좋겠지만, 저의 경우에는 그러지 못했습니다.. ㅠ
  • 그래서 테스트 실행과정에서 겪은 이슈들과 그 해결과정에 대해서 간단히 정리해봤습니다

테스트 실패 케이스 1 : JDK가 17 버전일때 Interpreter 에서 발생하는 이슈

[ERROR] Failures: 
[ERROR]   ClusterSingleNodeTest.startCluster:83 expected: <true> but was: <false>
[ERROR] Errors: 
[ERROR]   TableDataProxyTest.testProxyTable:56 NullPointer Cannot invoke "org.apache.zeppelin.tabledata.Row.get()" because "row" is null
[INFO] 
[ERROR] Tests run: 106, Failures: 1, Errors: 1, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Zeppelin 0.12.0-SNAPSHOT:
[INFO] 
[INFO] Zeppelin ........................................... SUCCESS [  0.388 s]
[INFO] Zeppelin: Tools .................................... SUCCESS [  0.223 s]
[INFO] Zeppelin: Common ................................... SUCCESS [  0.076 s]
[INFO] Zeppelin: Interpreter .............................. FAILURE [06:05 min]
[INFO] Zeppelin: Interpreter Shaded ....................... SKIPPED
[INFO] Zeppelin: Interpreter Parent ....................... SKIPPED
[INFO] Zeppelin: Jupyter Support .......................... SKIPPED

<중략...>

[INFO] Zeppelin: Packaging distribution ................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:06 min
[INFO] Finished at: 2024-07-17T10:38:27+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.2:test (default-test) on project zeppelin-interpreter: There are test failures.
[ERROR] 
[ERROR] Please refer to /Users/kang/zeppelin/zeppelin-interpreter/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :zeppelin-interpreter
10:51:50,565  WARN [Thread-11] org.apache.zeppelin.cluster.ClusterManager:266 - Raft incomplete initialization! retry[1800]
10:51:50,584 ERROR [Thread-12] org.apache.zeppelin.cluster.ClusterManager:341 - Raft incomplete initialization!
  • JDK 변경후, 저의 경우에는 동일한 문제가 지속되었고, 아래 명령어를 통해서 제플린 전체의 setup과정을 다시 수행하여 문제를 해결되었습니다.
  • 아래 과정은 시간이 꽤 오래 걸리니 JDK 버전 변경 후 문제가 지속되는 경우에만 제한적으로 한번 시도해보면 좋을꺼같습니다.
./mvnw clean package -DskipTests && \
./mvnw clean install -DskipTests && \
./bin/zeppelin-daemon.sh restart && \
./mvnw test

검토했으나 적용하지 못한 것들

# 실패하더라도 다음 테스트스윗을 진행하는 옵션 : mvn 설정 변경 필요해서 기각
./mvnw test -DtestFailureIgnore=true

# 테스트 병렬실행 : mvn 설정 변경 필요해서 기각
./mvnw -Dparallel=classes -DthreadCount=4 

# 합친것 : 실패시 계속테스트 + 병렬실행
./mvnw -Dparallel=classes -DthreadCount=4 test -DtestFailureIgnore=true

테스트 실패 케이스 2 : node 인식이 안될때 발생하는 이슈

  • 아래 로그로 테스트가 실패한다면 node 를 shell 에서 인식하지 못한 상황입니다.
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   HeliumBundleFactoryTest.testInstallNpm:60 expected: <true> but was: <false>
[ERROR]   NotebookTest.testSchedule:656 expected: not <null>
[ERROR]   NotebookTest.testScheduleDisabledWithName:820 expected: <true> but was: <false>
[ERROR]   NotebookTest.testSchedulePoolUsage:735 expected: <true> but was: <false>
[ERROR] Errors: 
[ERROR]   HeliumBundleFactoryTest.bundleLocalPackage:119 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'yarn install --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.bundlePackage:94 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'npm pack zeppelin-bubblechart@0.0.3 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.downloadPackage:77 » TaskRunner 'npm install lodash@3.9.3 --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.switchVersion:183 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'npm pack zeppelin-bubblechart@0.0.3 --registry=https://registry.npmjs.org/' failed.
[INFO] 
[ERROR] Tests run: 251, Failures: 4, Errors: 4, Skipped: 6
[INFO] 
  • 위 문제의 해결책은 node 버전이 정상적으로 세팅되었는지 확인하는 과정이 필요합니다
node -v
v16.20.2

테스트 실패 케이스3 : Zengine FAILURE

  • 해결중입니다.. ㅠㅠ
[ERROR] Failures: 
[ERROR]   HeliumBundleFactoryTest.testInstallNpm:60 expected: <true> but was: <false>
[ERROR]   NotebookTest.testSchedule:656 expected: not <null>
[ERROR]   NotebookTest.testScheduleDisabledWithName:820 expected: <true> but was: <false>
[ERROR]   NotebookTest.testSchedulePoolUsage:735 expected: <true> but was: <false>
[ERROR] Errors: 
[ERROR]   HeliumBundleFactoryTest.bundleLocalPackage:119 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'yarn install --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.bundlePackage:94 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'npm pack zeppelin-bubblechart@0.0.3 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.downloadPackage:77 » TaskRunner 'npm install lodash@3.9.3 --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=https://registry.npmjs.org/' failed.
[ERROR]   HeliumBundleFactoryTest.switchVersion:183 » IO com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'npm pack zeppelin-bubblechart@0.0.3 --registry=https://registry.npmjs.org/' failed.
[INFO] 
[ERROR] Tests run: 250, Failures: 4, Errors: 4, Skipped: 6
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Zeppelin 0.12.0-SNAPSHOT:
[INFO] 
[INFO] Zeppelin ........................................... SUCCESS [  0.361 s]
[INFO] Zeppelin: Tools .................................... SUCCESS [  0.208 s]
[INFO] Zeppelin: Common ................................... SUCCESS [  0.071 s]
[INFO] Zeppelin: Interpreter .............................. SUCCESS [01:15 min]
[INFO] Zeppelin: Interpreter Shaded ....................... SUCCESS [  0.234 s]
[INFO] Zeppelin: Interpreter Parent ....................... SUCCESS [  0.092 s]
[INFO] Zeppelin: Jupyter Support .......................... SUCCESS [  0.643 s]
[INFO] Zeppelin: Test ..................................... SUCCESS [  0.350 s]
[INFO] Zeppelin: Zengine .................................. FAILURE [50:45 min]
[INFO] Zeppelin: Jupyter Interpreter ...................... SKIPPED
[INFO] Zeppelin: Jupyter Interpreter Shaded ............... SKIPPED
[INFO] Zeppelin: R ........................................ SKIPPED
[INFO] Zeppelin: Groovy interpreter ....................... SKIPPED

중간정리

테스트 제거
ClusterSingleNodeTest


모듈 제거
Zeppelin: Zengine
삭제 pom.xml
<module>zeppelin-zengine</module>

문제점

로컬파이썬에선 안되고 venv 만들고 그안에서 실행

org.apache.zeppelin.interpreter.InterpreterException: Fail to open JupyterKernelInterpreter: org.apache.zeppelin.interpreter.InterpreterException: Kernel prerequisite is not meet: jupyter-client or jupyter_client is not installed, installed packages:
pip install -r requirements.txt

# 버전이 안맞는다고 할떄
pip install --force-reinstall -r requirements.txt
  • requirements.txt
protobuf==3.20.3

anyio==4.4.0
appnope==0.1.4
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
attrs==23.2.0
Babel==2.15.0
beautifulsoup4==4.12.3
bleach==6.1.0
certifi==2024.7.4
cffi==1.16.0
charset-normalizer==3.3.2
comm==0.2.2
debugpy==1.8.2
decorator==5.1.1
defusedxml==0.7.1
exceptiongroup==1.2.2
executing==2.0.1
fastjsonschema==2.20.0
fqdn==1.5.1
h11==0.14.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
ipykernel==6.29.5
ipython==8.26.0
ipywidgets==8.1.3
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.4
json5==0.9.25
jsonpointer==3.0.0
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
jupyter==1.0.0
jupyter-client==8.6.2
jupyter-console==6.6.3
jupyter-events==0.10.0
jupyter-lsp==2.2.5
jupyter-core==5.7.2
jupyter-server==2.14.2
jupyter-server-terminals==0.5.3
jupyterlab==4.2.4
jupyterlab-pygments==0.3.0
jupyterlab-server==2.27.3
jupyterlab-widgets==3.0.11
kafka==1.3.5
kafka-python==2.0.2
MarkupSafe==2.1.5
matplotlib-inline==0.1.7
mistune==3.0.2
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nest-asyncio==1.6.0
notebook==7.2.1
notebook-shim==0.2.4
overrides==7.7.0
packaging==24.1
pandocfilters==1.5.1
parso==0.8.4
pexpect==4.9.0
platformdirs==4.2.2
prometheus-client==0.20.0
prompt-toolkit==3.0.47
psutil==6.0.0
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.22
Pygments==2.18.0
python-dateutil==2.9.0.post0
python-json-logger==2.0.7
PyYAML==6.0.1
pyzmq==26.0.3
qtconsole==5.5.2
QtPy==2.4.1
referencing==0.35.1
requests==2.32.3
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.19.0
Send2Trash==1.8.3
six==1.16.0
sniffio==1.3.1
soupsieve==2.5
stack-data==0.6.3
terminado==0.18.1
tinycss2==1.3.0
tomli==2.0.1
tornado==6.4.1
traitlets==5.14.3
types-python-dateutil==2.9.0.20240316
typing_extensions==4.12.2
uri-template==1.3.0
urllib3==2.2.2
wcwidth==0.2.13
webcolors==24.6.0
webencodings==0.5.1
websocket-client==1.8.0
widgetsnbextension==4.0.11
grpcio==1.56.2

중요 protobuf==3.20.3 5.27 이 설치되는데 3.20.3 으로 꼭!

R 설치되어야함

[INFO] Zeppelin: Jupyter Interpreter ...................... SUCCESS [ 15.713 s]
[INFO] Zeppelin: Jupyter Interpreter Shaded ............... SUCCESS [  0.091 s]
[INFO] Zeppelin: R ........................................ FAILURE [ 13.186 s]
[INFO] Zeppelin: Groovy interpreter ....................... SKIPPED
[INFO] Zeppelin: Spark Parent ............................. SKIPPED
[INFO] Zeppelin: Spark Shims .............................. SKIPPED
self._kernel_spec = self.kernel_spec_manager.get_kernel_spec(self.kernel_name)
  File "/Users/kep-dong22/venv/lib/python3.10/site-packages/jupyter_client/kernelspec.py", line 294, in get_kernel_spec
    raise NoSuchKernel(kernel_name)
jupyter_client.kernelspec.NoSuchKernel: No such kernel named ir

        at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.launchJupyterKernel(JupyterKernelInterpreter.java:269)
        at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.open(JupyterKernelInterpreter.java:159)
        at org.apache.zeppelin.r.IRInterpreter.open(IRInterpreter.java:85)
        at org.apache.zeppelin.r.ShinyInterpreter.getIRInterpreter(ShinyInterpreter.java:139)
 WARN [2024-07-20 22:07:15,542] ({Exec Default Executor} ProcessLauncher.java[onProcessFailed]:134) - Process with cmd [python, /var/folders/35/31j0q5116x1cqdmnp56bw1xc0000gp/T/zeppelin_jupyter_kernel_ir1429221992788154530/kernel_server.py, ir, 50089] is failed due to
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
        at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
        at org.apache.commons.exec.DefaultExecutor.access$200(DefaultExecutor.java:48)
        at org.apache.commons.exec.DefaultExecutor$1.run(DefaultExecutor.java:200)
        at java.base/java.lang.Thread.run(Thread.java:829)
 WARN [2024-07-20 22:07:15,544] ({Exec Default Executor} ProcessLauncher.java[onProcessFailed]:135) - Process ErrorMessage: 
starting...
Traceback (most recent call last):
brew install R &&
R &&
install.packages("knitr")
install.packages("IRkernel")

1 눌러서

> install.packages('IRkernel')
‘/opt/homebrew/lib/R/4.4/site-library’의 위치에 패키지(들)을 설치합니다.
(왜냐하면 ‘lib’가 지정되지 않았기 때문입니다)
--- 현재 세션에서 사용할 CRAN 미러를 선택해 주세요 ---
Secure CRAN mirrors 

 1: 0-Cloud [https]
 2: Australia (Canberra) [https]
 3: Australia (Melbourne 1) [https]
 4: Australia (Melbourne 2) [https]
 5: Austria [https]
 6: Belgium (Brussels) [https]
 7: Brazil (PR) [https]
 8: Brazil (SP 1) [https]

IRkernel::installspec()

https://zeppelin.apache.org/docs/0.9.0/interpreter/jupyter.html

ShinyInterpreterTest » 테스트코드 무시하고 진행

[INFO] Zeppelin: Common ................................... SUCCESS [  0.078 s]
[INFO] Zeppelin: Interpreter .............................. SUCCESS [01:04 min]
[INFO] Zeppelin: Interpreter Shaded ....................... SUCCESS [  0.213 s]
[INFO] Zeppelin: Interpreter Parent ....................... SUCCESS [  0.119 s]
[INFO] Zeppelin: Jupyter Interpreter ...................... SUCCESS [ 13.562 s]
[INFO] Zeppelin: Jupyter Interpreter Shaded ............... SUCCESS [  0.096 s]
[INFO] Zeppelin: R ........................................ FAILURE [ 10.651 s]
[INFO] Zeppelin: Groovy interpreter ....................... SKIPPED
[INFO] Zeppelin: Spark Parent ............................. SKIPPED
[INFO] Zeppelin: Spark Shims .............................. SKIPPED
[INFO] Zeppelin: Spark3 Shims ............................. SKIPPED
[INFO] Zeppelin: Python interpreter ....................... SKIPPED