一、Hive的安装
(一)内置Derby版:
解压hive安装包
bin/hive 启动即可使用
缺点:不同路径启动hive,每一个hive拥有一套自己的元数据,无法共享
(二)使用mysql共享hive元数据:
第一步:查看系统自带的mysql的rpm包
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
第二步:安装mysql的rpm包
rpm -ivh *.rpm
第三步:启动mysql的服务
service mysqld start
第四步:查看mysql初始化密码
more /root/.mysql_secret
第五步:使用随记密码登录mysql并更新密码
mysql -uroot –p
SET PASSWORD = PASSWORD('123456');
第六步:开启mysql远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
第七步:设置mysql的开机启动
chkconfig --add mysqld
chkconfig mysqld on
(三)mysql数据库的安装(使用yum源进行安装,强烈推荐)
第一步:在线安装mysql相关的软件包
yum install mysql mysql-server mysql-devel
第二步:启动mysql的服务
/etc/init.d/mysqld start
chkconfig mysqld on
第三步:进入mysql的客户端然年后进行授权
use mysql;
<!--配置远程连接-->
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
第四步 设置root用户链接mysql的密码
update user set password=password('123456') where user='root';
flush privileges;
(四)修改hive的配置文件
1、修改hive-env.sh
cd /export/servers/hive-1.1.0-cdh5.14.0/conf/
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf
2、修改hive-site.xml
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
vim hive-site.xml
3、修改hive-site.xml文件并修改
vim hive-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node01</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node01:9083</value>
</property>
</configuration>
4、配置环境变量:
vi /etc/profile.d/hive.sh
export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0
export PATH=$PATH:$HIVE_HOME/bin
刷新环境变量
source /etc/profile
远程拷贝环境变量
scp /etc/profile.d/hive.sh node02:/etc/profile.d
scp /etc/profile.d/hive.sh node03:/etc/profile.d
5、上传mysql的lib驱动包
将mysql的lib驱动包上传到hive的lib目录下
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
将mysql-connector-java-5.1.38.jar 上传到这个目录下
*6、集群远程拷贝
cd /export/servers
scp -r hive-1.1.0-cdh5.14.0 node02:$PWD
scp -r hive-1.1.0-cdh5.14.0 node03:$PWD
二、Hive的使用
(一)Hive交互shell
cd /export/servers/hive-1.1.0-cdh5.14.0
bin/hive
查看所有的数据库
hive (default)> show databases;
创建一个数据库
hive (default)> create database myhive;
使用该数据库并创建数据库表
hive (default)> use myhive;
hive (myhive)> create table test1(id int,name string);
以上命令操作完成之后,一定要确认mysql里面出来一个数据库hive
(二)Hive JDBC服务(参考Java jdbc连接mysql)
前台启动
cd /export/servers/hive-1.1.0-cdh5.14.0/
bin/hiveserver2 或者 hive --service hiveserver2 &
后台启动
cd /export/servers/hive-1.1.0-cdh5.14.0/
nohup bin/hive --service hiveserver2 &
beeline连接hiveserver2
bin/beeline
beeline> !connect jdbc:hive2://node03:10000
然后根据提示输入用户名(root)和密码
(三)hive命令
使用 –e 参数通过指定文本文件来执行hql的语句
hive -e "show databases;"
使用 –f 参数通过指定文本文件来执行hql的语句
vim hive.sql
use myhive;select * from test1;
bin/hive -f hive.sql
更多参数参考以下