学习Hadoop——Hive 安装

Hive安装

    内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接 

    本地独立模式:在本地安装Mysql,把元数据放到Mysql内 

    远程模式:元数据放置在远程的Mysql数据库


Hive安装:内嵌模式

  1.下载

     http://apache.dataguru.cn/hive/hive-0.8.1/hive-0.8.1.tar.gz

  2.安装 

     (1)上传hive安装包到机器上,使用root用户登陆:    

        tar -xvf hive-0.8.1.tar.gz

     (2)将解压的hive分别移动并改名为/usr/local/hive

        rm -rf /usr/local/hive mv hive-0.8.1  /usr/local/hive 

  3.配置hive

    (1)修改/usr/local/hive/bin/hive-config.sh    

    在文件末尾加入

    export JAVA_HOME=/usr/local/jdk

    export HIVE_HOME=/usr/local/hive

    export HADOOP_HOME=/usr/local/hadoop  

    (2) 根据hive-default.xml复制hive-site.xml

    cp /usr/local/hive/conf/hive-default.xml /usr/local/hive/conf/hive-site.xml

    (3)配置hive-site.xml,主要配置项如下:        

     hive.metastore.warehouse.dir:(HDFS上的)数据目录        

     hive.exec.scratchdir:(HDFS上的)临时文件目录        

     hive.metastore.warehouse.dir默认值是/user/hive/warehouse        

     hive.exec.scratchdir默认值是/tmp/hive-${user.name}

     以上是默认值,暂时不改。

   (4)改变 /usr/local/hive的目录所有者为hadoop    这里需要注意,每个人定义的路径不同,视情况而定

     chown -R hadoop:hadoop /usr/local/hive

   (5)配置hive的log4j:      

     cp /usr/loca/hive/conf/hive-log4j.properties.template  

     /usr/loca/hive/conf/hive-log4j.properties  

    修改/usr/loca/hive/conf/hive-log4j.properties将

    org.apache.hadoop.metrics.jvm.EventCounter改为

    org.apache.hadoop.log.metrics.EventCounter

   (6)启动hive      

    使用hadoop用户登陆,执行/usr/local/hive/bin/hive 


Hive安装:独立模式 

    安装Mysql并启动服务

    在Mysql中为hive建立账号,并授予足够的权限,例如hive账号,授予all privileges 

    用上述账号登陆mysql,然后创建数据库,比如名叫hive,用于存放hive的元数据

    在本地安装mysql客户端 

    配置hive-site.xml文件,指出使用本地Mysql数据库,已经连接协议,账号、口令等 

    把mysql-connector-java-x.x.x.jar复制到hive的lib目录下 

    启动hive能进入shell表示安装成功 


