这节我来介绍在hadoop集群里如何安装hive,
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
版本:
hive-0.9.0
安装很简单,只需将下载的包放到相应的目录下,主要是配置文件的配置:
1 hive-env.sh
在最后加上以下几行:
export PATH=$PATH:/home/hadoop/hive-0.9.0/bin
export HADOOP_HOME=/home/hadoop/hadoop
export HIVE_HOME=/home/hadoop/hive-0.9.0
export JAVA_HOME=/usr/local/java/jdk1.6.0_24
2 hive-site.xml (hive 的元数据放到了远程Mysql数据库中,如果不这样做,那么hive可能不支持并发)
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://10.129.8.50:3306/hive?characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>000000</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:50000</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-0.9.0.war</value>
<description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>
</property>
<property>
<name>hive.hwi.listen.host</name>
<value>0.0.0.0</value>
<description>This is the host address the Hive Web Interface will listen on</description>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
<description>This is the port the Hive Web Interface will listen on</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hive/warehouise</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/home/tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:5000</value>
</property>
3 nohup /home/hadoop/hive-0.9.0/bin/hive --service hiveserver & 后台启动hive 默认监听的端口是10000
4 /home/hadoop/hive-0.9.0/bin/hive 可以进入到hive的命令行模式中,
直接执行相应的hql语句,
注意:有时候启动的时候报错,需要把hadoop的安装路径下的build 目录重命名掉,这应该是一个bug
下一节讲实际点的,利用hadoop 和hive python 来分析iis日志,最后将分析出来的日志存入到hive中