要在hive和MySQL之间建立连接,首先Linux里要有它们
一、首先进入MySQL官网下载所需的MySQL yum 仓库:
1.下载好之后,就将它上传至Linux中
2.接下来运行( rpm -Uvh mysql57-community-release-el7-11.noarch.rpm)
上一步结束后,紧接着安装mysql (yum install mysql-community-server -y)
3.然后修改关闭密码验证:
修改 /etc/my.cnf 在最后添加:
plugin-load=validate_password.so
validate-password=OFF
4.开启MySQL (systemctl start mysqld)
开启之后我们需要获取到临时密码,登陆到MySQL中(grep 'temporary password' /var/log/mysqld.log )
前面的[email protected]表示的用户名,我们使用刚才获取到的临时密码登录进MySQL,
执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' ,将密码改成root
5.开启远程访问(这一步切记不可少,少了就连接不上本机的库工具)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
这一步把用户名和密码,换成刚才修改的root
6.上一步结束之后,刷新一下权限 FLUSH PRIVLEGES
7.最后一步测试一下,用本机里的SQLyog来连接一下刚才安装的MySQL,能连上就说明没有问题
二、安装hive(版本为apache-hive-2.3.2-bin.tar)
1.解压hive,然后进去到hive中的conf文件夹中
2.复制hive-default.xml.template这个文件,将其改名为hive-site.xml
3.修改文件
配置MySQL数据库的数据地址 在hive-site.xml中查找(javax.jdo.option.ConnectionURL)并修改(jdbc:mysql://coco:3306/hive?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC)
记住,想要快速地查找内容:vi 进入文件后,先按一下斜杠 / 在斜杠后面添加上想查的,按一下Enter
改完按Esc
4. 配置数据库的驱动 在hive-site.xml中查找(javax.jdo.option.ConnectionDriverName)并修改为(com.mysql.jdbc.Driver)
5. 改连接的MySQL的用户名 在hive-site.xml中查找(javax.jdo.option.ConnectionUserName)
6. 改要连接的MySQL的密码在hive-site.xml中查找(javax.jdo.option.ConnectionPassword)
7. 查看数据库的储存地址(hive.metastore.warehouse.dir )在这里不需要改动
8.下一步就是环境变量的配置了,这个应该很熟悉了,记得每次配置完刷新变量就好了!
三、启动hive
1.初始化schema
2.你会发现Linux里面并没有wget,所以需要我们自己去安装
切到root用户下,执行 yum -y install wget
3.成功安装wget之后,切回hadoop用户下,进入lib目录(cd opt/apache-hive-2.3.2-bin/lib)
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar)
4. 可是执行失败了,尝试多次没用,然后换成自己热点就好了。。。
你们如果碰到了这情况,前面操作都OK,也可以试试这方法
schematool -dbType mysql -initSchema
注:在第一次做到这的时候,我并没有成功,原因就是没有进行远程访问
这就提示你,一个根本原因 不能和库服务器创建连接!
我打开本机的库服务器(SQLyog)一看,果然报错..... 是我太皮了,在安装MySQL的时候,少了一步操作--->远程连接主机!
进行完上一步操作就欧克了
6.
下面直接启动hive,会提示一个错误的原因,路径错误
需要我们去配置文件中修改(vi hive-site.sh)
注:此时此刻,要保证你的hadoop必须已经启起来了!start-dfs.sh和start-yarn.sh
7.再复制一个SSH通道,进入主题目录,创建一个新目录hivetmp,用pwd获取此路径,然后将在hive-site.xml查找到的<value>值所有的都替换掉,我想提醒的只有只有两处,需要保留原先的
8.这一步直接输入hive
进入到mysql 中,查看数据库(show databases),发现hive在里面了
也可以查看hive库里的表
访问hive的另外一种方法:进入到apache-hve-2.3.2-bin.tar/bin目录下
[[email protected] bin]$ hiveserver2
复制一个ssh通道,在输入 ./beeline -u jdbc:hive2://