hive的安装
下载mysql
yum install mysql57-community-release-el7-9.noarch.rpm
安装数据库服务
yum install mysql-community-server
若报错,尚未安装公钥,输入以下命令:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
重新启动mysql服务
systemctl restart mysqld
查看mysql初始密码
grep "password" /var/log/mysqld.log
登录mysql
mysql -uroot -p
- 设置密码强度
set global validate_password_policy=LOW;
- 设置密码长度
set global validate_password_length=4;
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
- 退出mysql:
exit; 或者 quit;
- 重新登录mysql:
- 新建一个数据库hivedb:
Create database hivedb;
use mysql;
update user set host='%' where user ='root';
FLUSH PRIVILEGES;
hive
- 解压hive安装包到/opt/module/
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
- 修改文件夹名
mv apache-hive-3.1.2-bin hive-3.1.2
- 配置环境变量:
vi /etc/profile
在末尾添加如下内容:
export HIVE_HOME=/opt/module/hive-3.1.4
export PATH=$PATH:$HIVE_HOME/bin
- source使环境变量生效
source /etc/profile
- 将mysql的jar包放到Hive安装目录下的lib里(配置mysql jdbc驱动)
cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
- 在hive下的conf里配置hive-site.xml:
输入新建文件命令:touch hive-site.xml
将以下内容复制。
<configuration>
<!--hive连接数据库URL-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hivedb?useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- JDBC的连接的Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!-- JDBC的连接username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!-- JDBC的连接密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<!-- Hive数据仓库的数据存储在HDFS上的目录-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>hive default warehouse, if nessecory, change it</description>
</property>
<!-- Hive Server2 的连接端口-->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- Hive Server2 的连接host-->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>10000</value>
</property>
<!--存储元数据要连接的地址-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<!-- 元数据存储授权-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- 元数据储存版权的认证-->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!-- Server2的高可用参数,开启参数可以提高hiveservers2的1启动速度-->
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>
</property>
</configuration>
- 在hive下的conf里配置hive-env.sh文件,如上面方法,新建文件后复制以下内容。
export HADOOP_HOME=/opt/module/hadoop-3.1.4
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
初始化元数据库
schematool -dbType mysql -initSchema
启动元数据服务:
切换目录 cd /opt/module/hive-3.1.2/bin
启动元数据服务 ./hive --service metastore &
hive