具体步骤如下

   1.查看当前系统是否安装Mysql 

      sudo rpm -qa | grep -i mysql

      如果有,需要卸载

     安装Mysql-client 和Mysql-devel:

   2.启动Mysql 服务

     首先查看Mysql 服务状态,如果没运行,使用service mysql start 

   3.设置root密码

      停止 Mysql 服务  sudo service mysql stop     sudo service status

      跳过验证Mysql

      sudo mysqld_safe --skip-grant-tables &

      在Mysql 中通过更新设置root 密码:

      mysql -u mysql

      使用Mysql 语句更新root 密码:

      use mysql

      退出安全模式,重新启动Mysql   exit

   4.设置hive 用户

      进入Mysql 命令行,创建hive 用户并赋予所有权限:

      mysql -uroot -proot    打开mysql,用户为root,密码为root

      set passwd = passwd('root');

      create user 'hive' identified by 'hive';

      grant all on *.* TO 'hive'@'%' identified by 'hive' with grant option;

      grant all on *.* TO 'hive'@'%'localhost' identified by 'hive' with grant option;

      flush privilieges;

   5.创建hive 数据库

      使用hive 用户创建Mysql ,创建hive 数据库:

       sudo mysql -u hive -p -h hadoop1     在hadoop1节点上用'hive' 用户登录mysql

       create database hive;

       查看 show database;

       其中,第一输入的是Linux用户hadoop 的口令,第二次输入的是Mysql 数据库用户hive的口令

    6.Hive 的安装与配置

       下载并安装,放在自己指定目录里,在主节点hadoop1上解压安装包:

       将解压后的目录整体复制到一个目录里,与之前的类似

       cp -r  源目录  目的目录

    7.配置环境变量

      使用root 用户编辑/etc/profile 文件,加入Hive 相关配置内容

      export HIVE_HOME=/app/hadop/apache.......-bin     这里视情况而定

      export CLASSPATH =.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HIVE_HOME/bin

      export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HOME/bin:$JAVA_HOME/bin:$HOME/bin:$PIG_HOME/bin:$HIVE_HOME/bin

      保存退出,执行source  /etc/profile

       su - hadoop

       echo $HIVE_HOME

      重新登录hadoop 用户,使得新配置环境变量hadoop 用户生效

   8.配置JDBC

      JDBC驱动mysql-connector-java-5.1.39.tar 放到一个目录下,解压后,将jar 文件复制到$HIVE_HOME/lib 目录下:

       tar -zxvf  mysql-connector-java-5.1.39.tar.gz

       cd mysql-connector-java-5.1.39

       ll  查看

      cp mysql-connector-java-5.1.39-bin.jar $HIVE_HOME/lib

    9.设置hive-env.sh

        进入$HIVE_HOME/conf目录,从模板hive-env.sh.template 复制hive-env.sh 文件:

        cd $HIVE_HOME/conf

        查看是否存在

        cp hive-env.sh.template hive-env.sh

        编辑hive-env.sh,释放HADOOP_HOME和HIVE_CONF_DIR 两个变量得注释,并添加其他东西

     10.设置hive-site.xml 配置文件

         复制hive-default.xml.template 为hive-site.xml  ,然后编辑该文件:

         cp hive-default.xml.template hive-site.xml

          vim hive-site.xml

         默认metastore 在本地,添加配置为非本地:

        value 为本地  false 为非远程

         另外,对于其他几个重要的属性值做相应的修改,具体为    336 480 495 884 909

         1.hive.metastore.uris 值修改为thrift://hadoop1:9083

         2.javax.jdo.option.ConnectionPassword 值修改为hive

         3.javax.jdo.option.ConnectionURL 修改为   jdbc:mysql://hadoop:3306/hive?=createDatabaseIfNotExist=true

         4.javax.jdo.option.ConnectionDriverName 值修改为com.mysql.jdbc.Driver

         5.javax.job.option.ConnectionUserName 值修改为hive

     11.启动metastore 和hiveserve

          在使用Hive之前需要启动metastore 和hiveserver 服务。如果首次使用Hive ,则需要执行命令schematool  -dbType  mysql -

          initSchema  进行初始化:

          继续执行 hive --service metastore & 命令     & 后台启动命令

          Ctrl +C ,继续执行hive --service hiveserver2 & 命令:

          Ctrl+c  退出。通过jps 命令可以看到RunJar 进程运行在后台

          接下来创建/home/hadoop/iotmp 目录:

          mkdir -p /home/hadoop/iotmp

         修改hive-site.xml 配置文件中的三个参数值:hive.exec.local.scratchdir,     hive.download.resources.dir,    hive.querylog.location.

         三个参数在配置文件hive-site.xml 的行号 为  43  54  1439

Hive安装:远程模式 

      在本地模式的基础上修改hive-site.xml文件,设置hive.metastore.local为false,并指向远程mysql数据库即可

Hive shell

     执行HiveQL(大约相当于SQL 92标准)

     查看或临时设置Hive参数,只对当前会话有效 

     创建函数 

     导入jar包

JDBC/ODBC接口

      用户可以像连接传统关系数据库一样使用JDBC或ODBC连接Hive 

      目前还不成熟

JDBC的具体连接过程 

       1.使用jdbc的方式连接Hive,首先做的事情就是需要启动hive的Thrift Server,否则连接 hive的时候会报connection refused的错误。 启动命令如下: hive --service hiveserver 
 
       2.新建java项目,然后将hive/lib下的所有jar包和hadoop的核心jar包hadoop-0.20.2core.jar添加到项目的类路径上

样板代码 

      这个确实看不懂。先搬过来吧

      

Web接口

        

Hive的数据放在哪儿

      数据在HDFS的warehouse目录下,一个表对应一个子目录 

     桶与reduce 

     本地的/tmp目录存放日志和执行计划


Hive 简单验证

      登录Hive ,在Hive 创建test 并查看该表信息

      键入hive 

      再登录Mysql ,在TBLS 数据字典中查看新增test 的定义信息:

      mysql -u hive -p -h hadoop1

      

     

          

  

        

          

       

 

 

         

 

        

       

       

 

      

 

 

 

     

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值