当前位置:   article > 正文

分布式Hive环境安装_hive 分布式安装

hive 分布式安装

1.HIVE安装

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。所有首先需要安装分布式环境的hadoop程序(参考:http://blog.csdn.net/cweeyii/article/details/54172900

1.1 Hive安装

  • hive安装
#本人hive是安装在虚拟机hadoop-master上
#下载和hadoop配套的hive环境
wget http://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
tar -zxvf apache-hive-1.2.1-bin.tar.gz
mv apache-hive-1.2.1-bin hive
#配置path环境
echo "export HIVE_HOME=/home/hadoop/workspace/hive">> ~/.bash_profile
source ~/.bash_profile
echo "export PATH=$HIVE_HOME/bin:$PATH">> ~/.bash_profile
source ~/.bash_profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • hive远程模式配置
    配置mysql远程访问
#在本地机器上安装mysql服务(本地机器hadoop-macbook)[具体安装过程不再此介绍]
#测试mysql服务是否正常(如果能正常登陆则正常)
mysql -h127.0.0.1 -P3306 -uroot -proot --default-character-set=utf8
#测试远程连接是否开启(登陆到虚拟机hadoop-master)
mysql -hhadoop-macbook -P3306 -uroot -proot --default-character-set=utf8
#如果正常跳过这步
mysql -h127.0.0.1 -P3306 -uroot -proot --default-character-set=utf8 (本地登陆)
use mysql
SELECT User, Password, Host FROM user;
#存在如下一条记录(表示root用户在localhost这个ip可以远程访问mysql,即只允许本地访问)
| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | localhost|     
#可以添加新的记录,指定ip为要访问机器就行
#为简单允许所有ip以root用户连接该机器
UPDATE user SET Host='%' WHERE User='root' AND Host='localhost' LIMIT 1; 
| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | %                       |
#再次测试应该可以正常连接
mysql -hhadoop-macbook -P3306 -uroot -proot --default-character-set=utf8
#创建hive的元数据库(创建时为空,hive在第一启动时会将元数据表记录到该数据库)
create database hive
#上传mysql-connection的jar包到hive的lib包中,使得hive支持选择mysql作为hive元数据库 
scp xxx@hadoop-mackbook:/Users/wenyi/Downloads/ /home/hadoop/workspace/hive/lib
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

修改hive配置文件

#修改hive-env.sh(在conf目录下)
mv hive-env.sh.template hive-env.sh
#添加如下内容
export HADOOP_HOME=/home/hadoop/workspace/hadoop#设置hadoop的目录)
export HIVE_CONF_DIR=/home/hadoop/workspace/hive/conf (#设置hive的conf目录)
  • 1
  • 2
  • 3
  • 4
  • 5
#设置日志文件位置
mv hive-log4j.properties.template hive-log4j.propertities
#指定hive的log目录
hive.log.dir=/home/hadoop/workspace/hive/logs
  • 1
  • 2
  • 3
  • 4
#设置hive基本属性
vim hive-site.xml
#内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
      <value>/home/hadoop/workspace/hive/warehouse</value>
    </property>
    <property>
        <name>hive.exec.scratchdir</name>
        <value>/home/hadoop/workspace/hive/scratchdir</value>
    </property>
    <property>
        <name>hive.querylog.location</name>
        <value>/home/hadoop/workspace/hive/logs</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop-macbook:3306/hive</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>
</configuration>
#hive.metastore.warehouse.dir :数据仓库的位置,默认是/user/hive/warehouse (hadoop中的文件目录,非本机)
#hive.exec.scratchdir hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果,默认是/tmp/<user.name>/hive,我们实际一般会按组区分,然后组内自建一个tmp目录存储; (hadoop中的文件目录,非本机)
#hive.querylog.location 查询日志目录
#剩下设置mysql jdbc链接
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

2.HIVE使用

#保证hadoop已经正常启动
#启动hive,第一次启动会往数据库中建立一些hive元数据表格
hive
#如果出现filesystem close相关的目录或者文件权限问题
hadoop fs -chmod 777 /home/hadoop/workspace/hive/scratchdir
#成功则进入hive提示符
#创建一个hive表
hive> create table test1(tid int, tname string);
OK
Time taken: 1.365 seconds
hive>

#查看mysql中hive元数据表
mysql> show tables;
+---------------------------+
| Tables_in_hive            |
+---------------------------+
| BUCKETING_COLS            |
| CDS                       |
| COLUMNS_V2                |
| DATABASE_PARAMS           |
| DBS                       |
| FUNCS                     |
| FUNC_RU                   |
| GLOBAL_PRIVS              |
| PARTITIONS                |
| PARTITION_KEYS            |
| PARTITION_KEY_VALS        |
| PARTITION_PARAMS          |
| PART_COL_STATS            |
| ROLES                     |
| SDS                       |
| SD_PARAMS                 |
| SEQUENCE_TABLE            |
| SERDES                    |
| SERDE_PARAMS              |
| SKEWED_COL_NAMES          |
| SKEWED_COL_VALUE_LOC_MAP  |
| SKEWED_STRING_LIST        |
| SKEWED_STRING_LIST_VALUES |
| SKEWED_VALUES             |
| SORT_COLS                 |
| TABLE_PARAMS              |
| TAB_COL_STATS             |
| TBLS                      |
| VERSION                   |
+---------------------------+
#查看刚才建立的hive表元数据信息
mysql> select * from TBLS;
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER  | RETENTION | SD_ID | TBL_NAME | TBL_TYPE      | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
|      1 |  1483863200 |     1 |                0 | hadoop |         0 |     1 | test1    | MANAGED_TABLE | NULL               | NULL               |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

hive安装完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/1005936
推荐阅读
相关标签
  

闽ICP备14008679号