0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HadoopクラスタにZeppelinを導入してみた。

Last updated at Posted at 2025-12-29

はじめに

これまで構築したHadoopクラスタ&Hive環境に対し、利用するZeppelinを構築してみました。

全体構成(今回追加するもの)

[ Zeppelinホスト(zeppelin1) ]
└─ Apache Zeppelin
└─ JDBC (HiveServer2)
└─ Hive on Hadoop Cluster

Zeppelin は Hadoop ノードには入れない
Hive とは HiveServer2 (10000) で接続

0. 前提条件(Hadoop/Hive 側)

master1にてHiveServer2 が起動していること

jps | grep HiveServer2

ポート確認

sudo ss -lntp | grep 10000

1. Zeppelin 用ホストの準備(新規ホスト)

1-1. hosts 設定

sudo tee -a /etc/hosts << 'EOF'
10.0.0.11 master1
10.0.0.12 master2
10.0.0.13 master3
10.0.0.21 worker1
10.0.0.22 worker2
EOF

1-2. Java 11 インストール

sudo apt update
sudo apt install -y openjdk-11-jdk
java -version

2. Apache Zeppelin のインストール

2-1. zeppelinユーザー作成

sudo useradd -r -m -d /opt/zeppelin -s /bin/bash zeppelin

2-2. ダウンロード & 配置

sudo su - zeppelin
wget https://dlcdn.apache.org/zeppelin/zeppelin-0.10.1/zeppelin-0.10.1-bin-all.tgz
tar xzf zeppelin-0.10.1-bin-all.tgz
mv zeppelin-0.10.1-bin-all/* ./
rm -rf zeppelin-0.10.1-bin-all*
mkdir /opt/zeppelin/logs
mkdir /opt/zeppelin/run
exit

3. Zeppelin 基本設定

3-1. zeppelin-env.sh

sudo -u zeppelin tee  /opt/zeppelin/conf/zeppelin-env.sh << 'EOF'
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export ZEPPELIN_PORT=8080
export ZEPPELIN_ADDR=0.0.0.0
EOF

3-2. zeppelin-site.xml

sudo -u zeppelin tee  /opt/zeppelin/conf/zeppelin-site.xml << 'EOF'
<configuration>
  <property>
    <name>zeppelin.server.addr</name>
    <value>0.0.0.0</value>
  </property>
  <property>
    <name>zeppelin.server.port</name>
    <value>8080</value>
  </property>
</configuration>
EOF

4. Hive 用 Interpreter作成

4-1. Zeppelin Service作成、起動

sudo tee /etc/systemd/system/zeppelin.service << 'EOF'
[Unit]
Description=Apache Zeppelin
After=network.target

[Service]
Type=forking
User=zeppelin
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now zeppelin

Zeppelin管理画面にアクセスできること。

http://zeppelin1:8080

4-2. Interpreter 設定画面

右上ユーザー → Interpreter → 右上のcreate

Interpreter Name
hive

Interpreter group
jdbc

properties:

以下のパラメータを編集する。

default.url
jdbc:hive2://master1:10000/default

以下のパラメータを追記する。

hive.driver
org.apache.hive.jdbc.HiveDriver

hive.user
hive

5.hive jdbc入手

sudo su - zeppelin
cd /opt/zeppelin/interpreter/jdbc
wget -O hive-jdbc-3.1.3-standalone.jar \
  https://repo1.maven.org/maven2/org/apache/hive/hive-jdbc/3.1.3/hive-jdbc-3.1.3-standalone.jar
exit
sudo systemctl restart zeppelin

6. 動作確認(HiveQL)

6-1. 新規 Notebook 作成

Notebook → Create new note

Note Name:hive-test
Default Interpreter:hive

6-2. Hive クエリ実行

以下の処理を順々に行う。
エラーが出ず動かせること。

%hive
SHOW DATABASES;
%hive
USE default;
SHOW TABLES;
%hive
SELECT * FROM t1 LIMIT 10;

→前のコマンドで何もテーブルが出てない場合、実施しないこと。

%hive
drop table t1;

→前のコマンドを実施していない場合、実施しないこと。

%hive
CREATE TABLE t1 (
  col1 INT,
  col2 STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
%hive
set mapreduce.map.memory.mb=256;
set mapreduce.reduce.memory.mb=256;
set yarn.app.mapreduce.am.resource.mb=256;

INSERT INTO t1 VALUES (1,'a'),(2,'b');
%hive
SELECT * FROM t1 LIMIT 10;
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?