环境及软件版本
- CentOs 6.5
- apache-hive-1.2.2-bin.tar
- mysql-connector-java-5.1.44.tar
Mysql的安装及设置
安装Mysql
在root权限下执行以下命令
yum install mysql
yum install mysql-server
执行的遇到提示时,一路yes
启动Mysql
执行命令
/etc/init.d/mysqld start
注意,这里是mysqld,而不是mysql。
首次启动会有一大堆提示,大意就是要求设置密码
...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h master password 'new-password'
...
设置Mysql的root密码
执行命令
mysqladmin -u root password '123456'
测试登录Mysql
执行命令
mysql -uroot -p
回车后输入密码(密码不回显),再回车,看到mysql提示符说明登录成功。
创建hive数据库和用户
创建hive数据库
CREATE DATABASE `hive` DEFAULT CHARSET utf8;
创建hive用户并授权
CREATE USER 'hive'@'master' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'master' WITH GRANT OPTION;
FLUSH PRIVILEGES;
‘WITH GRANT OPTION’可加可不加。
删除用户
如果要删除hive用户,可执行如下命令。
DROP USER 'hive' @'master';
FLUSH PRIVILEGES;
Hive安装及设置
解压
tar -xvf apache-hive-1.2.2-bin.tar -C /usr/local/src/
解压后hive目录为:/usr/local/src/apache-hive-1.2.2-bin
设置环境变量
编辑~/.bashrc文件,添加hive设置,并使之生效
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
设置hive-site.xml
在HIVE_HOME/conf目录下创建文件:hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--mysql默认端口3306-->
<value>jdbc:mysql://master:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<!--创建的hive用户-->
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<!--创建hive用户时设置的密码-->
<value>hive</value>
</property>
</configuration>
添加连接mysql需要的jar包
- 将mysql-connector-java-5.1.44.tar解压并进入目录
- 将目录下的mysql-connector-java-5.1.44-bin.jar文件复制到HIVE_HOME/lib目录下。
Hive的测试
启动Hive
hive
记得先把hadoop启动
启动时,可能会有问题,提示
Found class jline.Terminal, but interface was expected
解决方法:
1. 删除/usr/local/src/hadoop-2.6.1/share/hadoop/yarn/lib下的jline-0.9.94.jar
2. 将HIVE_HOME/lib下的jline-2.12.jar复制过去
创建表
hive> create external table w_a
> (
> userid string,
> age string,
> sex string
> )
> row format delimited fields terminated by '\t' lines terminated by '\n';
这里为了排版进行了换行,也可以写在一行。
系统提示”OK”说明table创建成功
表查询操作
显示表
show tables;
显示表结构
desc w_a;
查询表
select * from w_a;