• Spark入门到精通--(第九节)环境搭建(Hive搭建)


      上一节搭建完了Hadoop集群,这一节我们来搭建Hive集群,主要是后面的Spark SQL要用到Hive的环境。

    Hive下载安装

      下载Hive 0.13的软件包,可以在百度网盘进行下载。链接: http://pan.baidu.com/s/1gePE9O3 密码: unmt。

      下载完用Xftp上传到spark1服务器,我是放在/home/software目录下。

    [root@spark1 ~]# cd /home/software/
    [root@spark1 software]# tar -zxf apache-hive-0.13.1-bin.tar.gz   //解压  
    [root@spark1 software]# mv apache-hive-0.13.1-bin /usr/lib/hive  //重命名并移到/usr/lib目录下  
    [root@spark1 software]# cd /usr/lib 

      设置hive环境变量。

    [root@spark1 lib]# vi ~/.bashrc    //配置环境变量
    
    //添加变量,别忘了Path的变量也要修改
    
    export HIVE_HOME=/usr/lib/hive
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin    //加上hive的路径

      保存退出,是文件生效。

    [root@spark1 lib]# source ~/.bashrc 

      完了之后,我们使用基于MYSQL来启动Hive,将Hive的元数据库放在MYSQL。这里就不说MYSQL的安装了(偷个懒),不懂得朋友可以自行度娘,比较简单。

      完成之后我们将MYSQL的连接包放到/usr/lib/hive/lib目录下。

    [root@spark1 lib]# cp /home/software/mysql-connector-java-5.1.34.jar /usr/lib/hive/lib/

      接下来我们用MYSQL对hive元数据库进行授权。

    [root@spark1 lib]# mysql
    
    mysql> create database if not exists hive_metadata;    //创建 hive_metadata的数据库
    
    mysql> grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive';
    
    mysql> grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by 'hive';
    
    mysql> grant all privileges on hive_metadata.* to 'hive'@'spark1' identified by 'hive';
    
    mysql> flush privileges;    //刷新权限
    mysql> use hive_metadata;
    mysql> exit

      完成之后我们开始配置hive的配置文件。

    • 修改hive-default.xml.template文件,并且重命名为hive-site.xml
    [root@spark1 hive]# cd /usr/lib/hive/conf/
    [root@spark1 conf]# mv hive-default.xml.template hive-site.xml    //重命名
    
    [root@spark1 conf]# vi hive-site.xml
    
    //修改相关的property
    
    //修改javax.jdo.option.ConnectionURL
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://spark1:3306/hive_metadata?createDatabaseIfNotExist=true</value>
      <description>JDBC connect string for a JDBC metastore</description>
    </property>
    
    //修改javax.jdo.option.ConnectionDriverName
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Drive</value>
      <description>Driver class name for a JDBC metastore</description>
    </property>
    
    //修改数据库用户名
    //和之前的mysql里授权创建的相对应,用户名:hive,密码:hive
    <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>hive</value>
      <description>password to use against metastore database</description>
    </property>
    
    //修改hive.metastore.warehouse.dir
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
      <description>location of default database for the warehouse</description>
    </property>

      修改完成保存退出。

    • 配置hive-env.sh.template重命名为hive-env.sh。
    [root@spark1 conf]# mv hive-env.sh.template hive-env.sh    //重命名
    • 修改/hive/bin/hive-config.sh
    [root@spark1 conf]# cd ../bin
    
    [root@spark1 bin]# vi hive-config.sh
    
    //配置hadoop、java、hive的环境变量,添加
    
    #environment variables
    export JAVA_HOME=/usr/java/jdk1.7.0_21
    export HADOOP_HOME=/usr/lib/hadoop
    export HIVE_HOME=/usr/lib/hive
    • 验证hive是否安装成功
    [root@spark1 lib]# hive
    
    16/08/07 16:39:03 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead
    
    Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-0.13.1.jar!/hive-log4j.properties
    hive>

      出现上述表明hive安装成功。

     

  • 相关阅读:
    linux安装nodejs
    linux系统执行.exe文件
    linux部署php网页
    S: WARNING: Could not write to (C:UsersAdministratorAppDataLocalapktoolframework), using C:UsersADMINI~1AppDataLocalTemp instead...
    Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file at brut.androlib.res.decoder.ARSCDecoder.decode
    .frm文件怎么导入到数据库
    layui时间控件闪退的问题
    spring boot集成Swagger2
    java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
    spring Securicty入门(一)
  • 原文地址:https://www.cnblogs.com/Epir/p/5746054.html
Copyright © 2020-2023  润新知