hive及mysql部署
一、安装mysql组件(yum)
1、 删除之前的mysql残留
[root@node ~]# yum remove mysql-libs
2、 安装rpm包依赖关系为common->libs->libs-compat>client->server
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
至此MySQL就安装完成了,然后是对MySQL的一些设置。
二、登录 MySQL
1、 首先启动MySQL :
[root@node ~]# systemctl start mysqld.service
2、 查看MySQL运行状态,运行状态如图:
[root@node ~]# systemctl status mysqld.service
3、 修改root用户密码并登录mysql
1)在日志文件中找出密码:
[root@node ~]# grep "password" /var/log/mysqld.log
2)如下命令进入数据库:
[root@node ~]# mysql -uroot –p
3)设置mysql的密码为简单密码:
mysql> set global validate_password_policy=LOW;
4)设置为6位简单密码:
mysql> set global validate_password_length=6;
5)此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
4、将mysql jdbc包上传至hive库文件目录中
[root@node ~]#mv mysql-connector-java-5.1.46-bin.jar /usr/local/hive/lib
5、配置mysql权限
1)登录mysql数据库:
[root@node ~]#mysql -uroot –p
2)新建hive数据库:
mysql> create database hive;
3)配置mysql允许root接入
mysql>use mysql;
mysql>grant all privileges on *.* to 'hive'@'%' identified by '123456' with grant option; # 设置远程登录权限
mysql>flush privileges; #刷新mysql系统权限关系表
三、Hive安装
1、 上传、解压、重命名hive
[root@node hadoop]# sudo tar -zxf /home/hadoop/apache-hive-1.2.1-bin.tar.gz -C /usr/local
[root@node local]# sudo mv apache-hive-1.2.1-bin/ hive
2、 配置环境变量
[hadoop@hadoop ~]$vim ~/.bashrc
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
[hadoop@hadoop ~]$source ~/.bashrc
3、配置hive-site.xml
[hadoop@hadoop ~]$cd /usr/local/hive/conf
[hadoop@hadoop conf]$ vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name> //建立相应的目录
<value>/usr/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/usr/hive</value>
</property>
<!-- 该属性为空表示嵌入模式或本地模式,否则为远程模式 -->
<property>
<name>hive.metastore.uris</name>
<value></value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name> //mysql的用户名
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name> //mysql的密码
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
4、启动hive
1)先启动hadoop集群:
[hadoop@node ~]$ start-all.sh
2)初始化元数据:
[hadoop@node ~]$ schematool -dbType mysql -initSchema
3)启动hive:
[hadoop@node ~]$ hive
5、hive基本操作
hive>create database if not exists hive; #创建数据库
hive>show databases; #查看Hive中包含数据库
hive>drop database if exists hive; #删除不含表的数据库