Hive部署以及使用Beelin连接HiveServer2操作Hive
1、Hive部署
1.1 安装mysql
#更新秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
#安装mysql yum 库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
#安装mysql
yum -y install mysql-community-server
#启动mysql
systemctl start mysqld
#查看mysql状态
systemctl status mysqld.service
#设置开机自启动
systemctl enable mysqld.service
#查找mysql的登录密码
grep 'password' /var/log/mysqld.log
#登录mysql
mysql -uroot -p
#降低mysql密码安全级别(可选)
set global validate_password_policy=LOW;
#设置密码长度最低为4位
set global validate_password_length=4;
#为root用户设置密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
grant all privileges on *.* to root@"%" identified by 'root' with grant option;
flush privileges;
1.2 配置HDFS;编辑core-site.xml文件
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
<description>允许hadoop用户带你任何主机</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
<description>允许hadoop用户带你任何组</description>
</property>
1.3 下载并安装Hive
(1)Hive安装包归档路径:
http://archive.apache.org/dist/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
(2)上传到服务器并解压到指定目录
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/
(3)做软连接
ln -s /opt/apache-hive-3.1.2-bin/ /opt/hive
(4)下载对应版本的mysql驱动包
下载路径:
https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.35/mysql-connector-java-5.1.35.jar
(5)将驱动包拷贝到Hive的文件夹的lib目录
cp mysql-connector-java-5.1.35.jar /opt/hive/lib
(6)配置hive
在Hive的conf目录下新建hive-env.sh
vim /opt/hive/conf/hive-env.sh
export HADOOP_HOME=/opt/hadoop
export HIVE_CONF_DIR=/opt/hive/conf
export HIVE_AUX_JARS_PATH=/opt/hive/lib
在Hive的conf目录下新建hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
<description>连接mysql地址</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>连接mysql驱动</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>连接mysql用户</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>连接mysql密码</description>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node1</value>
<description>hive server2绑定的主机</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
<description>hive metastore url</description>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
<description>关闭api授权认证</description>
</property>
</configuration>
配置Hive元数据库
#创建Hive数据库
mysql -uroot -p
CREATE DATABASE hive CHARTSET UTF8;
#执行元数据初始化操作
cd /opt/hive/
bin/schematool -initSchema -dbType mysql -verbos
1.4 Hive启动
(1)创建Hive启动日志目录
mkdir -p /opt/hive/logs
(2)以后端方式启动Hive元数据服务
cd /opt/hive/
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
(3)启动客户端
Hive Shell 方式;可以直接写SQL
cd /opt/hive/
/bin/hive
Hive ThriftServer 方式;不可以直接写SQL,需要外部客户端连接方可使用
cd /opt/hive/
nohup bin/hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 &
2、使用Beeline客户端连接HiveServer2操作Hive
(1)启动Hive元数据服务以及HiveServer2服务
cd /opt/hive/
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
nohup bin/hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 &
(2)使用Beeline连接HiveServer2
cd /opt/hive/
bin//beeline
!connect jdbc:hive2://node1:10000