HIVE简介
1.hive是一个数据仓库存储工具,也是数据处理工具
2.hive存储的数据,是放在hdfs上的
3.hive可以用hive sql(hql)进行数据处理
4.hive sql实际上内部回执行hadoop的mapreduce
4.1hive早期版本 只要执行hql就会执行mapreduce ,现在的新版本比较简单的hql就不会执行mapreduce。
4.2 早期版本hql不支持插入数据(insert),现在的新版本已经支持,但没插入一条数据就会产生一个新文件
5.hive的源数据是放在mysql(或其他)里面的
6.hive只需按照一个节点就可以了,(mysql在初学阶段最好和hive安装在同一节点)
HIVE安装
1:安装mysql
安装mysqlserver:
yum install mysql-server
设置mysql初始密码:
/usr/bin/mysqladmin -u root password 'oracle'
启动mysql:
service mysqld start
进入mysql:
mysql -uroot -p
然后输入密码
修改密码:
mysql> update user set password = password('oracle') WHERE user = 'root';
mysql> FLUSH PRIVILEGES; 这一句必须要执行(忘了就麻烦了)
注意:如果你的mysql和hive安装不是一台机器 就必须还要执行授权命令 授权给安装hive的那一台机器
grant all PRIVILEGES on *.* to 'root'@'linux2' identified by 'oracle'
grant all PRIVILEGES on *.* to 'root'@'linux3' identified by 'oracle'
grant all PRIVILEGES on *.* to 'root'@'linux4' identified by 'oracle'
FLUSH PRIVILEGES;
2.把安装的文件上传到某一个节点
将 apache-hive-1.2.1-bin.tar.gz 和 mysql-connector-java-5.1.45.tar.gz 上传到Hadoop集群中节点linux1,分别解压。
下图是解压以后的目录:
3.配置环境变量
vi /etc/profile
使配置生效
source /etc/profile
使用 echo $HIVE_HOME查看配置是否生效
4.配置 配置文件
进入hive解压目录的conf目录
4.1 hive-site.xml
hive文件给出了个模板,但在实际中可以简化很多配置参数
以下是我的配置文件
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 3 <configuration> 4 5 6 7 <!-- hive.metastore.warehouse.dir hadoop --> 8 <property> 9 <name>hive.metastore.warehouse.dir</name> 10 <value>/root/app/hadoop/hive/warehouse</value> 11 <description>location of default database for the warehouse</description> 12 </property> 13 14 15 <!-- ConnectionPassword --> 16 <property> 17 <name>javax.jdo.option.ConnectionPassword</name> 18 <value>oracle</value> 19 <description>password to use against metastore database</description> 20 </property> 21 22 23 <!-- ConnectionURL --> 24 <property> 25 <name>javax.jdo.option.ConnectionURL</name> 26 <value>jdbc:mysql:///hive</value> 27 <description>JDBC connect string for a JDBC metastore</description> 28 </property> 29 30 31 32 <!-- ConnectionDriverName --> 33 <property> 34 <name>javax.jdo.option.ConnectionDriverName</name> 35 <value>com.mysql.jdbc.Driver</value> 36 <description>Driver class name for a JDBC metastore</description> 37 </property> 38 39 40 <!-- ConnectionUserName --> 41 <property> 42 <name>javax.jdo.option.ConnectionUserName</name> 43 <value>root</value> 44 <description>Username to use against metastore database</description> 45 </property> 46 47 48 49 </configuration>
4.2配置hive-env.sh
5.替换jline包和上传驱动
因为hadoop包中的jline包版本比较旧,需要用hive包中的jline包替换
cp apache-hive-1.2.1-bin/lib/jline-2.12.jar hadoop-2.6.4/share/hadoop/yarn/lib/
上传驱动:
cp mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar apache-hive-1.2.1-bin/lib/
6.启动hadoop和mysql
关闭防火墙
start-all.sh.
service mysqld start
7.启动hive
命令:hive