hive 安装和配置

Hive必须依赖hadoop,当hadoop_home环境变量配置的时候取环境变量,没有的时候就取
which hadoop 对应的值,如果还没有就直接报错了。




//上传
[hcr@ebsdi-23260-oozie hive-0.11.0]$ rz
//解压
[hcr@ebsdi-23260-oozie hive-0.11.0]$ tar -zxvf hive-0.11.0.tar.gz
//当前目录
[hcr@ebsdi-23260-oozie hive-0.11.0]$ pwd
/home/hcr/local/hive-0.11.0




配置hive
[hcr@ebsdi-23260-oozie local]$ cd /home/hcr/conf/hive/conf
[hcr@ebsdi-23260-oozie conf]$ cp hive-default.xml.template hive-default.xml
[hcr@ebsdi-23260-oozie conf]$ cat hive-env.sh.template >> hive-env.sh


修改配置文件
[hcr@ebsdi-23260-oozie conf]$ vim hive-default.xml
<property>
<name>hive.exec.scratchdir</name>
<value> /tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>$HOME/tmp/${user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>$HOME/tmp/${user.name}</value>
<description>
Location of Hive run time structured log file
</description>
</property>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>







Hdfs目录新建并且赋权


hadoop fs -mkdir /tmp
hadoop fs -chmod a+w /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod a+w /user/hive/warehouse


元数据数据库
可以选择是否配置元数据数据库
配置Metastore用mysql数据库,可以多用户同时访问,默认的是derby只能为每个metastore提供一个hive回话
在mysql 数据库新建数据库赋权限
create user and database for hive in mysql
create database hive;
GRANT all ON hive.* TO hive@'%' IDENTIFIED BY 'hive';


配置hive-site.xml


<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.232.60:3306/hive?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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>


可以通过传--config选项参数给hive命令以重新定义Hive查找hive-site.xml文
件的目录:
hive --config /home/houchangren/hive/conf --hiveconf hive.root.logger=DEBUG,console










配置hive




可以在运行的时候指定hive-site.xml文件的目录指定对应的配置,这种情况在多个集群中比较方便使用,比如 同时管理5个对应的集群,直接建立5个集群的配置文件夹,运行的时候,直接指定第一个运行


Hive --conf /user/hadoop-1/hive-conf/


其他的同样
Hive --conf /user/hadoop-2/hive-conf/


Hive还允许你想hive命令传递-hiveconf选项来为单个会话设置属性。




使用伪分布集群
Hive –hiveconf fs.default.name=localhost –hiveconf mapred.job.tracker=localhost:8021


使用日志在控台显示
Hive –hiveconf hive.root.logger=DEBUG,console




还可以在hive的运行会话中set个别自定义属性
hive> set hive.enforce.bucketing=ture;
hive> set hive.enforce.bucketing;
hive.enforce.buckting=true




set –v可以显示所有的属性




Hive set属性优先级命令排序
1.Hive set 命令
2.命令行 --hiveconf选项
3.hive-site.xmf
4.hive-default.xml
5.hadoop-site.xml(或等价的core-site.xml, hdfs-site.xml与mapred-site.xml)
6.hadoop-default.xml(或等价的core-default.xml, hdfs-default.xml以及mapreddefault.xml)

你可能感兴趣的:(hive)