zoukankan      html  css  js  c++  java
  • Hive的安装和配置

    在hadoop帐户下
    一、下载hive-0.8.1.tar.gz
    wget mirrors.cnnic.cn/apache/hive/stable/hive-0.11.0.tar.gz
     
    二、解压到/opt/modules目录下
    tar -zxvf hive-0.11.0.tar.gz
    cd hive-0.11.0
     
    三、配置Hive的环境变量(该步在root帐户下)
    vi /etc/profile.d/java.sh
    export HIVE_HOME=/opt/modules/hive-0.11.0
    export PATH=$HIVE_HOME/bin:$PATH
    手动立即生效
    source /etc/profile
     
    四、拷贝hive的配置模板文件
    cd conf/
    cp hive-env.sh.template hive-env.sh
    cp hive-default.xml.template hive-site.xml
     
    五、修改hive-env.sh文件
    指定HADOOP_HOME及HIVE_CONF_DIR的路径如下:
    HADOOP_HOME=/opt/modules/hadoop/hadoop-1.0.3
    export HIVE_CONF_DIR=/opt/modules/hive-0.11.0/conf
     
    六、修改hive-site.xml文件
    指定mysql数据库驱动、数据库名、用户名和密码,修改的内容如下所示:
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=latin1</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>root</value>
    <description>username to use against metastore database</description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>654321</value>
    <description>password to use against metastore database</description>
    </property>
     
    七、拷贝mysql的驱动mysql-connector-java-5.1.18.jar到hive-0.11.0/lib目录下
     
    八、在HDFS中创建/tmp和/user/hive/warehouse并设置权限
    ./hadoop fs -mkdir /tmp
    ./hadoop fs -mkdir /user/hive/warehouse
    ./hadoop fs -chmod g+w /tmp
    ./hadoop fs -chmod g+w /user/hive/warehouse
     
    九、测试Hive是否安装成功,如下所示
    [root@hadoop1 bin]# hive
    WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
    Logging initialized using configuration in jar:file:/work/hive/hive-0.8.1/lib/hive-common-0.8.1.jar!/hive-log4j.properties
    Hive history file=/tmp/root/hive_job_log_root_201302171656_1326720941.txt
    hive> create table user(id int,name string);
    OK
    Time taken: 3.242 seconds
    hive> select * from user;
    OK
    Time taken: 0.275 seconds
    hive> exit;
    [root@hadoop1 bin]#
     
     
    十、报错
    FAILED: Error in metadata: javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
    修改方法(mysql中):
    alter database hive character set latin1;
  • 相关阅读:
    手下有个人总是用一些小的缺点来否认你的决定的优点,如何解决这个问题? (转载)
    初等代数
    全民上网到全民织网 Web 2.0掀起人民战争
    这个sql语句:列出各门课程成绩最好的两位学生?
    在XML中发送二进制数据
    .NetFramework 数据保存与传输之序列化对象
    Duwamish学习之构架篇错误捕获
    在.NET环境中使用单元测试工具NUnit
    [翻译]XNA外文博客文章精选之fourteen
    [翻译]XNA外文博客文章精选之nine
  • 原文地址:https://www.cnblogs.com/jingyunyb/p/3401300.html
Copyright © 2011-2022 走看看