hive-site.xml
<property>
<name>hive.metastore.transactional.event.listeners</name>
<value>
org.apache.hive.hcatalog.listener.DbNotificationListener,
org.apache.kudu.hive.metastore.KuduMetastorePlugin
</value>
</property>
<property>
<name>hive.metastore.disallow.incompatible.col.type.changes</name>
<value>false</value>
</property> <property>
<name>hive.metastore.notifications.add.thrift.objects</name>
<value>true</value>
</property>
kudu master start option add
--hive_metastore_uris=thrift:/test.co.kr:9083 user add
hdfs dfs -mkdir /user/impala
hdfs dfs -chown -R impala:hdfs /user/impala drwxr-xr-x - impala hdfs 0 2022-04-05 16:59 /user/impala
set acl
hdfs dfs -setfacl -m default:user:impala:rwx hdfs:///warehouse/tablespace/managed/hive
hdfs dfs -setfacl -m user:impala:rwx hdfs:///warehouse/tablespace/managed/hive
hdfs dfs -setfacl -m default:user:impala:rwx hdfs:///warehouse/tablespace/external/hive
hdfs dfs -getfacl hdfs:///warehouse/tablespace/external/hive
# file: hdfs:///warehouse/tablespace/external/hive
# owner: hive
# group: hadoop
# flags: --t
user::rwx
group::rwx
other::rwx
default:user::rwx
default:user:hive:rwx
default:user:impala:rwx
default:group::rwx
default:mask::rwx
default:other::rwx
hdfs dfs -getfacl hdfs:///warehouse/tablespace/managed/hive
# file: hdfs:///warehouse/tablespace/managed/hive
# owner: hive
# group: hadoop
user::rwx
group::---
other::---
default:user::rwx
default:user:hive:rwx
default:user:impala:rwx
default:group::---
default:mask::rwx
default:other::---
impala start option add
/etc/default/impala
KUDU_MASTER_HOSTS=test.co.kr:7051 ์ถ๊ฐ
---TEST---
$ hive
hive> CREATE DATABASE new_db_from_hive;
hive> CREATE TABLE new_db_from_hive.new_table_from_hive (x INT);
hive> quit;
$ impala-shell
> REFRESH new_db_from_hive.new_table_from_hive;
ERROR: AnalysisException: Database does not exist: new_db_from_hive
> INVALIDATE METADATA new_db_from_hive.new_table_from_hive; > SHOW DATABASES LIKE 'new*';
+--------------------+
| new_db_from_hive |
+--------------------+ > SHOW TABLES IN new_db_from_hive;
+---------------------+
| new_table_from_hive |
+---------------------+
Advanced hive-interactive-site
hive.strict.managed.tables
false
hive-site
hive.strict.managed.tables
false
hive-site, hivemetastore-site ์ฐจ์ด?ใ
KUDU_MASTER_HOSTS=test.co.kr:7051
IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} -webserver_doc_root=${IMPALA_WEB_ROOT} -kudu_master_hosts=${KUDU_MASTER_HOSTS}"
IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT} -webserver_doc_root=${IMPALA_WEB_ROOT} -kudu_master_hosts=${KUDU_MASTER_HOSTS}"
IMPALA_SERVER_ARGS=" \
-log_dir=${IMPALA_LOG_DIR} \
-catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
-state_store_port=${IMPALA_STATE_STORE_PORT} \
-use_statestore \
-state_store_host=${IMPALA_STATE_STORE_HOST} \
-be_port=${IMPALA_BACKEND_PORT} \
-webserver_doc_root=${IMPALA_WEB_ROOT} \
-kudu_master_hosts=${KUDU_MASTER_HOSTS}"
kudu/sbin/kudu-master --rpc_bind_addresses=0.0.0.0:7051 --log-dir=kudu/logs/master --fs_wal_dir=/var/log/kudu_master --fs_data_dirs=/var/log/kudu_master --webserver_doc_root=kudu/www --webserver_port=8051 --master_addresses=hostname:7051 --hive_metastore_uris=thrift://hostname:9083
kudu
- hive metastore - kudu - impala ์ฐ๋ 2022.04.07
- [kudu] kudu cluster๋ชจ๋๋ก ์คํ 2022.03.29
- [kudu] apache kudu ๋ (23.12.01 ์์ ) 2021.12.14
hive metastore - kudu - impala ์ฐ๋
[kudu] kudu cluster๋ชจ๋๋ก ์คํ
Kudu Cluster ๊ตฌ์ฑ์ ๋ณด ์์
kudu1.com | kudu master |
kudu2.com | kudu master |
kudu3.com | kudu tserver |
kudu4.com | kudu tserver |
kudu5.com | kudu tserver |
Master Server
kudu1 ๋ ธ๋
[user@kudu1 ~] ${KUDU_HOME}/sbin/kudu-master/sbin/kudu-master --rpc_bind_addresses=0.0.0.0:7051 \
--log-dir=${KUDU_HOME}/logs/master \
--fs_wal_dir=${KUDU_HOME}/logs/master \
--fs_data_dirs=${KUDU_HOME}/logs/master \
--webserver_port=8051 \
--master_addresses=kudu1.com:7051,kudu2.com:7051 &
kudu2 ๋ ธ๋
[user@kudu2 ~] ${KUDU_HOME}/sbin/kudu-master/sbin/kudu-master --rpc_bind_addresses=0.0.0.0:7051 \
--log-dir=${KUDU_HOME}/logs/master \
--fs_wal_dir=${KUDU_HOME}/logs/master \
--fs_data_dirs=${KUDU_HOME}/logs/master \
--webserver_port=8051 \
--master_addresses=kudu1.com:7051,kudu2.com:7051 &
Tablet Server
kudu3 ๋ ธ๋
[user@kudu3 ~] ${KUDU_HOME}/sbin/kudu-tserver --rpc_bind_addresses=0.0.0.0:7050
--log-dir={KUDU_HOME}/logs/tserver \
--fs_wal_dir={KUDU_HOME}/logs/tserver \
--fs_data_dirs={KUDU_HOME}/logs/tserver \
--webserver_port=8050 \
--tserver_master_addrs=kudu1.com:7051,kudu2.com:7051 &
kudu4 ๋ ธ๋
[user@kudu4 ~] ${KUDU_HOME}/sbin/kudu-tserver --rpc_bind_addresses=0.0.0.0:7050
--log-dir={KUDU_HOME}/logs/tserver \
--fs_wal_dir={KUDU_HOME}/logs/tserver \
--fs_data_dirs={KUDU_HOME}/logs/tserver \
--webserver_port=8050 \
--tserver_master_addrs=kudu1.com:7051,kudu2.com:7051 &
kudu5 ๋ ธ๋
[user@kudu5 ~] ${KUDU_HOME}/sbin/kudu-tserver --rpc_bind_addresses=0.0.0.0:7050
--log-dir={KUDU_HOME}/logs/tserver \
--fs_wal_dir={KUDU_HOME}/logs/tserver \
--fs_data_dirs={KUDU_HOME}/logs/tserver \
--webserver_port=8050 \
--tserver_master_addrs=kudu1.com:7051,kudu2.com:7051 &
์ต์ ์ค๋ช
--rpc_bind_addresses | |
--log-dir | ๋ก๊ทธ ํ์ผ ์ ์ฅ ์์น |
--fs_wal_dir | WAL ๋ก๊ทธ ์ ์ฅ ์์น |
--fs_data_dirs | ๋ฐ์ดํฐ ๋ธ๋ก ์ ์ฅ ์์น |
--webserver_port | ์น ํฌํธ๋ฒํธ ์ง์ |
--tserver_master_addrs | ์ฝค๋ง๋ก ๊ตฌ๋ถ ํ๋ธ๋ฆฟ ์๋ฒ๊ฐ ์ฐ๊ฒฐํด์ผ ํ๋ ๋ง์คํฐ ์ฃผ์ ๋ง์คํฐ๋ ์ด ๊น๋ฐ์ ์ฝ์ง ์์ |
--master_addresses |
์ฝค๋ง๋ก ๊ตฌ๋ถ, Master ์ปจ์ผ์์ค ๊ตฌ์ฑ์ ์ํ ๋ชจ๋ RPC ์ฃผ์ ๊ฐ ์ถ๊ฐ ์ํ ์ standalone์ผ๋ก ์คํ๋จ |
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Hue] Hue 4.10.0 ์ค์น ๊ฐ์ด๋ (1) | 2022.05.13 |
---|---|
Imapa VS Hive (0) | 2022.03.30 |
[airflow] airflow ์ค์น ํ ์คํ (0) | 2022.03.23 |
[Hive] ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์๊ธฐ๋ ํ ์ด๋ธ ๋ชฉ๋ก (0) | 2022.03.04 |
[kudu] apache kudu ๋ (23.12.01 ์์ ) (0) | 2021.12.14 |
[kudu] apache kudu ๋ (23.12.01 ์์ )
kudu๊ฐ ๋ญ์ง, ์ฌ์ฉํด๋ณด์ง๋ ๋ชปํ๊ณ rpm ๋น๋๋ฅผ ํด์ผํ๋ ์ํฉ์์ ๊ธ์ ์ผ๋ค๊ฐ ์ต๊ทผ์ ๋ค์ ์์ ํ๊ฒ ๋์๋ค.
ํ์ฌ๋ kudu๋ ์ฌ์ฉํด๋ณด์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ ํ๋ก์์ฝ์์คํ ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋๋ถ๋ถ ์ํคํ ์ณ๊ฐ ์ ์ฌํ ๋๋์ด๋ผ ์ดํดํ๋๋ฐ ํฌ๊ฒ ์ด๋ ต์ง๋ ์๋ค.
์ฒ์์ kudu ์ฐพ์๋ดค์ ๋
kudo์ ์ํคํ ์ณ๋ hbase์ ์ ์ฌํ ์ ์ด ์๋ค.
๊ทธ๋์ hbase๋ฅผ ์ฌ์ฉํด๋ดค๊ฑฐ๋ ํ๋ค๋ฉด, kudu์ดํดํ๋๋ฐ์ ํฌ๊ฒ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ค.
kudu์์ ํต์ฌ ํค์๋๋ key-value ์ด๋ค.
์ผ๋จ, kudu๋ฅผ ๊ฒ์ํด์ ์ด๊ฒ ์ ๊ฒ ๋ณด๋ค๋ณด๋ฉด ๊ทธ๋์ hbase๊ฐ์๊ฑฐ๋ผ๋ ๊ฑด๊ฐ? ์๊ฐ์ด ๋ ๋ค.
๋ฐ๋ผ๋ค๋๋ ํค์๋๊ฐ key-value๋ก ์ธ๋ฐ, hbase ๋ํ key-value๊ฐ ํต์ฌํค์๋์ด๋ค.
kudu ์ ์ hbase
kudu๋ฅผ ์์๋ณด๊ธฐ์ ์ hbase์ ๋ํด ๊ฐ๋ตํ ์ง๊ณ ๋์ด๊ฐ๋ฉด HDFS๋ append-only , immutable์ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. HDFS์ ์ ์ฅ๋ ํ์ผ์ ์์ ์ด ๋ถ๊ฐํ๋ค. (๋ฎ์ด์ฐ๊ธฐํด์ ์์ )
Hbase์ ๊ฒฝ์ฐ HDFS์ ๋ฌ๋ฆฌ ์์ ๊ฐ๋ฅํ๊ณ ๋๋ค์ผ๋ก ์ ๊ทผํด ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค. ์ ๊ทผ์ด ๋น ๋ฅด๊ณ low latency๋ก input, output ๊ณผ์ ์์ ์ง์ฐ์ ์ต์ํ ํ๋ ๊ฒ์ด๋ค.
hbase์ kudu์ ์ฐจ์ด์ ์ ?
๊ทธ๋ผ kudu์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น??
hbase๋ ์ฒ๋ฆฌ๋์ด ๋ฎ๊ณ , kudu๋ ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋น๊ตํ ์ ์๋ค.
hbase์ HDFS์์ JSONํ์ผ, kudu๋ HDFS์์ parquet ํ์ผ์ ์ฒ๋ฆฌํ๋ค
kudu๋ parquet ์ hbase์ ์์๊ฒฉ์ด๋ค.
parquetํ์ผ์ ๋ค๋ค๋ดค๋ค๋ฉด, ์์ถ๋ฅ ์ด ๋์(์ฉ๋์ด ์์ ๋ฑ๋ฑ) ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋๋ ์ ์๋ค.
parquet์ด ๋จผ๋?
hbase์ฒ๋ผ ์นผ๋ผ๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง์ด๋ฉฐ, hbase๊ฐ์ parquet parquet๊ฐ์ hbase๋ผ๊ณ ์๊ฐํด์ผํ๋ค๊ณ ํ๋ค.
Kudu๋ Hbase์ parquet์ ํผ์ข
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์ฌ ์ ์ฅํ ๋, Hbase์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ฉฐ,
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ์ ๋ํ ๋ถ์ ์ํฌ๋ก๋ ์คํํ ๋, parquet๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
์ฟผ๋ฆฌ๋ก ๊ธด ๊ธฐ๊ฐ ๋ด์ญ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋จ๊ธฐ ๋ฐ์ดํฐ ๊ฒฐํฉ์ ์ฝ๊ฒ ํ ์ ์๋ค
Hbase in-memory + Parquet columar layout = kudu
Kudu์ ์ํธ์์ฉ ํ๋ ๊ฒ๋ค?
- Impala
- ๋ณ๋์ ์ง์ ๊ธฐ๋ฅ์ kudu์์ ์ง์ํ์ง์๊ธฐ์ impala์ ๊ฐ์ ์ง์ ์์ง ์ฌ์ฉํด์ผํ๋ค.
- ํ์คํ ํ์ด๋ธ ์ฟผ๋ฆฌ์๋ ์๋๊ฐ ๋น ๋ฆ์ ๋๋ ์ ์๋ค. ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ง ๋๋ฆฌ๊ณ ์์ฃผํ๋ ์ํฌํ๋ก์ฐ๊ฐ ๋ง๋ค๋ฉด TEZ์์ง ์ฌ์ฉ์์ฒด๋ ๋ถ๋ด์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. MR์์ง ์ฐ๋ ํ์ด๋ธ์๋ ๋งค์ฐ ์๋๊ฐ ๋น ๋ฅด๋ค
- C++,java,python client
- MapReduce
- Spark
Kudu ์ํคํ ์ณ
Kudu Master
- Fault Tolerance ์ฅ์ ํ์ฉ
- Failover to backup masters ๋ฐฑ์ ์ผ๋ก ์ฅ์ ์กฐ์น
- Raft used for electing new leaders ์๋ก์ด ๋ฆฌ๋ ๋ฝ์๋ Raft ์ฌ์ฉ
- Only leader serves client request ๋ฆฌ๋๋ง ํด๋ผ์ด์ธํธ ์์ฒญ ์์ฉ
Tablets
- Hbase์ region๊ณผ ๋น์ทํจ
- 3- 5 ๊ฐ ๋ณต์ ๊ฐ๋ฅํจ
- ๋ณต์ ๋ ํฉ์๋ฅผ ์ํด Raft์ ๋ฆฌ๋/ํ๋ก์ ํจํด์ ์ฌ์ฉ
- HDFS์๋ ๋ก์ปฌ์ ๋ฐ์ดํฐ ์ ์ฅํจ
Kudu ์คํ
https://n-a-y-a.tistory.com/108
[kudu] kudu cluster๋ชจ๋๋ก ์คํ
Kudu Cluster ๊ตฌ์ฑ์ ๋ณด ์์ kudu1.com kudu master kudu2.com kudu master kudu3.com kudu tserver kudu4.com kudu tserver kudu5.com kudu tserver Master Server kudu1 ๋ ธ๋ [user@kudu1 ~] ${KUDU_HOME}/sbin/kudu-master/sbin/kudu-master --rpc_bind_addresses=
n-a-y-a.tistory.com
Kudu Impala, Hive metastore ์ฐ๋
https://n-a-y-a.tistory.com/110
hive metastore - kudu - impala ์ฐ๋
hive-site.xml hive.metastore.transactional.event.listeners org.apache.hive.hcatalog.listener.DbNotificationListener, org.apache.kudu.hive.metastore.KuduMetastorePlugin hive.metastore.disallow.incompatible.col.type.changes false hive.metastore.notifications
n-a-y-a.tistory.com
๊ผญ ํ์ด๋ธ๋ฉํ์คํ ์ด์๋ ์ฐ๋์ ํ์ง์์๋ ๋ ๊ฒ๊ฐ์ง๋ง, ๊ธฐ์กด์ ํ์ด๋ธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉด ์ฐ๋ํด์ ์ฌ์ฉํ๋๊ฒ์ด ํธ๋ฆฌํ ๊ฒ์ด๋ค.
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[airflow] airflow ์ค์น ํ ์คํ (0) | 2022.03.23 |
---|---|
[Hive] ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์๊ธฐ๋ ํ ์ด๋ธ ๋ชฉ๋ก (0) | 2022.03.04 |
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? (0) | 2021.12.06 |
lamda arch (0) | 2021.11.22 |
[Hadoop] Block Pool (0) | 2021.11.12 |