分享

HIVE完全分布式集群安装过程(元数据库: MySQL)

本帖最后由 pig2 于 2014-2-14 13:39 编辑

阅读本文可以带着下面问题:
1.mysql创建用户,需要注意什么?

思考:
HIVE与hadoop是什么关系?hive是如何借助hadoop实现集群的?hadoop集群与hive集群是什么关系?






Hadoop版本:0.20.2
Hive版本:0.9.0
mysql版本: 5.6.11


1) 在mysql里创建hive用户,并赋予其足够权限


[root@node01 mysql]# mysql -u root -p
Enter password:


mysql> create user 'hive' identified by 'hive';
Query OK, 0 rows affected (0.00 sec)


mysql> grant all privileges on *.* to 'hive' with grant option;
Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)


2)测试hive用户是否能正常连接mysql,并创建hive数据库


[root@node01 mysql]# mysql -u hive -p
Enter password:

mysql> create database hive;
Query OK, 1 row affected (0.00 sec)


mysql> use hive;
Database changed
mysql> show tables;
Empty set (0.00 sec)


3)解压缩hive安装包

tar -xzvf hive-0.9.0.tar.gz
[hadoop@node01 ~]$ cd hive-0.9.0
[hadoop@node01 hive-0.9.0]$ ls
bin  conf  docs  examples  lib  LICENSE  NOTICE  README.txt  RELEASE_NOTES.txt  scripts  src



4)下载mysql连接java的驱动 并拷入hive home的lib下

[hadoop@node01 ~]$ mv mysql-connector-java-5.1.24-bin.jar ./hive-0.9.0/lib


5)修改环境变量,把Hive加到PATH

/etc/profile
export HIVE_HOME=/home/hadoop/hive-0.9.0
export PATH=$PATH:$HIVE_HOME/bin


6)修改hive-env.sh

[hadoop@node01 conf]$ cp hive-env.sh.template hive-env.sh
[hadoop@node01 conf]$ vi hive-env.sh


7)拷贝hive-default.xml 并命名为 hive-site.xml

修改四个关键配置 为上面mysql的配置
[hadoop@node01 conf]$ cp hive-default.xml.template hive-site.xml
[hadoop@node01 conf]$ vi hive-site.xml




<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 to use against metastore database</description>
</property>


<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
</property>


8)启动Hadoop,打开hive shell 测试

[hadoop@node01 conf]$ start-all.sh


hive> load data inpath 'hdfs://node01:9000/user/hadoop/access_log.txt'
    > overwrite into table records;
Loading data to table default.records
Moved to trash: hdfs://node01:9000/user/hive/warehouse/records
OK
Time taken: 0.526 seconds
hive> select ip, count(*) from records
    > group by ip;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapred.reduce.tasks=<number>
Starting Job = job_201304242001_0001, Tracking URL = http://node01:50030/jobdetails.jsp?jobid=job_201304242001_0001
Kill Command = /home/hadoop/hadoop-0.20.2/bin/../bin/hadoop job  -Dmapred.job.tracker=192.168.231.131:9001 -kill job_201304242001_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2013-04-24 20:11:03,127 Stage-1 map = 0%,  reduce = 0%
2013-04-24 20:11:11,196 Stage-1 map = 100%,  reduce = 0%
2013-04-24 20:11:23,331 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_201304242001_0001
MapReduce Jobs Launched:
Job 0: Map: 1  Reduce: 1   HDFS Read: 7118627 HDFS Write: 9 SUCCESS
Total MapReduce CPU Time Spent: 0 msec
OK
NULL    28134
Time taken: 33.273 seconds



records在HDFS中就是一个文件:



[hadoop@node01 home]$ hadoop fs -ls /user/hive/warehouse/records
Found 1 items
-rw-r--r--   2 hadoop supergroup    7118627 2013-04-15 20:06 /user/hive/warehouse/records/access_log.txt




来自群组: Hadoop技术组

本帖被以下淘专辑推荐:

已有(25)人评论

跳转到指定楼层
babyLiyuan 发表于 2015-4-6 16:37:39
我想请教一个hive1.1.0把mysql作为元数据库的问题,请移步我的日志,非常感谢。http://www.aboutyun.com/blog-13274-1900.html
回复

使用道具 举报

jackqiang2011 发表于 2016-6-30 08:41:44
hive hive hive
回复

使用道具 举报

mavs41 发表于 2014-2-14 22:56:55
果断顶起啊!
回复

使用道具 举报

mjjian0 发表于 2014-5-8 22:53:39
感觉讲的还是不够详细 啊
回复

使用道具 举报

不许笑 发表于 2014-6-27 21:29:50
可以参考就很不错,呵呵
回复

使用道具 举报

pengsuyun 发表于 2015-1-21 15:06:23
回复

使用道具 举报

韩克拉玛寒 发表于 2015-1-31 14:18:52
楼主,你那里有HIve集群暗中的稳定吗。请你不给我找一下谢谢。
回复

使用道具 举报

hignhive 发表于 2015-3-5 23:55:00
hadoop集群与hive集群是什么关系?我是没看懂。
意思是说,我导入到hive表的数据,不一定保存在Hadoop集群的一个节点上,可以在多个节点上?
后面说到排序时,ORDER BY 全局排序 和 SORT BY 本机排序,是不是就是这样理解?
回复

使用道具 举报

tang 发表于 2015-3-12 14:45:24
回复

使用道具 举报

tang 发表于 2015-5-13 20:49:00
觉得都没有讲集群的安装,
回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条