AWS EC2에 Hive 설치
홈 폴더로 이동
cd ~
다운로드 하이브
wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
홈 폴더에서 추출
tar -xvf apache-hive-3.1.3-bin.tar.gz
/usr/lib 폴더로 이동하여 hive라는 폴더를 만듭니다.
sudo mkdir hive
추출된 폴더를 홈에서/usr/lib/hive로 이동합니다.
cd ~
mv apache-hive-3.1.3-bin /usr/lib/hive
.bashrc에 HIVE_HOME 환경 변수 추가
sudo nano ~/.bashrc
다음을 추가하십시오
export HIVE_HOME=/usr/lib/hive/apache-hive-3.1.3-bin
그리고 PATH 변수를 다음과 같이 수정합니다.
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin:$HIVE_HOME/bin
그리고 변수를 로드합니다.
source .bashrc
그런 다음 hadoop 파일 시스템에서 하이브용 폴더를 만들어야 합니다.
hdfs dfs -mkdir -p /bigdata/tmp
hdfs dfs -mkdir -p /bigdata/hive/warehouse
그런 다음 권한 부여
hdfs dfs -chmod g+w /bigdata/tmp
hdfs dfs -chmod g+w /bigdata/hive/warehouse
그런 다음 $HIVE_HOME/conf 폴더로 이동합니다.
cd $HIVE_HOME/conf
그런 다음 hive-env.sh 파일을 다음과 같이 편집합니다.
sudo nano hive-env.sh
export HIVE_CONF_DIR=/usr/lib/hive/apache-hive-3.1.3-bin/conf
export HADOOP_HOME=/usr/lib/hadoop/hadoop-2.9.0
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
그런 다음 시스템에 mysql 서버가 없으면 설치하십시오.
sudo apt-get install mysql-server
그런 다음 'metastore'라는 데이터베이스를 만들고 그 안에 테이블을 채웁니다.
CREATE DATABASE metastore;
USE metastore;
SOURCE /usr/lib/hive/apache-hive-3.1.3-bin/scripts/metastore/upgrade/mysql/hive-schema-3.1.0.mysql.sql;
암호가 hivepassword인 hiveuser라는 사용자를 만듭니다.
CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';
GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
flush privileges;
하이브의 conf 디렉토리로 이동하여 hive-site.xml을 생성합니다.
cd $HIVE_HOME/conf
sudo nano hive-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>hivepassword for connecting to mysql server</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/bigdata/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
<description>Thrift URI for the remote metastore.</description>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
</configuration>
그런 다음 mysql 커넥터 8 jar를/usr/share/java/디렉토리에서 $HIVE_HOME/lib로 복사합니다.
cd /usr/share/java/
cp mysql-connector-java-8.0.30.jar $HIVE_HOME/lib
하이브 명령을 입력하여 하이브가 작동하는지 확인
hive
exit;
그런 다음 이 명령으로 metastore 서비스를 시작합니다.
hive --service metastore
그런 다음 나중에 사용할 수 있도록 서비스를 만듭니다.
sudo nano /etc/systemd/system/hive-meta.service
다음을 추가하십시오
[Unit]
Description=Hive metastore
After=network.target
[Service]
User=ubuntu
Group=www-data
ExecStart=/usr/lib/hive/apache-hive-3.1.3-bin/bin/hive --service metastore
[Install]
WantedBy=multi-user.target
그런 다음 서비스를 시작하십시오.
sudo systemctl start hive-meta
그런 다음 다음에 재부팅할 때 서비스가 자동으로 실행되도록 서비스를 활성화합니다.
sudo systemctl enable hive-meta
그런 다음 다음 명령을 사용하여 hdfs에서 sqoop에 의해 이전에 생성된 폴더를 제거합니다.
hdfs dfs -rm -r -f /user/ubuntu/hr_users
그런 다음 특종 가져오기를 다시 수행하십시오. 명령 끝에 --hive-import만 추가하면 됩니다.
sqoop import --connect jdbc:mysql://your_rds_dns_address/yourdatabase --table hr_users --username something --password 'something' --hive-import
그러면 default.hr_users 테이블을 하이브에 가져올 것입니다.
하이브 내부에서 확인할 수 있습니다.
hive
use default;
select * from hr_users limit 1;
Reference
이 문제에 관하여(AWS EC2에 Hive 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zawhtutwin/installing-hive-in-aws-ec2-2g35텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)