hive安装需要配置元数据库,有三种配置方式:
一、配置本地内置derby模式
二、配置本地mysql模式
三、配置远程mysql
前提:依赖mysql本地数据库
1.上传主机(bluesky01)上解压hive包 tar -zxvf apache-hive-1.2.1-bin.tar.gz
2. 配置环境变量 vim /etc/profile 刷新环境变量 source /etc/profile
3. 配置hive文件(mysql驱动包需要额外下载) vim apache-hive-1.2.1/conf/hive-site.xml
<configuration>
<!--配置hive元数据库存储 bluesky01:主机名 ,3306:mysql默认端口号,bluesky_db:需要新建的mysql库,指定此数据库作为hive元数据库-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bluesky01:3306/bluesky_db?characterEncoding=UTF-8</value>
</property>
<!--给hive添加mysql数据库的驱动包,将驱动包添加到lib目录下即可-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--用户名称-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>bluesky_user</value>
</property>
<!--密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>大小写字母+数据+符号</value>
</property>
</configuration>
4. 使用客户端链接mysql数据库
5. 在数据库执行sql
grant all privileges on bluesky_db.* to 'bluesky_user'@'bluesky01' identified by 'bluesky_user的密码';
--(含义:将新创建的数据库bluesky_db的所有东西,授权给在主机bluesky01登陆的用户bluesky_user )
FLUSH PRIVILEGES; -- (刷新权限)
6. 直接登录hive
7. 登录成功以后可以查看mysql数据库 bluesky_db 的VERSION表
此时显示我目前安装的hive版本是1.2.0版本(但是文件名是1.2.1版本 哈哈哈。)
尝试创建表:
CREATE TABLE tb_log(
id string COMMENT 'this is id column',
phonenumber bigint,
mac string,
ip string,
url string,
tiele string,
colum1 string,
colum2 string,
colum3 string,
upflow int,
downflow int
)
COMMENT 'this is log table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
stored as textfile;
表数据默认存储于hdfs路径 /user/hive/warehouse
另外hive的日志文件默认存储于 /tmp/用户名