hadoop上搭建hive(远程模式+hive服务端、客户端)

环境

hadoop2.7.1+ubuntu 14.04
hive 2.0.1
集群环境
namenode节点:master (hive服务端)
datanode 节点:slave1,slave2(hive客户端)
hive建立在hadoop的HDFS上,搭建hive前,先需搭建hadoop,可参考我的上一篇hadoop_cluster搭建文档
远程模式:
101.201.81.34(Mysql server meta server安装位置。我使用的windows系统,你也可以使用ubuntu)

一、101.201.81.43

该主机上安装好mysql,并且建立一个hive数据库
(如果在ubuntu上,要开启远程访问)

二、在master上安装hive

1.安装hive

1)在apache官网上下载hive-2.1.0包
2)sudo tar -zxvf apache-hive-2.1.0-bin.tar.gz
3)sudo cp -R apache-hive-2.1.0-bin /home/cms/hive
4)chmod -R 775 /home/cms/hive
5)sudo chown -R cms /home/cms/hive

2.修改/etc/profile加入HIVE_HOME的变量

HIVE_HOME/PATH/CLASSPATH
我粘贴的是我所有的配置

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=$HOME/hadoop-2.7.1
export HIVE_HOME=$HOME/hive
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$HIVE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH
export HADOOP_MAPARED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop```

source /etc/profile

#####3.修改hive/conf下的几个template模板并重命名为其他
```cp hive-env.sh.template hive-env.sh```
```cp hive-default.xml.template hive-site.xml```
配置hive-env.sh文件,指定HADOOP_HOME安装位置
```HADOOP_HOME=$HADOOP_HOME/hadoop-2.7.1```
#####4.修改hive-site.xml文件,指定MySQL数据库驱动、数据库名、用户名及密码,修改的内容如下所示
```<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://101.201.81.34: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>root</value>
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>admin</value>
  <description>password to use against metastore database</description>
</property>
<property> ```
其中:
javax.jdo.option.ConnectionURL参数指定的是Hive连接数据库的连接字符串;
javax.jdo.option.ConnectionDriverName参数指定的是驱动的类入口名称;
javax.jdo.option.ConnectionUserName参数指定了数据库的用户名;
javax.jdo.option.ConnectionPassword参数指定了数据库的密码。
#####5.缓存目录的问题,如果不配置也会出错的

<property>
<name>hive.exec.local.scratchdir</name>
<value>/opt/hivetmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/opt/hivetmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>并且需要对目录进行权限设定mkdir -p /opt/hivetmp chmod -R 775 /opt/hivetmp ```

6.下载mysql-connector-java-5.1.30-bin.jar文件,并放到$HIVE_HOME/lib目录下

可以从Mysql的官方网站下载,但是记得一定要解压呀,下载的是一个tar.gz文件,解压后为jarwenjian
7.hive表存储在在HDFS中的/user/hive/warehouse中

三、slave2建立hive客户端

1.将master上的整个hive目录移至slave2上
scp -r hive slave2:/home/cms
注意要关闭防火墙
sudo ufw disable
2.修改slave2下的hive-site配置文件,内容如下:

<configuration>
         <!-- thrift://<host_name>:<port> 默认端口是9083 -->
<property>
 <name>hive.metastore.uris</name>
 <value>thrift://master:9083</value>
 <description>Thrift uri for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
 
<!-- hive表的默认存储路径 -->
<property>
 <name>hive.metastore.warehouse.dir</name>
 <value>hdfs://hive/warehouse</value>
</property>
</configuration>```
修改/etc/profile,与master配置一致

#####四、启动
1.进入之前要初始化数据库(master节点)
```schematool -initSchema -dbType mysql```

```cms@master:~$ schematool -initSchema -dbType mysql 
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Metastore connection URL: jdbc:mysql://101.201.81.34:3306/hive?createDatabaseIfNotExist=true
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: root
Starting metastore schema initialization to 2.1.0
Initialization script hive-schema-2.1.0.mysql.sql
Initialization script completed
schemaTool completed```
2.hive启动
要启动metastore服务
在master上执行
```hive --service metastore &```
```[cms@master ~]$ jps
10288 RunJar  #多了一个进程
9365 NameNode
9670 SecondaryNameNode
11096 Jps
9944 NodeManager
9838 ResourceManager
9471 DataNod```
3.测试hive shell(服务端,客户端都可)
```hive
show databases;
show tables;```
查看hive表
``` dfs -lsr /user/hive/warehouse```
####参考文档
[Hadoop2.7实战v1.0之Hive-2.0.0+MySQL远程模式安装](http://blog.itpub.net/30089851/viewspace-2082805/)
[Hive的安装](https://chu888chu888.gitbooks.io/hadoopstudy/content/Content/8/chapter0807.html)
[Hadoop集群之Hive安装配置](http://yanliu.org/2015/08/13/Hadoop%E9%9B%86%E7%BE%A4%E4%B9%8BHive%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容

  • 介绍 Hive是运行在Hadoop之上的数据仓库,将结构化的数据文件映射为一张数据库表,提供简单类SQL查询语言,...
    syncwt阅读 4,728评论 0 7
  • HIVE是一个基于Hadoop的数据仓库,适用于一些高延迟性的应用。如果对延迟性要求比较高,则可以选择Hbase。...
    夏无忧阳阅读 5,044评论 0 12
  • 1、运行环境 主机IP 主机名 2、配置主机名(分别在五台机器上执行) hostname +主机名例如: h...
    献给记性不好的自己阅读 3,557评论 0 6
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    Joyyx阅读 8,328评论 0 16
  • 特讨厌被人称为萌妹子,我只想说萌你妹!我是王子好吗!我爱撒娇?!你能不能不要闹了,就你?!我会和你撒娇吗?不要逗我...
    玫瑰花的小王子阅读 198评论 1 1