Hive 1.2.1&Spark&Sqoop安装指南

目录
目录1
1.前言1
2.约定2
3.服务端口2
4.安装MySQL 2
4.1.安装MySQL 2
4.2.创建Hive元数据库 4
5.安装步骤4
5.1.下载Hive1.2.1二进制安装包 4
5.2.安装Hive 5
5.3.安装MySQL-Connector 5
5.4.修改配置5
5.4.1.修改/etc/profile或~/.profile 5
5.4.2.修改其它配置文件5
5.4.2.1.修改hive-env.sh 6
5.4.2.2.修改hive-site.xml 6
5.4.2.3.修改hive-log4j.properties 7
5.4.2.4.修改hive-exec-log4j.properties 7
6.启动运行7
7.远程执行HSQL 8
8.基本命令8
9.单点方案9
10.和Spark集成 9
11.和Sqoop集成 9
11.1.修改sqoop-env.sh 9
11.2.修改sqoop-site.xml 10
11.3.验证测试10
12.常见错误10
13.相关文档14
1.前言
本文的安装参照《Hive0.12.0安装指南》,内容来源于官方的:GettingStarted,将Hive1.2.1安装在Hadoop2.7.1上。本文将Hive配置成Server模式,并且使用MySQL作为元数据数据库,远程连接MySQL。
关于Hadoop2.7.1的安装,请参见《Hadoop-2.7.1分布式安装手册》一文。
2.约定
本文约定Hadoop被安装在/data/hadoop/current,将Hive1.2.1的安装到目录/data/hadoop/hive(实际是指向/data/hadoop/hive-1.2.1-bin的软链接)。将MySQL5.7.10安装到目录/data/mysql。在实际安装部署时,可以指定为其它目录。
3.服务端口
10000 | hive.server2.thrift.port,执行hiveserver2时会启动它 |
9083 | hive.metastore.uris,执行hive--servicemetastore时会启动它 |
4.安装MySQL
由于单台MySQL有单点问题,因此实际中需要配置成主备MySQL方式。
4.1.安装MySQL
本文MySQL被安装在172.25.39.166机器上,Hive用MySQL来存储元数据,因此需要先安装好MySQL。这里安装的是最新的MySQL5.7.10,下载网址为:http://dev.mysql.com/downloads/mysql/,本文选择是的“Linux-Generic”下的“Linux-Generic(glibc2.5)(x86,64-bit),CompressedTARArchive”,它的二进制安装包名为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz。
将二进制安装包解压后,可看到名为INSTALL-BINARY的文件,该文件有说明如何安装MySQL,本文基本参照它进行的。
由于官方提供的二进制安装包,编译的时候指定的“--prefix”为“/usr/local/mysql”,所以最好将mysql安装在/usr/local目录下,否则安装过程会容易遇到问题。但建立将数据目录指定为一个足够大的分区下的目录。
当然data目录也可以为软链接方式到足够大的分区目录,并且推荐使用软链接方式,否则在使用mysql命令时,经常需要指定参数“--datadir”,比如mysqld、mysqld_safe和mysql_ssl_rsa_setup等都需要指定“--datadir”。
如果不是安装在/usr/local/mysql,则需要为mysqld指定--basedir、--character-sets-dir、--language、--lc-messages-dir、--plugin-dir等众多参数值。
如果不能root用户安装,则还需要为mysqld指定--slow-query-log-file、--socket、--pid-file、--plugin-dir和--general-log-file等参数值。
这些参数的默认值,都可以通过执行MySQL的“bin/mysqld--verbose--help”查看到。
#MySQL安装目录为/usr/local/mysql,数据目录实际为/data/mysql/data #注意需以root用户安装MySQL,如果不能root用户安装,容易遇到安装麻烦 #并请注意5.7.6之前的版本安装略有不同! #新建mysql用户组 groupaddmysql #新建mysql用户,并设置为不能作为linux登录用户 useradd-r-gmysql-s/bin/falsemysql #进入到mysql安装目录 cd/usr/local #解压二进制安装包 tarxzfmysql-5.7.10-linux-glibc2.5-x86_64.tar.gz #建立易记的、与版本无关的短链接 ln-smysql-5.7.10-linux-glibc2.5-x86_64mysql #进入到mysql目录 cdmysql #创建数据目录 mkdir-p/data/mysql/data #建立数据目录软链接,让指向/usr/local/mysql/data指向/data/mysql/data ln-s/data/mysql/data/usr/local/mysql/data #设置目录权限 chmod770/data/mysql/data chown-Rmysql/data/mysql/data chgrp-Rmysql/data/mysql/data chown-Rmysql. chgrp-Rmysql. #初始化(成功执行完mysqld后,会提供一个临时的root密码,请务必记住) #另外需要注意临时密码会过期,所以需要尽量修改root密码 #进入MySQLCli后,执行下列命令即可修改成新密码: #SETPASSWORDFOR'root'@'localhost'=PASSWORD('new_password'); bin/mysqld--initialize--user=mysql--explicit_defaults_for_timestamp #安装和配置SSL bin/mysql_ssl_rsa_setup #重置目录权限 chown-Rroot. chown-Rmysql/data/mysql/data #启动mysql bin/mysqld_safe--user=mysql& #查看端口是否已起来(不修改配置和不指定参数--port,默认端口号为3306) netstat-lpnt|grep3306 #停止MySQL support-files/mysql.serverstop #设置mysql随着系统自启动 cpsupport-files/mysql.server/etc/init.d/mysql.server |
以上使用的都是MySQL默认配置,如果需要定制化,可以通过修改文件my.cnf来达成。MySQL5.7.10不带my.cnf,只有个support-files/my-default.cnf。
通过执行命令“support-files/my-default.cnf”,可以了解到MySQL搜索my.cnf的顺序依次为:/etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf~/.my.cnf,这样可以复制一份my-default.cnf,然后再修改,如:cpsupport-files/my-default.cnf/etc/my.cnf。
4.2.创建Hive元数据库
创建数据库hive:
createdatabaseifnotexistshive; |
创建数据库用户hive:
createuserhiveidentifiedby'hive2016'; |
授权可以访问数据库hive的IP和用户,其中localhost的实际IP为172.25.39.166:
grantallonhive.*to'hive'@'localhost'identifiedby'hive2016'; grantallonhive.*to'hive'@'172.25.39.166'identifiedby'hive2016'; grantallonhive.*to'hive'@'172.25.40.171'identifiedby'hive2016'; |
进入hive数据库:
1)本机进入:mysql-uhive-phive2016
2)非本机进入:mysql-uhive-h172.25.39.166-phive2016
注意如果配置了MySQL主主同步或其它同步,则如果同步的库不包含mysql,则创建库和用户需要分别在不同的MySQL上操作一次。
5.安装步骤
5.1.下载Hive1.2.1二进制安装包
下载网址:http://hive.apache.org/downloads.html,下载后的包名为:apache-hive-1.2.1-bin.tar.gz,然后将apache-hive-1.2.1-bin.tar.gz上传到/data目录下。
5.2.安装Hive
1)切换到/data目录:cd/dat