Hive搭建实验

1、Hive
    1.1在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
        本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
        hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、
        字段转换为HDFS中的文件(夹)以及文件中的列。
        这套映射工具称之为metastore,一般存放在derby、mysql中。
    1.2 hive在hdfs中的默认位置是/user/hive/warehouse
        是由配置文件hive-conf.xml中属性 hive.metastore.warehouse.dir决定的。
2、hive的安装
  (1)解压缩、重命名、设置环境变量
        执行命令: tar -zxvf hive-0.9.0.tar.gz
                           mv hive-0.9.0 hive
                           sudo vi /etc/profile     source /etc/profile    
  (2)在目录$HIVE_HOME/conf/下,修改配置文件
      执行命令mv hive-default.xml.template  hive-site.xml重命名
      执行命令mv hive-env.sh.template  hive-env.sh重命名
  (3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:
     export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
  (4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:
     export JAVA_HOME=/usr/local/jdk
     export HIVE_HOME=/home/hadoop/app/hive
     export HADOOP_HOME=/home/hadoop/app/hadoop
   (5)验证:执行命令:hive
 
3、安装mysql
  (1) 检查是否已经安装有mysql: 执行命令rpm -qa|grep -i mysql
        如果有则删除:执行命令:rpm  -e  xxxxxxx   --nodeps
  (2)安装mysql服务端    
        执行命令:sudo rpm -ivh MySQL-server-5.1.7-0.i386.rpm --nodeps
        验证执行命令:netstat -nat
        Mysql默认的端口是3306,出现则标识MySQL服务已经启动
  (3)安装mysql客户端
       执行命令: sudo rpm -ivh MySQL-client-5.1.7-0.i386.rpm --nodeps
  (4)修改root用户密码:
       执行命令:/usr/bin/mysqladmin -u root password hadoop
                     /usr/bin/mysqladmin -u root -h hadoop password hadoop123
4. 使用mysql作为hive的metastore
  (1)把mysql的jdbc驱动放置到hive的lib目录下
    cp mysql-connector-java-5.1.10.jar hive/lib/
  (2)修改hive-site.xml文件,修改内容如下: 
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop: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>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hadoop123</value>
    </property>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/hive</value>
        <description>location of default database for the warehouse</description>
    </property>
View Code

注意密码的配置要配置为/usr/bin/mysqladmin -u root -h hadoop password hadoop123设置的密码,否则会报错!

 (3)、登录mysql为用户赋权:
        grant all on hive.* to 'root'@'%' identified by 'hadoop123';
        flush privileges;
5、hive的WEB访问:
    执行命令:hive --service hwi &
    访问地址:   http://hadoop:9999/hwi/
posted @ 2015-02-28 15:41  /HOME/北北  阅读(612)  评论(0编辑  收藏  举报