爱尚实训解读hadoop的安装总结(二)——hive的安装[通俗易懂]

爱尚实训解读hadoop的安装总结(二)——hive的安装[通俗易懂]在上一篇《hadoop的安装总结1。1hadoophadoop41011月611:22wc.jar2.解压hive到apps/目录[hadoop

大家好,欢迎来到IT知识分享网。

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

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

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

[hadoop@hdp-01 ~]$ ll

总用量 90676

-rw-rw-r–. 1 hadoop hadoop 92834839 9月 21 23:52 apache-hive-1.2.1-bin.tar.gz

drwxrwxr-x. 3 hadoop hadoop 4096 1月 5 20:04 apps

drwxrwxr-x. 3 hadoop hadoop 4096 1月 5 21:39 hdpdata

-rw-rw-r–. 1 hadoop hadoop 4101 1月 6 11:22 wc.jar

2. 解压hive到apps/目录

[hadoop@hdp-01 ~]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C apps/

进入apps/后,将apache-hive-1.2.1-bin改名为hive

[hadoop@hdp-01 apps]$ mv apache-hive-1.2.1-bin/ hive/

3. 进入hive的安装目录

[hadoop@hdp-01 hive]$ ll

总用量 476

drwxrwxr-x. 3 hadoop hadoop 4096 1月 6 23:02 bin

drwxrwxr-x. 2 hadoop hadoop 4096 1月 6 23:02 conf

drwxrwxr-x. 4 hadoop hadoop 4096 1月 6 23:02 examples

drwxrwxr-x. 7 hadoop hadoop 4096 1月 6 23:02 hcatalog

drwxrwxr-x. 4 hadoop hadoop 4096 1月 6 23:02 lib

-rw-rw-r–. 1 hadoop hadoop 24754 4月 30 2015 LICENSE

-rw-rw-r–. 1 hadoop hadoop 397 6月 19 2015 NOTICE

-rw-rw-r–. 1 hadoop hadoop 4366 6月 19 2015 README.txt

-rw-rw-r–. 1 hadoop hadoop 421129 6月 19 2015 RELEASE_NOTES.txt

drwxrwxr-x. 3 hadoop hadoop 4096 1月 6 23:02 scripts

修改配置文件进入conf/

[hadoop@hdp-01 hive]$ cd conf

[hadoop@hdp-01 conf]$ ll

总用量 188

-rw-rw-r–. 1 hadoop hadoop 1139 4月 30 2015 beeline-log4j.properties.template

-rw-rw-r–. 1 hadoop hadoop 168431 6月 19 2015 hive-default.xml.template

-rw-rw-r–. 1 hadoop hadoop 2378 4月 30 2015 hive-env.sh.template

-rw-rw-r–. 1 hadoop hadoop 2662 4月 30 2015 hive-exec-log4j.properties.template

-rw-rw-r–. 1 hadoop hadoop 3050 4月 30 2015 hive-log4j.properties.template

-rw-rw-r–. 1 hadoop hadoop 1593 4月 30 2015 ivysettings.xml

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

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

[hadoop@hdp-01 conf]$ vi hive-site.xml

在这个配置文件中编辑

<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://192.168.33.5: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>123456</value>

<description>password to use against metastore database</description>

</property>

</configuration>

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

sftp> cd /home/hadoop/apps/hive/lib

sftp> lcd D:/大数据资料/6.hive/

sftp> put mysql-connector-java-5.1.34.jar

Uploading mysql-connector-java-5.1.34.jar to /home/hadoop/apps/hive/lib/mysql-connector-java-5.1.34.jar

100% 937KB 937KB/s 00:00:00

D:/大数据资料/6.hive/mysql-connector-java-5.1.34.jar: 960372 bytes transferred in 0 seconds (937 KB/s)

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

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

mysql -uroot -p

#(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接)

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

Hive连接mysql数据库的时候,数据库不要使用utf-8的编码,应该使用latin1的编码,下面是配置mysql的字符编码的过程

vi /etc/my.cnf

编辑内容

[client]

default-character-set=latin1

[mysql]

no-auto-rehash

default-character-set=latin1

[mysqld]

datadir=/data/mysql

socket=/var/lib/mysql/mysql.sock

character-set-server=latin1

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

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

/home/hadoop/apps/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

先删除hadoop的jline

[hadoop@hdp-01 lib]$ rm /home/hadoop/apps/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

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

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

[hadoop@hdp-01 ~] cp /home/hadoop/apps/hive/lib/jline-2.12.jar

/home/hadoop/apps/hadoop-2.6.4/share/hadoop/yarn/lib

8. 启动hive

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

第二种方式:

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

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

beeline> !connect jdbc:hive2://hdp-01:10000

Connecting to jdbc:hive2://hdp-01:10000

Enter username for jdbc:hive2://hdp-01:10000: hadoop

Enter password for jdbc:hive2://hdp-01:10000:

Connected to: Apache Hive (version 1.2.1)

Driver: Hive JDBC (version 1.2.1)

Transaction isolation: 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集群的安装文档

爱尚实训解读hadoop的安装总结(二)——hive的安装[通俗易懂]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6194.html

(0)
上一篇 2022-12-17 17:00
下一篇 2022-12-17 17:20

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信