hive的安装部署及测试,MySql安装
2016-11-22 19:17
549 查看
Hive部署
上传hive安装包到系统选用0.13版本:apache-hive-0.13.1-bin.tar.gz
由于hive依赖于Hadoop框架,所以首先启动Hadoop相关守护进程
-》namenode
-》datanode
-》Resourcemanager
-》nodemanager
-》historyserver
解压hive安装包
tar -zxf apache-hive-0.13.1-bin.tar.gz -C /opt/modules/
cd 到modules目录对解压文件重命名:
mv apache-hive-0.13.1-bin/ hive-0.13.1-bin
在HDFS上创建对应的目录,并赋予权限
/user/hive/warehouse-》数据仓库目录,用户保存hive的所有的数据
$ bin/hdfs dfs -mkdir /tmp $ bin/hdfs dfs -mkdir /user/hive/warehouse $ bin/hdfs dfs -chmod g+w /tmp $ bin/hdfs dfs -chmod g+w /user/hive/warehouse
hadoop目录下命令:
bin/hdfs dfs -mkdir -p /user/hive/warehouse
执行赋权限命令(同组可写权限)
bin/hdfs dfs -chmod g+w /tmp bin/hdfs dfs -chmod g+w /user/hive/warehouse
配置hive-default.xml
将conf下hive-default.xml.template改名为hive-default.xml,它包含了hive所有的配置项。其中.template结尾文件代表不启用,不生效的
<!--代表hive在HDFS上的默认目录路径--> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property>
修改hive-env.sh.template,将template去掉
指定Hadoop的工作目录路径:HADOOP_HOME=/opt/modules/hadoop-2.5.0
指定用户自定义文件的所在目录路径:export HIVE_CONF_DIR=/opt/modules/hive-0.13.1-bin/conf
hive根目录下启动hive
bin/hive
hive提供了一个可以交互的shell命令行
创建数据库
create database if not exists hadoop10;
创建一张表
create table student( num int, name string )row format delimited fields terminated by'\t';
需要指定分隔符,让数据文件与表的结构对应
加载数据
先创建一个数据文件:
vi /opt/datas/student.txt
load data local inpath '/opt/datas/student.txt' into table student;
查询数据
select * from student;
MySql安装
Derby数据库只能起一个实例,因此需要安装Mysql配置MySQL数据库用于存储元数据
第一步
-》查询:
$ sudo rpm -qa | grep mysql
-》卸载:
$ sudo rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
-》安装:
$ sudo yum -y install mysql-server
-》注意:确保可以连接到互联网
第二步
-》查询MySQL服务状态:
$ sudo service mysqld status
-》启动服务:
$ sudo service mysqld start
-》设置开机启动:
$ sudo chkconfig mysqld on
-》设置MySQL管理员密码:
mysqladmin -u root password '123456'
-》进入MySQL:
$ mysql -uroot -p
第三步
-》设置用户连接权限:允许root用户登录任意一个数据库,任意一张表
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
第四步:清空表的数据(为了实验环境)
mysql> delete from user where host='127.0.0.1'; mysql> delete from user where host='hadoop-senior01.ibeifeng.com'; mysql> delete from user where host='localhost';
第五步:刷新并退出
mysql> flush privileges; mysql> quit;
第六步
sudo service mysqld restart
创建一个hive-site.xml用户自定义的配置文件
-》拷贝一份默认的配置文件过来,重命名:
cp hive-default.xml.template hive-site.xml
-》清空文件内容,文件较多:vi hive-site.xml,光标移动到configuration 使用10000dd删除下面的内容。
-》将文件标记补齐:
</configuration>
配置hive-site.xml的自定义文件
<!--指定连接MySQL的主机以及端口号和数据库名称--> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop-senior01.ibeifeng.com:3306/metastore?createDatabaseIfNotExist=true</value> </property> <!--指定MySQL驱动--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!--指定连接MySQL的用户名和密码--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property>
运行bin/hive
运行bin/hive 提示错误缺少驱动
将驱动上传到software目录下:mysql-connector-java-5.1.27-bin.jar
拷贝到hive/lib目录下:
cp -r mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-0.13.1-bin/lib/
在mysql中可以看到metastore数据了
Hive的数据库和表的基本操作
1. DDL与DMLDDL数据定义语言:(create/drop/alter/truncate/show/describe), Statistics (analyze), Indexes, Archiving
DML数据控制语言:(load/insert/update/delete, import/export, explain plan)
创建语句
创建数据库
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];
创建表
create table if not exists tbname( colum type,... comment ) row format delimited fields terminated by'\t' stored as textfile;
删除数据库
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
创建操作
删除之前创建的student数据库:bin/hdfs dfs -rm -r /user/hive/warehouse/hadoop10.db
hive端操作
create database if not exists hadoop10; use hadoop10; create table student( num int, name string ) row format delimited fields terminated by'\t';
加载数据:
load data local inpath '/opt/datas/student.txt' into table student;
运行一个MR程序:
hive> select name from student;
select * 默认是不会运行MR程序,必须以某一个字段才可以
描述一张表的三种方式
desc student;
desc extended student;
desc formatted student;
hive默认创建的表,都是管理表,Table Type: MANAGED_TABLE
查看hive提供的方法
hive> show functions;
对方法进行描述:
desc function extended upper;
配置日志文件
log4j没有运行,手动配置日志文件
重命名:mv hive-log4j.properties.template hive-log4j.properties
创建logs目录
修改日志文件位置
启动hive:看到日志配置文件路径改变了
日志文件所在位置
如何显示当前数据以及表头列名
在hive-site.xml中
<!--显示当前数据以及表头列名--> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property>
bin/hive -help:查看命令
链接一个指定的数据库: bin/hive –database hadoop10
直接查看数据库:bin/hive -e “show databases”
将结果重定向到一个文件中:bin/hive -e “show databases” > hive.txt
执行一个带有SQL语句的文件
vi /opt/datas/hive.sql写入:show databases;
bin/hive -f /opt/datas/hive.sql
hive 常用shell
!代表Linux本地文件系统
dfs代表 HDFS文件系统
HDFS上创建文件夹:location
指定数据库的位置:
create database if not exists db01_loc LOCATION '/locate';
创建表
create table db01_loc.tb01( name string ) row format delimited fields terminated by'\t'; show tables in db01_loc;
create database if not exists db02; drop database db02;
drop database db01_loc CASCADE;
相关文章推荐
- Hive 安装部署及测试
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- 测试环境部署环境安装篇jdk ,jmeter,tomcat,mysql
- 搭建3个节点的hadoop集群(完全分布式部署)--2安装mysql及hive
- Hive的安装部署、测试、功能架构、表数据加载、导出、查询
- Hive安装以及部署(Ubuntu-MySql)
- Hadoop生态系统搭建(3)——数据仓库 Hive 的安装部署与测试
- Hive分布式安装部署(详细教程)Hive+Mysql
- 十五、Hive 安装部署及测试
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- Linux中Spark SQL分布式SQL引擎 部署RDB | 安装MySQL+Hive | 使用beeline交互式工具
- Hadoop 集群 Hive 部署,安装mysql metastore
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- Hive 的安装部署和测试
- (一)Hive的安装部署及测试
- mysql以及hive安装以及部署
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
- hive-0.13.1安装部署(使用mysql做元数据库)