分布式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
  • 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

修改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目录)
#设置日志文件位置
mv hive-log4j.properties.template hive-log4j.propertities
#指定hive的log目录
hive.log.dir=/home/hadoop/workspace/hive/logs
#设置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链接

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               |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+

hive安装完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值