一、Hive
1.Hive 官网地址 http://hive.apache.org/
2.文档查看地址 https://cwiki.apache.org/confluence/display/Hive/GettingStarted
3.下载地址 http://archive.apache.org/dist/hive/
Hive在Hadoop集群上的安装部署
1、下载Hive,地址:http://mirror.bit.edu.cn/apache/hive/
我下载的版本是:apache-hive-1.2.2-bin.tar.gz 之前安装配置的hadoop是2.7.7的
2、将hive解压到/usr/local/目录下:
sudo tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /usr/local/
赋予权限,方便后续操作
sudo chown -R hadoop:hadoop /usr/local/apache-hive-1.2.2-bin
3、修改环境变量
vi ~/.bashrc
#hive
export HIVE_HOME=/usr/local/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
source ~/.bashrc
4、查看配置是否生效,Hive是否安装成功
hive --version
有版本号显示,即安装成功!
5、修改Hive的配置文件
进入到Hive的配置文件目录下:
cd /usr/local/apache-hive-1.2.2-bin/conf/
①hive-site.xml:
原本的配置文件中是不包括hive-site.xml的,将hive-default.xml.template复制并命名为hive-site.xml
scp hive-default.xml.template hive-site.xml
将 s y s t e m : j a v a . i o . t m p d i r / {system:java.io.tmpdir}/ system:java.io.tmpdir/{system:user.name}修改成
/usr/local/apache-hive-1.2.2-bin/iotmp
记得:新建文件夹/usr/local/apache-hive-1.2.2-bin/iotmp
②hive-env.sh
同样复制一份并重命名
scp hive-env.sh.template hive-env.sh
配置该文件
(a)修改配置 HADOOP_HOME 路径
export HADOOP_HOME=/usr/local/hadoop-2.7.7
(b)配置 HIVE_CONF_DIR 路径
export HIVE_CONF_DIR=/usr/local/apache-hive-1.2.2-bin/conf
6、把 hive 的 jline 包复制到 hadoop 里面去
cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/
7、启动Hive
在Hive目录下启动Hive
[hadoop@master apache-hive-1.2.2-bin]$ hive
基本操作:
(1)查看数据库
hive> show databases;
(2)打开默认数据库default
hive> use default;
(3)显示default数据库中的表
hive> show tables;
(4)创建一张表student
hive> create table student(id int, name string);
OK
(5)显示数据库中有几张表
hive> show tables;
(6)查看表的结构
hive> desc student;
(7)向表中插入数据
hive> insert into student values(17,"sartin");
(8)查询表中的数据
hive> select * from student;
(9)删除已创建的student表并查看是否删除
hive> drop table student;
(10)退出
hive> quit;
二、MYSQL安装
1、先查询本地MySQL(以下两个命令都可以)
rpm -qa | grep -i mysql
yum list installed | grep mysql
2、删除原先机子上的的MySQL
yum -y remove mysql-libs
3、下载yum源(如果没反映,就重新下载wget(yum install wget))
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
4、进行解压
rpm -ivh mysql-community-release-el6-5.noarch.rpm
5、查看
yum repolist all | grep mysql
6、进行mysql链接
yum install mysql-community-server -y
7、查看是否安装成功
chkconfig --list mysqld
8、设置开机启动
chkconfig mysqld on
9、启动mysql服务 (如果启动不成功 删除rm -rf /var/lib/mysql/*)
*注:删除MySQL数据库目录(关键) ,否则password不更新(默认安装,如果自定义安装路径和链接路径ln -s ……请删除。)*
rm -rf /var/lib/mysql
service mysqld start
10、修改密码:
①进入mysql
mysql -uroot -p (默认密码为空)
②对MySQL库进行操作
show databases;
use mysql;
③设置密码
SET PASSWORD=PASSWORD('123456');
④授予用户远程登录:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新权限
flush privileges;
退出
exit;
三、将本地文件导入Hive案例
将student.txt这份数据导入到hive的student(id int, name string)表中。
1、数据准备
在hive目录下准备数据,先创建一个data文件夹,将数据存放在该文件夹中
(如果不在hive目录下创建,会出现以下错误:FAILED: SemanticException Line 1:23 Invalid
path ‘’~/data/student.txt’’: No files matching path
file:/usr/local/apache-hive-1.2.2-bin/~/data/student.txt)
上述的问题貌似有时候不会出现
mkdir data
touch student.txt
vi student.txt
1001 zhangshan
1002 lishi
1003 zhaoliu
注意,中间以tab键间隔
2、Hive操作
启动hive之前一定要先启动hadoop集群
①进入到hive目录启动hive
hive
②显示数据库
show databases;
③使用 default 数据库
use default;
④显示 default 数据库中的表
show tables;
⑤删除已创建的 student 表
drop table student;
⑥创建 student 表, 并声明文件分隔符’\t’
create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
⑦加载student.txt 文件到 student 数据库表中。
load data local inpath '/usr/local/apache-hive-1.2.2-bin/data/student.txt' into table student;
⑧Hive 查询结果
select * from student;