一:hive的安装部署
1.把apache-hive-1.2.1-bin.tar.gz上传到linux的/opt/software目录下(可根据自己目录来,下同)
2.解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
3.在mudule目录下修改apache-hive-1.2.1-bin的名称为hive
mv apache-hive-1.2.1-bin/ hive
4.修改环境变量 vi /etc/profile
在最后一行添加如下内容:
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
保存退出然后 source /etc/profile 让配置文件生效。
出现hive的版本号说明安装成功了。
5.修改/opt/module/hive/conf目录下的hive-env.sh.template名称为hive-env.sh
mv hive-env.sh.template hive-env.sh
6.在/opt/module/hive/conf中配置hive-env.sh文件,在最后一行添加如下内容,这两行分别是HADOOP_HOME路径和HIVE_CONF_DIR路径。
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/module/hive/conf
二:Hadoop集群配置
启动hdfs和yarn(因为用hive的话必须先启动hadoop集群)
[root@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
[root@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
三:Hive基本操作
1.启动hive
2.查看数据库,这里可以看到有一个默认叫的default的表。
show databases;
小小的demo
打开默认数据库 use default;
显示default数据库中的表 show tables;
创建一张表(注意表中的字段类型和java是一样的) create table student(id int, name string);
查看表的结构(其实这里有很多的语法和mysql一样) desc student;
向表中插入数据 insert into student values(1000,“ss”);
向表中插入数据 select * from student;
退出hive
hive>quit; --退出hive(建议使用)
hive> exit; --exit会影响之前的使用(不建议使用此方式),所以需要下一句kill掉hadoop的进程
最终的表数据储存在哪里呢?看一看到我们的数据是存储在/user/hive/warehouse/student中,因为我们在操作hive客户端后hdfs根目录上会自动给我们生成两个tmp和user这两个目录。
四:安装mysql
为什么用mysql存储元数据?
默认情况下,Hive元数据保存在内嵌的Derby数据库中,因为Derby是单用户的所以只能允许一个会话连接,只适合简单的测试(下图可以看到在开一个主机时开启hive就会报错)。所以实际生产环境中不使用默认的Derby数据库,为了支持多用户会话,则需要一个独立的元数据库,使用MySQL作为元数据库,Hive内部对MySQL提供了很好的支持。
1.查看mysql是否安装,如果安装了,则卸载mysql,卸载mysql的命令是
rpm -e --nodeps 此处写上你之前安装的的mysql
2.解压mysql-libs.zip文件到当前目录,可能是ceotos的虚拟机没有默认安装unzip命令,所以我们可以手动的安装一下。
yum install -y unzip zip
#安装mysql服务端
1.在mysql-libs目录下执行rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
如果在安装时候报错:error: Failed dependencies: /usr/bin/perl is needed by MySQL-server-5.6.24-1.el6.x86_64
点我查看
这个问题解决好以后的话再次执行安装命令还是报错类似于下面的请看我的另一篇博客:点我查看
2.查看产生的随机密码 cat /root/.mysql_secret
3.查看mysql状态service mysql status
,因为还没开,所以是not running
4.启动mysql service mysql start
,第一次启动的话时间可能会比较长需要等待一会。
#安装MySql客户端
1.安装mysql客户端
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
2.连接mysql
mysql -uroot -p这里填刚才生成的密码,注意密码和p要紧挨着。
mysql -uroot -p4l91hqpPlms_wI0O
3.因为mysql生成的随机密码太长,所以我们要修改mysql的密码
SET PASSWORD=PASSWORD('123456');
退出mysql的客户端以后用新密码登录mysql这时可以成功登录
未完结:可以看一下我的下篇博客: linux中配置mysql的无主机登录
链接地址