MYSQL로 HIVE Metastore를 설치하고 구성하는 방법

HIVE 메타스토어란 무엇입니까?

Hive Metastore는 Apache Hive와 관련된 메타데이터(열 이름, 데이터 유형, 설명 등)를 저장하는 저장소입니다. MySQL or PostgreSQL. 이 Hive 메타스토어는 관계형 데이터베이스의 테이블을 사용하여 구현됩니다.

사용하는 이유 MySQL Hive에서 Metastore로:

  • 기본적으로 Hive에는 Derby 데이터베이스가 메타스토어로 제공됩니다.
  • Derby 데이터베이스는 한 번에 단 한 명의 활성 사용자만 지원할 수 있습니다.
  • Derby는 프로덕션 환경에서는 권장되지 않습니다.

그래서 해결책 여기있다.

  • 백엔드에서 MYSQL을 Meta 저장소로 사용하여 여러 사용자를 동시에 Hive에 연결합니다.
  • MYSQL은 독립형 메타스토어에 가장 적합한 선택입니다.

Hive Metastore를 설치하고 구성하는 방법 MySQL 데이터베이스

단계 1) 설치 MySQL 서버
이 단계에서는 두 가지 작업을 수행하겠습니다.

  1. mysql-server 설치
  2. mysql-server 및 해당 프로세스 확인
  1. 사용 sudo apt-get install mysql-server 명령어를 사용하면 MySQL 서버를 다운로드할 수 있습니다.

설치 MySQL 스크린샷과 같이

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

  1. 성공적으로 설치를 마친 후, MySQL 아래 스크린 샷과 같이 실행됩니다

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

단계 2) 설치 MySQL Java 커넥터
설치 MySQL Java 커넥터. 이는 Java 종속성 및 연결 목적을 위한 것입니다.

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

단계 3) 커넥터에 대한 소프트 링크 만들기
Hive lib 디렉터리에 커넥터에 대한 소프트 링크를 생성합니다. 이는 사이의 소프트 링크를 위한 것입니다. Java 그리고 MySQL.

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

단계 4) Hive에서 MySQL 저장소 구성

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

  • MySql –u root –p를 입력한 후 비밀번호를 입력합니다.
  • 여기서 –u는 루트 사용자 이름을 나타내고, p는 비밀번호를 나타냅니다.
  • 위 명령을 입력한 후 사용자는 유효한 비밀번호를 입력하고 Enter를 클릭해야 합니다.
  • 그러면 MySQL 셸 모드로 들어갑니다.

단계 5) 아이디와 비밀번호 만들기
MySQL에 대한 사용자 이름과 비밀번호를 생성하고 권한을 부여합니다.

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

아래와 같이 명령을 실행해야 합니다.

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 
mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
mysql>  flush privileges;

단계 6) hive-site.xml 구성

  • 5단계 후에는 사용자 이름과 비밀번호를 할당하세요. MySQL 데이터베이스 및 주어진 권한.
  • 여기서는 연결을 위해 Hive의 일부 속성을 구성합니다. MySQL 데이터 베이스.

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

위의 스크린샷에서 우리는 다음을 관찰합니다. 여기서 우리는 MYSQL을 Meta store로 설정하는 데 필요할 수 있는 4가지 속성을 정의하고 있습니다. 하이브

이들은 다음과 같습니다 :

  1. 이 속성은 연결 URL 용도로 사용됩니다. 여기서는 이 속성에 ConnectionURL을 정의합니다. JDBC 연결 역할을 하며 메타스토어 위치도 나타냅니다.
  2. 이 속성은 연결 드라이버 이름에 대한 것입니다. 여기서 mysql.jdbc.Driver는 값 태그에서 언급해야 하는 존중되는 값입니다.
  3. 연결 사용자 이름을 정의하는 데 사용되는 속성입니다. 여기서는 "hiveguru"를 사용자 이름으로 정의했습니다.
  4. 이 속성은 연결 비밀번호를 언급하는 데 사용됩니다. 여기서는 비밀번호를 사용자 비밀번호로 정의했습니다.

hive –site.xml에 속성을 배치한 후 수동으로 저장(Ctrl+S)하고 파일을 닫아야 합니다. 이 파일을 닫은 후 Hive 테이블을 만들고 테이블 세부 정보를 확인해야 합니다. MySQL 저장.

이 코드를 hive-site.xml에 넣으세요.

하이브-site.xml

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
		<description>metadata is stored in a MySQL server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>MySQL JDBC driver class</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hiveuser</value>
		<description>user name for connecting to mysql server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivepassword</value>
		<description>password for connecting to mysql server</description>
	</property>
</configuration>

7단계) 표 만들기
Hive에 "guru99" 테이블을 만듭니다.

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

위의 스크린샷에서 우리는 다음을 관찰할 수 있습니다.

  • 두 개의 열 이름을 가진 테이블 이름 "guru99" 생성
  • 데이터 유형이 하나는 정수이고 다른 하나는 문자열 유형으로 언급된 열 이름입니다.

다음 단계에서는 이것이 MySql에 저장되어 있는지 아닌지 확인해보겠습니다.

단계 8) MySQL 셸 모드로 들어가기

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

위의 스크린샷에서 우리는 다음을 관찰할 수 있습니다.

  • 먼저 데이터베이스를 "메타스토어 사용"으로 사용해야 합니다.
  • 메타 저장소를 선택하면 스크린샷에 표시된 대로 "show" tables 명령을 사용하여 여기에 있는 테이블을 확인할 수 있습니다.
  • Hive에서 생성된 테이블이 무엇이든 메타데이터는 TBLS에 저장된 테이블에 해당합니다. MySQL 데이터 베이스.
  • “Guur99 테이블”은 Hive에 생성되므로 해당 메타데이터는 Hive에 저장됩니다. MySQL TBLS 하에서.

단계 9) TBLS에서 선택 *를 입력하세요.
생성된 테이블이 현재 존재하는지 확인 MySQL 또는

Hive Metastore를 설치 및 구성하여 MySQL 데이터베이스

TBLS에서 select *를 입력하면 Hive 셸 모드에서 생성한 테이블이 표시됩니다.

위의 스크린샷에서 다음과 같은 사항을 관찰할 수 있습니다.

  • 생성된 테이블 이름 “guru99”는 Hive에 표시될 수 있습니다. MySQL 쉘 모드
  • 이 외에도 위 스크린샷에 표시된 것처럼 테이블 생성 시간, 액세스 시간 및 기타 속성과 같은 정보도 제공합니다.