맨날 HDP 에 설치가 잘된 제플린을 사용하다보니,,
수동으로 제플린을 사용하려고 하니 HIVE를 사용하려고 하니 다음과 같은 오류가 발생합니다.
Prefix not found.
paragraph_1493986135331_752263516's Interpreter hive not found
org.apache.zeppelin.interpreter.InterpreterException: paragraph_1493986135331_752263516's Interpreter hive not found
at org.apache.zeppelin.notebook.Note.run(Note.java:605)
at org.apache.zeppelin.socket.NotebookServer.persistAndExecuteSingleParagraph(NotebookServer.java:1641)
at org.apache.zeppelin.socket.NotebookServer.runAllParagraphs(NotebookServer.java:1588)
at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:268)
at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:59)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
제가 사용한 제플린 버전은 1.7.1 버전이고 이유는 간단합니다.
HIVE 인터프리터가 없기 때문입니다.
설정방법은 여기 친절하게 나와있습니다.
https://zeppelin.apache.org/docs/0.7.1/interpreter/hive.html
설명은 간단하지만,, 분명히 HDP에서 제플린으로 HIVE사용할때는 %hive 사용했던것 같은데..
제플린을 오래 사용하지 않아서 jdbc로 통합된것 같더군요
먼저 Hadoop 홈폴더에 보면 share 폴더 아래 hadoop 아래 common이라는 폴더가 있을겁니다.
여기서 hadoop-common을 제플린 폴더의 interpreter 폴더 jdbc 폴더 안에 복사합니다
그다음 hive 홈폴더에서 lib 폴더에 보면 hive-jdbc-standalone이라는 jar 파일이 있습니다
마찬가지로 제플린 interpreter 폴더 jdbc 에 복사합니다
그다음 제플린 UI에서 인터프리터를 여신다음 여기서 jdbc를 검색합니다
그다음 jdbc에 다음을 추가합니다
hive.driver = org.apache.hive.jdbc.HiveDriver
hive.password = 자신의 설정
hive.url =자신의 설정
hive.user =자신의 설정
그다음 제플린 데몬을 제시작하면
%hive(jdbc) 하신다음 바로 사용이 가능합니다.
....추가적으로 지금 제플린에 yarn-client 모드로 spark 엮고 있는데, 이거 제대로 되면 방법도 올려보겠습니다.
맨날 벤더 하둡 쓰려다가 ㅠㅠㅠ self-deployed 하둡 쓰려니까 어렵네요 ㅠㅠ