Centos7MySql8安装以及hive3安装
文章目录
一、 安装环境
1.hadoop3.3
2.jdk1.8
3.hive 3.1.2
4.centos7
二、下载Mysql所需要的安装包
网址:https://dev.mysql.com/downloads/mysql/
- Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7,选择RPM Bundle 点击 Download
- 点击No thanks,just start my download
3.下载好后,打开xftp上传到虚拟机
三、 安装mysql
1.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包
2.通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb
3.在/opt/module下创建mysql目录
4.将mysql压缩包解压到mysql下
5.进入到/opt/module/mysql目录下,通过rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm --nodeps –force命令安装common
6.通过sudo rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --nodeps –force安装libs
7.通过sudo rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm --nodeps –force命令安装client
8.通过sudo rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm --nodeps –force命令安装server
9.通过rpm -qa|grep mysql 命令查看mysql 的安装包
三、 初始化mysql数据库的初始化和相关配置
- 通过以下命令,完成对 mysql 数据库的初始化和相关配置
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
2.通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
3.通过 mysql -uroot -p 敲回车键进入数据库登陆界面(使用上面查看到的密码)
4.通过 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘001231’; 命令来修改密码
5.通过exit,然后用新密码登录
6.通过以下命令,进行远程访问的授权
记住要使用自己的密码
create user 'root'@'%' identified with mysql_native_password by '001231';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
7.通过 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’ PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
8.通过 flush privileges; 命令刷新修该后的权限
9.退出数据库
10.打开Navicat Premium(这个是远程连接数据库,可以不用)
11.按照图片步骤,进行连接数据库
12.这样就是连接成功
四、 hive安装
1.下载解压hive
改一下名字
2.配置环境变量
修改/etc/profile文件
输入这个命令,查看版本,如果输出版本,则证明环境变量配置成功
3.关联hadoop
修改文件hive-env.sh.template名字为 hive-env.sh
然后添加自己的hadoop的路径
4.配置MySQL
创建名为hive_db的数据库,用于存放hive元数据信息。然后创建hive,密码自己设置,并赋予其全局外部访问权限。
create database hive_db;
create user hive identified by '001231';
grant all privileges on hive_db.* to hive@'%' with grant option;
flush privileges;
5.配置hive
- 上传驱动包
下载链接https://downloads.mysql.com/archives/c-j/
解压后,找到里面的的jar包,上传到hive/lib目录下
- 修改配置文件
进入到/hive/conf将hive-default.xml.template 改为hive-site.xml
修改为一下内容:数据库名和地址要修改为自己的
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_db?serverTimezone=GMT</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>001231</value>
</property>
</configuration>
6.初始化元数据
输入命令进行初始化
显示以下内容,则成功
7.启动命令行(到此本地模式安装成功)
输入hive命令
输入show databases;显示以下内容,则成功
8.下面是远程模式
9.安装hive客户端
将centos01作为客户端,centos02作为服务端。
将centos01上的hive目录复制到centos02节点上
修改配置文件hive-site.xml文件,清除之前的配置属性,添加以下配置
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.tool</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.71.11:9083</value>
</property>
10.启动Metastore Server
在centos01上输入hive --service metastore &,启动Metastore Server
jps显示
在cnetos01上执行hive命令启动命令行模式
jps后会显示有两个RunJar
11.访问Hive
在centos02节点上,进入hive安装目录执行bin/hive启动命令行模式,测试Hive远程访问
出现如图所示则成功
五、 配置Beeline CLI
-
修改用户权限
在centos01上面修改hadoop配置文件core-site.xml,添加以下配置内容
设置完后将core-site.xml同步到其他节点
修改完后,启动hadoop -
启动hiveServer2
在centos01节点执行以下命令,启动HiveServer2服务
-
启动Beeline CLI
在centos02上进入hive安装目录中执行 bin/beeline
-
连接HiveServer2服务
输入命令进行连接
这里测试是否成功
显示如图,则表示成功
六、 Hive JDBC操作
- 新建maven工程
点击idea中File->new->project
点击下一步,设置工程名和包名
点击下一步,设置仓库地址,点击Finish
添加maven依赖
2.编写JDBC程序
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class HiveJDBCTest {
public static void main(String[] args) throws Exception {
// 驱动名称
String driver = "org.apache.hive.jdbc.HiveDriver";
// 连接地址,默认使用端口10000,使用默认数据库
String url = "jdbc:hive2://192.168.71.11:10000/db_hive";
// 用户名(hadoop集群的登录用户)
String username = "hduser";
//密码
String password = "";
//1.加载JDBC驱动
Class.forName(driver);
//2.获取连接
Connection conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement();
//3.执行查询
String sql = "select * from student";
ResultSet res = stmt.executeQuery(sql);
//4.处理结果
while(res.next()){
System.out.println(res.getInt(1)+"\t"+res.getString(2));
}
//5.关闭连接
res.close();
stmt.close();
conn.close();
}
}
运行结果:
感觉有用的,点个赞吧,嘿嘿