爱尚实训解读hadoop的安装总结(二)-hive的安装

admin 2025-03-07 186人围观 ,发现94个评论

在上一篇《hadoop的安装总结(一)--hadoop集群基础安装》环境基础上,增加一台mysql主机,作为hive的元数据的存储数据库,配置如下:

四、在hadoop集群上安装hive(安装hive只需要在一台机器上安装就可以)

1.拷贝hive到其中一台机器上

[hadoop@hdp-01~]$ll

总用量90676

-月2123:52

月520:04apps

月521:39hdpdata

-月611:22

2.解压hive到apps/目录

[hadoop@hdp-01~]$/

进入apps/后,将改名为hive

[hadoop@hdp-01apps]$/hive/

3.进入hive的安装目录

[hadoop@hdp-01hive]$ll

总用量476

月623:02bin

月623:02conf

月623:02examples

月623:02hcatalog

月623:02lib

-月302015LICENSE

-月192015NOTICE

-月192015

-月192015RELEASE_

月623:02scripts

修改配置文件进入conf/

[hadoop@hdp-01hive]$cdconf

[hadoop@hdp-01conf]$ll

总用量188

-月302015

-月192015

-月302015

-月302015

-月302015

-月302015

现在就可以直接启动hive了,但是hive默认使用的是单机版的数据库,我们需要另外提供一台mysql数据库(192.168.33.5)

4.配置元数据库信息,新增一个xml配置文件

[hadoop@hdp-01conf]$

在这个配置文件中编辑

configuration

property

/name

valuejdbc:mysql://192.168.33.5:3306/hive?createDatabaseIfNotExist=true/value

descriptionJDBCconnectstringforaJDBCmetastore/description

/property

property

/name

/value

descriptionDriverclassnameforaJDBCmetastore/description

/property

property

/name

valueroot/value

descriptionusernametouseagainstmetastoredatabase/description

/property

property

/name

value123456/value

descriptionpasswordtouseagainstmetastoredatabase/description

/property

/configuration

5.进入到hive目录下的lib目录,将mysql的驱动包拷贝过去

sftpcd/home/hadoop/apps/hive/lib

sftplcdD:/大数据资料/6.hive/

/home/hadoop/apps/hive/lib/

100%937KB937KB/s00:00:00

D:/大数据资料/6.hive/:960372bytestransferredin0seconds(937KB/s)

6.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下

如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)

mysql-uroot-p

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

7.Jline包版本不一致的问题,需要拷贝hive的lib目录中的jar包替换掉hadoop中的

/home/hadoop/apps//share/hadoop/yarn/lib/

先删除hadoop的jline

[hadoop@hdp-01lib]$rm/home/hadoop/apps//share/hadoop/yarn/lib/

再拷贝hive的lib目录中的jar包拷贝到hadoop中的

/home/hadoop/apps//share/hadoop/yarn/lib目录下

[hadoop@hdp-01~]cp/home/hadoop/apps/hive/lib/

/home/hadoop/apps//share/hadoop/yarn/lib

8.启动hive

第一种方式:在hive的安装目录下运行bin/hive

第二种方式:

1.先将hive启动为服务:bin/hiveserver2

2.启动符合thrift协议的客户端(另外一台机器或者重开一个bash):

beeline!connectjdbc:hive2://hdp-01:10000

Connectingtojdbc:hive2://hdp-01:10000

Enterusernameforjdbc:hive2://hdp-01:10000:hadoop

Enterpasswordforjdbc:hive2://hdp-01:10000:

Connectedto:ApacheHive()

Driver:HiveJDBC()

Transactionisolation:TRANSACTION_REPEATABLE_READ

(hdp-01是hiveserver2所启动的那台主机名,端口默认是10000)

由于没有配置hive的用户名和密码(没有意义),所以输入用户的时候,就是启动hive的用户hadoop密码是空就OK

总结心得:hive依赖于一台mysql作为元数据存储,但是mysql与hive结合,不知为什么要求mysql的编码集必须为latin1,如果是uft-8的编码集,在hive中drop表等一些update的语句是没有响应的(阻塞),因此,不能忽略mysql的编码集。下一篇将分享hadoop的HA集群的安装文档

猜你喜欢
    不容错过