Hive安装Version2.1.0

Hive安装,基于版本2.1.0,
使用apache-hive-2.1.0-bin.tar.gz安装包。

1.安装规划

角色规划 IP/机器名 安装软件 运行进程
hive zdh-9 hive RunJar(metastore),RunJar(hiveserver2)

2.安装用户

hive/zdh1234

3.配置hosts

10.43.159.9 zdh-9

4.安装依赖

4.1.JDK配置

export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4.2.Hadoop集群

hdfs://gagcluster
NameNode1:hdfs://10.43.159.7:9000
NameNode2:hdfs://10.43.159.9:9000

4.3.Mysql数据库

Unix:mysql/zdh1234
mysql:root/zdh1234
Link: zdh-9:3306

5.在zdh-9上面创建hive用户

useradd -g hadoop -s /bin/bash -md /home/hive hive

6.上传并且解压安装包

tar -zxvf apache-hive-2.1.0-bin.tar.gz

7.配置环境变量

安装并且配置JDK

export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置Hive环境变量和别名,方便操作

export HIVE_HOME=~/apache-hive-2.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin
alias logs='cd $HIVE_HOME/logs'
alias conf='cd $HIVE_HOME/conf'

8.拷贝相关jar包

拷贝mysql的jdbc驱动包到hive的lib目录下面,mysql的驱动包需要自己下载
cp /usr/share/java/mysql-connector-java.jar ~/apache-hive-2.1.0-bin/lib/
拷贝hive的jdbc目录下hive-jdbc-2.1.0-standalone.jar到lib目录下,否则执行beeline报错
cp hive-jdbc-2.1.0-standalone.jar ../lib/

9.从模板获得配置文件

进入conf目录把所有带template后缀的文件,移除后缀:
rename .template "" *.template
再把hive-default.xml重命名为hive-site.xml:
mv hive-default.xml hive-site.xml

10.修改hive-env.sh配置项

export HADOOP_HOME=/home/hdfs/hadoop-2.7.1
export HIVE_CONF_DIR=/home/hive/apache-hive-2.1.0-bin/conf
主要是配置hadoop的目录,且hive启动前hdfs需要已经启动。

11.修改hive-site.xml的配置项

<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/hive/apache-hive-2.1.0-bin/tmp</value>
    <description>Local scratch space for Hive jobs</description>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/hive/apache-hive-2.1.0-bin/tmp/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/home/hive/apache-hive-2.1.0-bin/warehouse</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://zdh-9:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>zdh1234</value>
</property>
<property>
    <name>datanucleus.autoCreateSchema</name>
    <value>true</value>
    <description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>
</property>
<property>
    <name>datanucleus.fixedDatastore</name>
    <value>false</value>
</property>
<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
</property>

上面主要是配置hive的元数据使用mysql存储,配置mysql的一些连接。

12.在mysql预先创建数据库以及用户

创建一个数据库
CREATE DATABASE hive;
使用已经存在的root@zdh-9用户,并且设置相应的密码

update mysql.user set password=password("zdh1234") where user="root" and host='zdh-9';

或者使用root用户新建hive用户,
注意修改hive-site.xml中的数据库用户名密码,
保证配置项正确。

13.执行脚本,初始化数据库schema如下:

schematool -initSchema -dbType mysql

14.启动hive

hive
通过jps可以看到新进程RunJar

15.执行测试命令

测试hive创建表格,使用hive命令行:
hive
create table student(name string,sex string,age int);
show tables;
desc student;
exit;

查看mysql数据库hive中创建的表格在元数据库中有相应更新
select * from TBLS;
若查询到TBLS表中TBL_NAME的内容有student,
则说明刚才在hive命令行中创建的表格student的元数据更新到MySql中了。

16.启动hive server2

后台启动metastore服务和hiveserver2服务

hive --service metastore > metastore.log 2>&1 &
hive --service hiveserver2 > hiveserver2.log 2>&1 &
或者
nohup hive --service metastore&
nohup hive --service hiveserver2&

17.使用beeline命令行测试

beeline
!connect jdbc:hive2://zdh-9:10000/default
用户名和密码都为空,直接回车;
成功进入beeline连接jdbc数据库,
执行命令查看default默认数据库和库中的表,
以及查看student表结构:

show databases;
show tables;
desc student;

退出连接:
!q

18.报错处理

User: hive is not allowed to impersonate anonymous (state=,code=0)
修改hadoop的core-site.xml中的配置文件如下,里面需要设置hive用户的代理,并且重启hdfs。

<property>
        <name>hadoop.proxyuser.hive.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.hive.groups</name>
        <value>*</value>
</property>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容

  • 01 很多年来,自诩自己学外语,文学语言专业毕业。以为会说几句英文或者法文,了解一点西方国家的文化,风土人情,便足...
    嫣_然阅读 328评论 12 9
  • 嫦娥舒广袖, 玉兔赴月宫。 超越高科技, 实现中华梦。 2013年元月
    贯华阅读 413评论 4 11
  • 大概人的人性里都有惰性吧,老一辈留下来一句老话,吃馋了耍懒了,估计就是告诫一辈又一辈人不能刚吃不干活,勤俭持家,业...
    住在城里的庄户孩子阅读 885评论 1 3