这是对hive远程连接模式的全程安装操作!!!
因为这个模式需要mysql依赖,所有首先在centos8上安装mysql(使用yun安装)
一、mysql8安装
1.首先查看本地是否安装了mysql:rpm -qa | grep -i mysql
,如果没有安装请直接跳过前四条
2.删除这些依赖和安装包yum remove mysql mysql-server mysql-libs
或者用rpm -e --nodeps 名字
一个一个删除(下面有例子)
3.查看依赖,注册,日志等配置文件find / -name mysql
4.删除这些配置文件使用 rm -rf 删除查找到的配置。
5.安装yum资源库
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
6.安装MySQL是数据源
yum install mysql80-community-release-el8-1.noarch.rpm
7.查看数据源是否安装成功yum repolist enabled | grep "mysql.*-community.*"
8.禁用centos8自带的mysql模块yum module disable mysql
9.安装mysqlyum install mysql-community-server
10.查看启动mysql服务:
systemctl start mysqld.service
或者service mysqld start
11.查看mysql随机密码grep 'temporary password' /var/log/mysqld.log
12.登录并修改密码:
mysql -u root -p
注意这儿输入密码时没有显示的:可以用mysql -u root -p临时密码
直接登录。
13.修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
密码强度不符合安全需求,所有需要重新设置。
可以通过查看密钥规则 SHOW VARIABLES LIKE 'validate_password%'
还可以修改密钥规则,通过设置全局变量:set global 变量名=值value;
然后再次修改密码
13.开启mysql8的远程访问
先创建权限记录:create user 'root'@'%' identified by 'root123';
然后授权:grant all privileges on *.* to 'root'@'%' with grant option;
//%就代表所有用户(此处也可换为具体的用户名)
然后flush privileges;
到这儿mysql就算安装成功了
二、hive的安装
1.去下载hive安装包:下载地址
2.上传到Linux
3.解压hive安装包(解压到一个用户具有w+x+r权限的文件夹下)
4.在/etc/profile.d文件下创建my_env.sh文件用来存放配置信息(其他的配置信息我也写在这里面的,个人不建议在/etc/profile下面改)
5.进入hive解压文件下的conf文件夹中编辑配置文件
hive-env.sh文件
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
#这是自己的Hadoop解压地址
export HADOOP_HOME=/opt/hadoop/hadoop2
# Hive Configuration Directory can be controlled by:
#这是自己的jdk解压地址
export JAVA_HOME=/opt/java/jdk1.8
#这是自己的hive解压地址
export HIVE_HOME=/opt/hive/hive2.3
export HIVE_CONF_DIR=${HIVE_HOME}/conf
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=${HIVE_HOME}/lib
**hive-site.xml文件**
新建一个hive-site.xml文件:`touch hive-site.xml`
然后添加
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 需要提前在hdfs上创建文件 /hive/tmp /hive/warehouse /hive/log -->
<!-- 设置 hive仓库的临时文件位置 -->
<property>
<name>hive.exec.scratchdir</name>
<value>/hive/tmp</value>
</property>
<!--设置 hive仓库所在的位置 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
</property>
<!-- 设置日志位置 -->
<property>
<name>hive.querylog.location</name>
<value>/hive/log</value>
</property>
<!-- 设置与mysq的连接-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.21.132:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<!-- 注意在mysql8中com.mysql.jdbc.Driver已经过时了,所有需要设置成com.mysql.cj.jdbc.Driver -->
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<!-- 设置与mysq的连接的用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 设置与mysq的连接用户密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
注意在初始化之前一定要打开hadoop和yarn
6.hive的初始化操作schematool -dbType mysql -initSchema
遇到的问题:
由于我在mysql数据库中自己创建了一个hive数据库产生的错误,删除之后,重新格式化就好了。
对应hive-site.xml文件中数据库的连接配置
7.启动hive:bin/hive
show databases;
到这儿就完成了!!!