zoukankan      html  css  js  c++  java
  • 进阶4:hive 安装

    安装包:

               apache-hive-2.1.1-bin.tar.gz

    安装步骤:

             1.上传   apache-hive-2.1.1-bin.tar.gz 到linux;

             2.解压文件:

                      tar zxvf apache-hive-2.1.1-bin.tar.gz 

             3.安装mysql (仅支持mysql 5.7以下版本,不支持5.7或更高版本,原因:若采用高版本mysql,部分文档内容需要改写)

                       sudo yum install mysql-server 

             4. 安装 mysql connector

                      sudo yum install mysql-connector-java 

                该命令会在/usr/share/java/下产生mysql-connector-java.jar

             5. 建立链接

                    ln -s /usr/share/java/mysql-connector-java.jar /usr/local/hadoop-soft/etc/hive-2.1.1/lib/mysql-connector-java.jar 

                该命令在hive安装目录的lib目录下建立软链接,指向/usr/share/java/mysql-connector-java.jar 

            6.  启动mysql
                    sudo service mysqld start 

                 可通过以下命令验证mysql启动成功(显示mysql进程):

                     ps aux | grep mysql 

           7.  修改mysql密码 , 修改mysql密码(改为newpass,请根据需要自行替换newpass)

                    mysql> use mysql; 

                    mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

                    mysql> FLUSH PRIVILEGES;  

                 允许用户root通过任意机器访问mysql:

                     mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpass' WITH GRANT OPTION; 

                     mysql> FLUSH PRIVILEGES; 

        8. 进入到根目录,配置环境变量:

                     vim ~/.bash_profile           

    export HIVE_HOME=/usr/local/hadoop-soft/etc/hive-2.1.1
    export PATH=$HIVE_HOME/bin:$PATH
    

           运行生效:

                      source ~/.bash_profile 

        9.  配置hive

                   a.进入目录:

                       cd /usr/local/hadoop-soft/etc/hive-2.1.1/conf 

                   b. 新建 并 编辑  hive-site.xml

                 

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>hive.metastore.uris</name>
            <value>thrift://master:9083</value>
        </property>
        <property>
            <name>hive.server2.thrift.port</name>
            <value>10000</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://master/metastore?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>root</value>
        </property>
        <property>
            <name>hive.metastore.schema.verification</name>
            <value>false</value>
        </property>
        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/usr/local/hadoop-soft/etc/hive-2.1.1/warehouse</value>
        </property>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>datanucleus.autoCreateSchema</name>
            <value>true</value>
        </property>
        <property>
            <name>datanucleus.autoStartMechanism</name> 
            <value>SchemaTable</value>
        </property>
        <property>
            <name>datanucleus.schema.autoCreateTables</name>
            <value>true</value>
        </property>
    
        <property>
            <name>beeline.hs2.connection.user</name>
            <value>master</value>
            </property>
         <property>
            <name>beeline.hs2.connection.password</name>
            <value>master</value>
         </property>
    </configuration>     

          注意

                    1. hive.metastore.uris中的“bigdata“含义为metastore server所在的机器(启动metastore的方法见下一节)

                     2. javax.jdo.option.ConnectionURL中的“bigdata”为mysql安装机器的hostname

                     3. javax.jdo.option.ConnectionUserName和javax.jdo.option.ConnectionPassword分别为mysql的访问用户和密码,可通过以下命令验证是否有效(期中bigdata为javax.jdo.option.ConnectionURL中配置的地址,xxx为mysql用户名):

                       mysql –h bigdata-u xxx –p

                     4. fs.defaultFSHDFS的namenode启动的机器地址

                     5. beeline.hs2.connection.user和beeline.hs2.connection.passwordbeeline方式访问的用户名和密码,可任意指定,但在beeline访问时要写入你指定的这个(具体参考最后一部分)

    10.如果是第一次启动hive需要执行初始化命令

               schematool -dbType mysql -initSchema 

            注意:在第一次启hive,运行该命令,以后只需直接启metastorehiveserver

    11. 启动metastore

     

              nohup hive --service metastore >> /usr/local/hadoop-soft/etc/hive-2.1.1/metastore.log 2>&1 & 

    12. 启动hive server

     

              nohup hive --service hiveserver2 >> /usr/local/hadoop-soft/etc/hive-2.1.1/hiveserver.log 2>&1 & 

    13. 查看hive metastorehiveserver2是否启动成功

       ps aux | grep hive 

      能输出两个进程,分别对应metastore和hiveserver2.

          

    14.  Hive常见两种访问方式 

           a.不建议使用 hive ,已经被淘汰

           b. 建议使用  beeline 

     15.  修改hadoop 安装目录下 ,core-site.xml 文件

              比如要用root 用户启动  hive server2和hive metastore,则增加配置:

    <property>
          <name>hadoop.proxyuser.root.groups</name>
          <value>*</value>
     </property>
    
     <property>
          <name>hadoop.proxyuser.root.hosts</name>
          <value>*</value>
      </property>

                 

        16. 之后输入以下命令发起一个连接:

                  !connect jdbc:hive2://master:10000/default master master 

                

           其中master 和master 分别是在hive-site.xml配置文件中由beeline.hs2.connection.userbeeline.hs2.connection.password设置的。

           注:如果要使用beeline或JDBC连接hive时,遇到报错:“User: xxx is not allowed to impersonate yyy”,需在hadoop的配置文件core-site.xml中加入以下配置(其中红色标志的“xxx”是你启动hive server2和hive metastore所采用的用户,

                 用户名中不要包含“.”,比如“cheng.dong”是不支持的),并重启hiveserver2, hive metastore,HDFS和YARN

      

     

  • 相关阅读:
    基于Form表单和AJAX的登录示例
    HTML表格与表单
    HTML基础
    如何在AWS中部署Java Web应用程序?
    AWS前沿云计算课程——快速学会云上部署及Web应用程序管理
    如何在AWS云上部署应用
    Java知识系统回顾整理01基础02面向对象02属性
    Java知识系统回顾整理01基础02面向对象01类和对象
    Java知识系统回顾整理01基础01第一个程序07Eclipse使用----找不到类如何解决?
    Java知识系统回顾整理01基础01第一个程序06Eclipse使用技巧
  • 原文地址:https://www.cnblogs.com/kuncy/p/10668140.html
Copyright © 2011-2022 走看看