`
bupt04406
  • 浏览: 347758 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hive安装

    博客分类:
  • Hive
阅读更多
ubuntu下面:
(1)安装好java
设置 JAVA_HOME
在文件/etc/profile中设置
JAVA_HOME=/usr/lib/jvm/java-6-sun
export JAVA_HOME

tianzhao@tianzhao-VirtualBox:~/apache/trunk$ echo $JAVA_HOME
/usr/

(2)ssh
tianzhao@tianzhao-VirtualBox:~$ ssh-keygen -t rsa -P ""
tianzhao@tianzhao-VirtualBox:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
ssh localhost
如果没有ssh就需要安装
tianzhao@tianzhao-VirtualBox:~$ sudo apt-get install openssh-server
tianzhao@tianzhao-VirtualBox:~$ ssh localhost


(3) hadoop的配置,  hadoop-env.sh  mapred-site.xml hdfs-site.xml core-site.xml
官方的版本里面要在 hadoop-env.sh 加上 :
export JAVA_HOME=/usr/

tianzhao@tianzhao-VirtualBox:~/hadoop-0.20.2-cdh3u0/conf$ cat core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:54310</value>
  <description>The name of the default file system. A URI whose
  scheme and authority determine the FileSystem implementation. The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class. The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/tianzhao/hadoop-0.20.2-cdh3u0/tmp</value>
</property>

</configuration>



tianzhao@tianzhao-VirtualBox:~/hadoop-0.20.2-cdh3u0/conf$ cat hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>dfs.name.dir</name>
<value>/home/tianzhao/hadoop-0.20.2-cdh3u0/hdfs/name</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>/home/tianzhao/hadoop-0.20.2-cdh3u0/hdfs/data</value>
</property>

</configuration>





tianzhao@tianzhao-VirtualBox:~/hadoop-0.20.2-cdh3u0/conf$ cat mapred-site.xml <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>

</configuration>

bin/hadoop namenode -format

bin/start-all.sh
bin/stop-all.sh


(3.1)hbase   hbase-site.xml
<configuration>

  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:54310/hbase</value>
  </property>

<property> 
  <name>hbase.cluster.distributed</name> 
  <value>true</value> 
</property> 

  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

</configuration>

// master
http://localhost:60010
// region server
http://localhost:60030

mysql 4不支持,mysql 5以上才支持。 外键问题。
(4)mysql安装
tianzhao@tianzhao-VirtualBox:~/hive-0.7.0-cdh3u0$ sudo apt-get install mysql-server
root用户密码:tianzhao1234

tianzhao@tianzhao-VirtualBox:~/hive-0.7.0-cdh3u0$ mysql -uroot -ptianzhao1234
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'hive'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on hive.* to 'hive'@'localhost' with grant option;
Query OK, 0 rows affected (0.00 sec)

flush privileges;

sudo /etc/init.d/mysql restart

http://www.pantz.org/software/mysql/mysqlcommands.html




用mysqldump命令行
命令格式
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
范例:
mysqldump -uroot -p abc > abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。

用mysql命令行
命令格式
mysql -u用户名 -p 数据库名 < 数据库名.sql
范例:
mysql -uabc_f -p abc < abc.sql
(导入数据库abc从abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。

drop database hive;
show databases;


(5)hive  hive-config.sh   hive-site.xml
1.修改bin/hive-config.sh
export HADOOP_HOME=/home/tianzhao/hadoop-0.20.2-cdh3u0/

conf/hive-site.xml

tianzhao@tianzhao-VirtualBox:~/hive-0.7.0-cdh3u0/conf$ cat hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
  <name>hive.metastore.local</name>
  <value>true</value>
</property>

<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</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>hive</value>
        <description>username TOUSE against metastore database</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
        <description>password TOUSE against metastore database</description>
</property>

</configuration>

待修改


export HADOOP_HOME=/home/tianzhao/hadoop-0.19.2
export HADOOP_CONF_DIR=$HOME/config



echo $HOME 
/home/tianzhao
export HIVE_HOME=/home/tianzhao/hive
export HIVE_CONF_DIR=/home/tianzhao/hive-config
export HIVE_LIB=${HIVE_HOME}/lib
export HIVE_AUX_JARS_PATH=/home/tianzhao/jar




在 hive  cli中执行show tables,alter table等hivesql变得很慢,往往是因为mysql的原因,因为hive操作分几部分:表信息操作是通过连接的数据库,目录操作的是hdfs上面的目录,job提交给jobtracker。
show tables主要是从mysql中读取表的信息,然后显示。如果变得很慢就是hive从Mysql获取table信息很慢,可以重启mysql或者把mysql迁移到其他机器上。

http://forge.mysql.com/wiki/MySQL_Internals_Optimizer#The_Optimizer


hive> show tables;
FAILED: Error in metadata: javax.jdo.JDODataStoreException: Exception thrown obtaining schema column information from datastore
NestedThrowables:
java.sql.SQLException: Got error 28 from storage engine
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

java.sql.SQLException: Got error 28 from storage engine  这个是因为磁盘空间满了的原因


http://bugs.mysql.com/bug.php?id=3611
This issue still exist in MySQL server version 5.1.41
I did a sub-query in FROM clause and used WHERE clause to filter results.
The following query works fine without WHERE clause. If you add WHERE clause you will
receive an error code: "1267 Illegal mix of collations (latin1_swedish_ci, IMPLICIT) and
(utf8_general_ci, COERCIBLE) for operation '='"

This example is taken from the book I was reading:

SELECT PLAYERNO, NAME, PLAYERS.TOWN, NUMBER * 1000
FROM PLAYERS,
(SELECT 'Stratford' AS TOWN, 4 AS NUMBER
UNION
SELECT 'Plymouth', 6
UNION
SELECT 'Inglewood', 1
UNION
SELECT 'Douglas', 2) AS TOWNS
WHERE PLAYERS.TOWN = TOWNS.TOWN
ORDER BY PLAYERNO


脏数据产生了分区字段,然后出错。
Failed with exception javax.jdo.JDODataStoreException: Error executing JDOQL query "SELECT 'org.apache.hadoop.hive.metastore.model.MPartition' AS NUCLEUS_TYPE,`THIS`.`CREATE_TIME`,`THIS`.`LAST_ACCESS_TIME`,`THIS`.`PART_NAME`,`THIS`.`PART_ID` FROM `PARTITIONS` `THIS` LEFT OUTER JOIN `TBLS` `THIS_TABLE_TABLE_NAME` ON `THIS`.`TBL_ID` = `THIS_TABLE_TABLE_NAME`.`TBL_ID` LEFT OUTER JOIN `TBLS` `THIS_TABLE_DATABASE` ON `THIS`.`TBL_ID` = `THIS_TABLE_DATABASE`.`TBL_ID` LEFT OUTER JOIN `DBS` `THIS_TABLE_DATABASE_DATABASE_NAME` ON `THIS_TABLE_DATABASE`.`DB_ID` = `THIS_TABLE_DATABASE_DATABASE_NAME`.`DB_ID` WHERE `THIS_TABLE_TABLE_NAME`.`TBL_NAME` = ? AND `THIS_TABLE_DATABASE_DATABASE_NAME`.`NAME` = ? AND `THIS`.`PART_NAME` = ?" : Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='.
NestedThrowables:
java.sql.SQLException: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask


Failed with exception javax.jdo.JDODataStoreException: Add request failed : INSERT INTO `COLUMNS` (`SD_ID`,`COMMENT`,`COLUMN_NAME`,`TYPE_NAME`,`INTEGER_IDX`) VALUES (?,?,?,?,?)
NestedThrowables:
java.sql.BatchUpdateException: The table 'columns' is full
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask

错误信息:
Caused by: java.sql.SQLException: The table 'xxx' is full
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
解决办法:
请参阅如下地址
1. http://forums.dcm4che.org/jiveforums/message.jspa?messageID=2751
2. http://jeremy.zawodny.com/blog/archives/000796.html
3. http://dev.mysql.com/doc/refman/5.0/en/full-table.html
分享到:
评论

相关推荐

    HIVE安装及详解

    "HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...

    大数据技术基础实验报告-Hive安装配置与应用.doc

    【大数据技术基础实验报告-Hive安装配置与应用】 在大数据处理领域,Apache Hive是一个非常重要的组件,它提供了基于Hadoop的数据仓库工具,用于数据查询、分析以及存储。本实验报告将详细阐述如何安装、配置Hive,...

    hive安装所需配置文件

    本压缩包文件"hive"可能包含了Hive安装过程中所需的配置文件,这些文件对于正确、高效地运行Hive至关重要。以下是对Hive安装配置文件的详细解释: 1. **`core-site.xml`**: 这个文件包含了Hadoop核心的配置参数,...

    hive安装步骤

    "Hive安装步骤详解" 本文档详细介绍了在 Linux 环境下安装 Hive 的具体步骤,并提供了多张插图,帮助读者更好地理解安装过程。文章主要分为两个部分:安装 MySQL 和安装 Hive。 安装 MySQL 在安装 Hive 之前,...

    hive0.13安装PPT

    hive安装

    hive安装文档

    ### Hive安装知识点详解 #### 一、Hive简介与安装目的 Hive 是基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行...

    Hive安装与配置

    ### Hive安装与配置详解 #### 一、软件准备与环境规划 在进行Hive的安装与配置之前,首先需要对所需的软件及环境进行规划。以下为本次安装与配置的环境规划: - **操作系统**: Ubuntu - **Java版本**: Java 1.6.0...

    hive安装与python访问hive

    内容包括hive如何安装与启动,以及如何使用python访问hive,希望对大家有帮助。

    Hive安装指南,Hive 嵌入模式安装指南

    Hive安装指南,Hive 嵌入模式安装指南 Hive 是一个基于 Hadoop 的数据仓库工具,提供了 类似 SQL 的查询语言 HiveQL,能够快速地查询和分析大规模数据。Hive 安装指南将指导您完成 Hive 的安装和配置。 知识点 1: ...

    大数据教程-Hive的安装与配置.pdf

    从提供的文件内容中,我们可以提取到关于Hive安装与配置的相关知识点,同时也包括了MySQL的安装知识,因为MySQL是Hive常用的后端数据库。接下来,我将详细介绍这些知识点。 **Hive的安装与配置** 1. Hive是一个...

    hive安装依赖以及启动脚本

    hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...

    Hadoop之hive安装

    Hadoop之Hive安装 本篇文章将指导您如何在CentOS 6.4下安装Hive,并解决可能遇到的错误。 环境及软件介绍 本篇文章使用的环境是CentOS 6.4-x86_64-bin-DVD1.iso,软件版本为Hadoop 2.2.0和Hive 0.12.0,以及MySQL...

    hive的安装与配置头歌.zip

    在本压缩包中,"文档.pdf" 和 "资料必看.zip" 可能包含了关于 Hive 安装与配置的详细步骤和指南。现在,我们将深入探讨 Hive 的安装与配置过程。 首先,安装 Hive 需要先确保你已经安装了 Hadoop 环境,因为 Hive ...

    Hive安装讲义(linux_hive windows_mysql)

    Hive安装讲义(linux_hive windows_mysql) Hive是基于Hadoop的数据仓库工具,用于存储、查询和分析大规模数据。为了实现Hive的安装和配置,需要满足一定的前提条件和环境要求。下面是Hive安装讲义的详细步骤和相关...

    Hive安装讲义(linux_hive linux_mysql)

    Hive安装讲义(linux_hive linux_mysql) Hive安装讲义中涵盖了Hive的安装过程,包括Hadoop和MySQL的安装。下面是从给定的文件中生成的相关知识点: 一、Hadoop 安装 * Hadoop 安装是Hive 运行环境的前提条件 * ...

    CDH550@hive安装部署

    cdh5.5.0下的hive的安装部署详细操作。hive的安装其实有两部分组成,一个是Server端、一个是客户端,所谓服务端其实就是Hive管理Meta的那个Hive,服务端可以装在任何节点上,当hive服务并发量不高时推荐部署在数据...

    Hive安装配套资源.zip

    本压缩包“Hive安装配套资源.zip”提供了在Linux CentOS环境下安装Hive所需的关键组件,包括Hive安装包、MySQL连接器、环境配置文件以及Hive的配置文件。 首先,`apache-hive-3.1.2-bin.tar.gz`是Hive的安装包,...

Global site tag (gtag.js) - Google Analytics