hive的配置
Hive部署
版本 0.13.1
1、安装JDK
2、安装Hadoop
确保Hadoop可以正常使用(上传文件、运行jar)
3、安装Hive
“`
tarzxf/opt/softwares/apache−hive−0.13.1−bin.tar.gztarzxf/opt/softwares/apache−hive−0.13.1−bin.tar.gz cp -a hive-env.sh.template hive-env.sh
$ cp -a hive-default.xml.template hive-site.xml
4、修改hive-env.sh
JAVA_HOME=/opt/modules/jdk1.7.0_79
HADOOP_HOME=/opt/modules/hadoop-2.5.0-cdh5.3.6
export HIVE_CONF_DIR=/opt/modules/hive-0.13.1-cdh5.3.6/conf
5、安装mysql
$ su - root
# rpm -qa | grep mysql
# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
# yum -y install mysql mysql-server mysql-devel
# service mysqld start
# chkconfig mysqld on
# mysqladmin -uroot password '123456' --设置密码
给用户授权:
# mysql -uroot -p
mysql> grant all on *.* to root@'bigdata-hive' identified by '123456' ;
mysql> flush privileges;
** mysql数据库默认只允许root用户通过localhost/127.0.0.1来登录使用
all 所有权限
*.* 数据库.数据表
root 授权给哪个用户,用户名可以任意指定,如果没有会自动创建
'hadoop-senior01.beifeng.com' 授权给哪台主机
'123456' 授权给用户来登录的密码
- 6、配置hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
- 7、拷贝驱动包
$ tar zxf mysql-connector-java-5.1.27.tar.gz
$ cp mysql-connector-java-5.1.27-bin.jar /opt/modules/apache-hive-0.13.1-bin/lib/
8、修改目录权限
$ bin/hdfs dfs -chmod g+w /tmp
$ bin/hdfs dfs -chmod g+w /user/hive/warehouse
** /tmp存放临时文件
** /user/hive/warehouse 具体的Hive仓库目录
9、启动客户端使用Hive
$ bin/hive --用法几乎跟mysql一样
10.创建hive的日志文件存放位置
$ mv hive-log4j.properties.template hive-log4j.properties
$ mkdir logs/
修改 hive-log4j.properties
hive.log.dir=/opt/modules/hive-0.13.1-cdh5.3.6/logs
定义显示数据库名称和列名
** 修改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>
hive的语句
- 创建内部表并指定分隔符
create table person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
- 映射文件
- 将文件copy到hdfs下对应表下的文件夹
- 从本地文件映射
LOAD DATA LOCAL INPATH ‘/home/hadoop/hfxdoc/person.txt’ OVERWRITE INTO TABLE person;