hive与mysql的安装与配置
hive是基于hadoop的数据仓库工具,将一定格式的文件映射为一张张表,因此hive版本和hadoop版本有对应关系,一定要检查自己安装的hadoop和hive版本是否兼容;
hadoop版本:2.9.1,hive版本:3.2.1,jdk:1.8.0_162,mysql:8.0.20,jdbc:8.0.20
在链接内自己可以查看hive,hadoop关系(http://hive.apache.org/downloads.html)
##查看hive版本:启动hive时会出现hive-common-x.x.x.jar,xxx就是版本号
#1.安装hive:
\1. cd ~/下载
\2. sudo tar -xzvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/loca
# 解压到*/usr/local**中*
\3. cd /usr/local
\4. sudo mv apache-hive-1.2.1-bin hive
#将文件夹名改为hive
\5. sudo chown -R hadoop:hadoop hive
# 修改文件权限,注意修改为你的用户名和组
#2.配置环境变量:
先打开.bashrc隐藏文件,再复制export到首行并保存,最后使生效,注意查看路径与实际路径一致!!!
\1. gedit ~/.bashrc
*#**或者**vim ~/.bashrc*
\2. export HIVE_HOME=/usr/local/hive
\3. export PATH=$PATH:$HIVE_HOME/bin
\4. source ~/.bashrc
*#*使修改生效
#3.启用hive-default.xml,修改hive-site.xml****(****./hive/conf)
cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml
vim hive-site.xml
#hive-site.xml中的设置优先级高于hive-default.xml
\1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
\2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
\3. <configuration>
\4. <property>
\5. <name>javax.jdo.option.ConnectionURL</name>
\6. <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
#启动hive时会有useSSL=false或者true的提示。是安全验证的,具体可以百度一下。
\7. <description>JDBC connect string for a JDBC metastore</description>
\8. </property>
\9. <property>
\10. <name>javax.jdo.option.ConnectionDriverName</name>
\11. <value>com.mysql.cj.jdbc.Driver</value>
\12. <description>Driver class name for a JDBC metastore</description>
\13. </property>
\14. <property>
\15. <name>javax.jdo.option.ConnectionUserName</name>
\16. <value>hive</value>
\17. <description>username to use against metastore database</description>
\18. </property>
\19. <property>
\20. <name>javax.jdo.option.ConnectionPassword</name>
\21. <value>123456</value>
\22. <description>password to use against metastore database</description>
\23. </property>
\24. </configuration>
看描述内容,设置了mysql地址,driver,数据库user,数据库passwd,可以根据情况自行修改哦,必须与后面mysql中创建的一致,否则连不上。
#4.安装msql:
\1. sudo apt-get update
*#*更新软件源
\2. sudo apt-get install mysql-server
#安装mysql
默认是启动的,可以通下面netstat -tap|grep mysql 查看(下面给出开启,关闭,重启命令)
\1. sudo netstat -tap | grep mysql
#mysql节点处于LISTEN**状态表示启动成功
\2. sudo service mysql start
*#*开启
\3. sudo service mysql stop
*#*关闭
\4. sudo service mysql restart
*#*重启
注意:我安装时没有提示输入root账户与密码,默认是空的。
sudo mysql -u root -p
#密码按Enter即可进入mysql shell,空格也可以,普通用户一定sudo
#5.下载安装mysql jdbc,下载地址![图形用户界面, 文本, 应用程序 描述已自动生成](file:///C:/Users/顾念思成/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png选择系统,系统版本,自动出现最新的安装包,注意下载的是deb格式的,可以使用cpkg命令安装
\1. cd ~/下载
*#*切换到你的文件所在目录下
\2. sudo apt install ./mysql-connector-java_8.0.20-1ubuntu20.04_all.deb
\3. sudo dpkg -i mysql-connector-java_8.0.20-1ubuntu20.04_all.deb
*#*我用的是这个命令
\4. cp /usr/share/java/mysql-connector-java-8.0.20.jar /usr/local/hive/lib
#将jar包拷贝到/hive/lib**目录下
注意,你可能不知道安装到哪里了,别急,在/usr/share/java/
,(验证路径的方法:打开deb文件,提取文件,看到.tar.xz文件,用xz -d 解压,tar -xvf 解包,出来的文件目录路径就是在系统中的路径,你可以cd试试。
#6.创建mysql hive用户和hive库
mysql -u root -p
#登陆shell界面,请先确认已经启动
\1. create user '用户名'@'localhost' identified by '密码'
; – 创建hive用户,密码是hive,必须与hive-site.xml配置的user,password相同
\2. grant all on *.* to 'hive'@'localhost' ;
– 将所有数据库的所有表的所有权限赋给**hive
\3. flush privileges;
– 刷新mysql系统权限关系表
可以查看是否添加成功。
Select user from mysql.user;
#7.Everything is ok,let’s test:
启动hadoop:start-dfs.sh or start-all.sh
启动hive:hive
创建表,create table test(id int,name string);
到mysql中查看保存在元数据库的TBLS表中,use hive;
select * from TBLS;
如果有刚刚建的表名,则配置成功;
备注:1.启动hive时如果出现Hive metastore database is not initialized的错误,则使用命令初始化:
schematool -dbType mysql -initSchema
**2.jdbc 8.0.20 driver class name 更改:com.mysql.cj.jdbc.Driver
。
atabase is not initialized的错误,则使用命令初始化:***
schematool -dbType mysql -initSchema
2.jdbc 8.0.20 driver class name 更改:com.mysql.cj.jdbc.Driver
。*