第2章-Hive环境搭建_第1页
第2章-Hive环境搭建_第2页
第2章-Hive环境搭建_第3页
第2章-Hive环境搭建_第4页
第2章-Hive环境搭建_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章Hive环境搭建本章主要介绍Hive运行环境的完整安装过程与详细配置方法,包括Hive安装及配置、MySQL安装及配置、Hive元数据配置、HiveJDBC连接及Hive常见属性配置等内容。这些内容是Hive正常运行的基础和保证。2.1Hive安装及配置章内分节 2.1.1Hive的安装模式2.1.2Hive安装及配置过程2.1.3Hive基本操作2.2MySQL安装及配置2.2.1MySQL安装包准备2.2.2MySQL服务器端安装

2.2.3MySQL客户端安装2.3Hive元数据配置2.3.1驱动复制2.3.2配置元数据到MySQL2.3.3多终端启动Hive2.4HiveJDBC连接2.4.1HiveServer2配置

2.4.2HiveServer2启动2.4.3Beeline启动2.4.4HiveServer2连接2.5Hive常见属性配置2.5.1Hive位置配置2.5.2信息显示配置2.5.3运行日志信息配置

2.5.4Hive参数配置方式2.1Hive安装及配置Hive是依赖于Hadoop集群的,因此在安装Hive之前,需要保证已经搭建好Hadoop集群环境。在这里假设Hadoop集群环境已经安装成功。2.1.1Hive的安装模式Hive有3种安装模式,分别对应不同的应用场景。元数据保存在内嵌的Derby数据库中,只允许一个会话连接。Hive嵌入模式有很大的局限性,只创建一个连接意味着同一时间只能有一个用户操作Hive数据仓库,所以嵌入模式用于演示。当尝试多个会话连接时会报错。嵌入模式使用关系型数据库(如MySQL)来存储元数据,是一种多用户的模式,支持多个用户的客户端连接同一个数据库。这里有一个前提条件,每个用户必须要有对MySQL数据库的访问权利,即每个客户端使用者需要具有登录MySQL数据库的用户名和密码。MySQL数据库与Hive运行在同一台物理机器上。一般本地模式用于开发和测试。本地模式与本地模式一样,远程模式也会将元数据存储在MySQL数据库中,区别是远程模式可以将元数据存储在另一台物理机器上,也可以将元数据存储在另一种操作系统上。这种模式需要Hive安装目录下提供的Beeline和HiveServer2配合使用,将元数据作为一个单独的服务进行启动。各个用户的客户端通过Beeline来连接,连接之前无须知道数据库的登录密码。远程模式一般用于生产环境中,允许多个连接是经常使用的模式。远程模式2.1.2Hive安装及配置过程本书Hive版本使用apache-hive-2.1.0-bin.tar.gz安装包,该安装包可以直接从Hive官网下载。下面来介绍Hive本地模式的安装及属性配置方法。(1)目录创建在/opt目录下创建datas、software目录,用于存放数据文件和安装软件:hadoop@SYNU:/opt$sudomkdirdatashadoop@SYNU:/opt$sudomkdirsoftware(2)目录权限修改修改datas、software目录的所有者为用户hadoop:hadoop@SYNU:/opt$sudochownhadoop:hadoopdatas/software/Hive安装准备Hive安装及配置(1)安装包导入把apache-hive-2.1.0-bin.tar.gz安装包导入Linux系统本地的/opt/software目录下。(2)解压将安装包apache-hive-2.1.0-bin.tar.gz解压到/usr/local/目录下:hadoop@SYNU:/opt/software$tar-zxvfapache-hive-2.1.0-bin.tar.gz-C/usr/local/(3)修改名称把apache-hive-2.1.0-bin的名称更改为hive:hadoop@SYNU:/usr/local/apache-hive-2.1.0-bin$mvapache-hive-2.1.0-bin/hiveHive安装及配置(4)查看Hive目录结构hadoop@SYNU:/usr/local/hive$ll总用量140drwxr-xr-x9hadoophadoop40961月1915:38./drwxr-xr-x20rootroot409611月52020../drwxr-xr-x3hadoophadoop409611月52020bin/drwxr-xr-x2hadoophadoop40961月2313:49conf/-rw-rw-r--1hadoophadoop01月1915:38derby.logdrwxr-xr-x4hadoophadoop409611月52020examples/drwxr-xr-x7hadoophadoop409611月52020hcatalog/drwxr-xr-x2hadoophadoop409611月52020jdbc/drwxr-xr-x4hadoophadoop122881月2016:04lib/-rw-r--r--1hadoophadoop290036月32020LICENSE-rw-r--r--1hadoophadoop5136月32020NOTICE-rw-r--r--1hadoophadoop41226月32020README.txt-rw-r--r--1hadoophadoop502946月172020RELEASE_NOTES.txtdrwxr-xr-x4hadoophadoop409611月52020scripts/Hive安装及配置(5)重要目录①bin目录:存放Hive相关服务执行操作的脚本。②conf目录:Hive的配置文件目录,存放Hive的配置文件。③lib目录:存放Hive的各种依赖JAR包。④example目录:存放Hive的文档和官方案例。(6)配置环境变量sudovi/etc/profileexportHIVE_HOME=/usr/local/hiveexportPATH=$PATH:$HIVE_HOME/binsource/etc/profileHive安装及配置(7)修改配置文件名称把/usr/local/hive/conf目录下的hive-env.sh.template名称更改为hive-env.sh:hadoop@SYNU:/usr/local/hive/conf$mvhive-env.sh.templatehive-env.sh(8)配置hive-env.sh文件①配置HADOOP_HOME路径:exportHADOOP_HOME=/usr/local/hadoop②配置HIVE_CONF_DIR路径:exportHIVE_CONF_DIR=/usr/local/hive/conf

Hadoop集群目录创建(1)启动HDFS和YARNhadoop@SYNU:/usr/local/hadoop$sbin/start-dfs.shhadoop@SYNU:/usr/local/hadoop$sbin/start-yarn.sh(2)创建目录在HDFS上创建/tmp和/user/hive/warehouse两个目录:hadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-mkdir/tmphadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-mkdir-p/user/hive/warehouse(3)修改同组权限为可执行权限hadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-chmodg+w/tmphadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-chmodg+w/user/hive/warehouse2.1.3Hive基本操作(1)启动Hivehadoop@SYNU:/usr/local/hive$bin/hive(2)查看数据仓库hive>showdatabases;(3)切换到默认(default)数据仓库hive>usedefault;(4)显示default数据仓库中的表hive>showtables;(5)在default数据仓库中创建一个表hive>createtabletest(idint,namestring);Hive基本操作(6)显示数据仓库中的表hive>showtables;(7)查看表的结构hive>desctest;(8)向表中插入数据hive>insertintotestvalues(100,"Doug");(9)查询表中的数据hive>select*fromtest;(10)退出Hivehive>quit;2.2MySQL安装及配置Hive元数据默认存储在自带的Derby数据库中。Derby数据库只支持单用户模式,不能并发调用Hive。而MySQL数据库存储元数据支持多用户模式,可以并发调用Hive,因此还需要安装MySQL。2.2.1MySQL安装包准备MySQL安装包为mysql-libs.zip压缩文件。(1)查看MySQL是否安装,如果安装了,则卸载MySQL root@SYNU桌面#rpm-qa|grep–imysqlmysql-libs-5.1.73-7.el6.x86_64 (2)解压安装包文件到software目录下root@SYNU:/opt/software#unzipmysql-libs.ziproot@SYNU:/opt/software#lsmysql-libs.zipmysql-libsMySQL安装包准备(3)进入mysql-libs目录查看目录结构root@SYNU:/opt/software/mysql-libs#ll总用量76048-rw-r--r--.1rootroot185099603月262015MySQL-client-5.6.24-1.el6.x86_64.rpm-rw-r--r--.1rootroot357513512月12013mysql-connector-java-5.1.27.tar.gz-rw-r--r--.1rootroot557821963月262015MySQL-server-5.6.24-1.el6.x86_64.rpm2.2.2MySQL服务器端安装(1)安装MySQL服务器端root@SYNU:/opt/software/mysql-libs#rpm–ivhMySQL-server-5.6.24-1.el6.x86_64.rpm(2)查看产生的随机密码root@SYNU:/opt/software/mysql-libs#cat/root/.mysql_secretOEXaQuS8IWkG19Xs(3)查看MySQL状态root@SYNU:/opt/software/mysql-libs#servicemysqlstatus(4)启动MySQLroot@SYNU:/opt/software/mysql-libs#servicemysqlstart2.2.3MySQL客户端安装(1)安装MySQL客户端root@SYNU:/opt/software/mysql-libs#rpm-ivhMySQL-client-5.6.24-1.el6.x86_64.rpm(2)连接登录MySQLroot@SYNU:/opt/software/mysql-libs#mysql-uroot-pOEXaQuS8IWkG19Xs(3)修改密码mysql>SETPASSWORD=PASSWORD('000000');(4)退出MySQLmysql>exit;2.3.1驱动复制(1)解压mysql-connector-java-5.1.27.tar.gz驱动包root@SYNU:/opt/software/mysql-libs#tar-zxvfmysql-connector-java-5.1.27.tar.gz(2)将解压的JAR包复制到/usr/local/hive/lib/目录下root@SYNUmysql-connector-java-5.1.27#cpmysql-connector-java-5.1.27-bin.jar/usr/local/hive/lib/2.3.2配置元数据到MySQL(1)在/usr/local/hive/conf目录下创建一个hive-site.xml文件hadoop@SYNU:/usr/local/hive/conf$touchhive-site.xmlhadoop@SYNU:/usr/local/hive/conf$vihive-site.xml(2)将官方文档配置参数复制到hive-site.xml文件中<?xmlversion="1.0"?><?xml-stylesheettype="text/xsl"href="configuration.xsl"?><configuration> <property> <name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBCconnectstringforaJDBCmetastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value>2.3.2配置元数据到MySQL

<description>DriverclassnameforaJDBCmetastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>usernametouseagainstmetastoredatabase</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>passwordtouseagainstmetastoredatabase</description> </property></configuration>在该配置文件中,创建了名字为metastore的数据库用于存储元数据信息,并设置了登录MySQL数据库的用户名和密码,分别都是hive。配置完毕后,Hive就可以正常启动。如果启动Hive异常,可以重新启动虚拟机,并启动Hadoop集群。2.3.3多终端启动Hive(1)启动MySQLhadoop@SYNU:/opt/software/mysql-libs$mysql-uhive-phive查看有几个数据库:mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mysql||performance_schema||test|+--------------------+(2)打开多个终端,分别启动Hivehadoop@SYNU:/usr/local/hive$bin/hive多终端启动Hive(3)启动Hive后,回到MySQL窗口查看数据库,显示增加了metastore数据库mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||metastore||mysql||performance_schema||test|+--------------------+2.4HiveJDBC连接Hive是大数据技术中数据仓库应用的基础组件,是其他类似数据仓库应用的对比基准。基础的数据操作可以通过脚本方式由Hive客户端进行处理。若要开发应用程序,则需要使用Hive的JDBC驱动进行连接。Hive内置了HiveServer和HiveServer2服务器,两者都允许客户端使用多种编程语言进行连接,但是HiveServer不能处理多个客户端的并发请求,所以产生了HiveServer2。HiveServer2允许远程客户端使用各种编程语言向Hive提交请求并检索结果,支持多客户端并发访问和身份验证。HiveServer2拥有自己的CLI(Beeline)。Beeline是一个基于SQLLine的JDBC客户端。由于HiveServer2是Hive开发维护的重点,所以推荐使用Beeline。2.4.1HiveServer2配置切换到/usr/local/hive/conf目录下,修改hive-site.xml文件,写入以下配置信息:hadoop@SYNU:/usr/local/hive/conf$vimhive-site.xml <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>localhost</value> </property>该配置信息配置了HiveServer2的端口号和主机名。2.4.2HiveServer2启动经过以上配置后,就可以在Beeline中连接Hive了。进入Hive的安装目录启动HiveServer2,执行以下两个命令都可以启动HiveServer2服务:hadoop@SYNU:/usr/local/hive$bin/hive--servicehiveserver2hadoop@SYNU:/usr/local/hive$bin/hiveserver22.4.3Beeline启动hadoop@SYNU:/usr/local/hive$bin/beelineBeelineversion2.1.0byApacheHivebeeline>2.4.4HiveServer2连接在Beeline中连接HiveServer2,输入如下命令:beeline>!connectjdbc:hive2://localhost:10000Connectingtojdbc:hive2://localhost:10000Enterusernameforjdbc:hive2://localhost:10000:hiveEnterpasswordforjdbc:hive2://localhost:10000:****Connectedto:ApacheHive(version2.1.0)Driver:HiveJDBC(version2.1.0)Transactionisolation:TRANSACTION_REPEATABLE_READ0:jdbc:hive2://localhost:10000>showdatabases;+----------------+--+|database_name|+----------------+--+|default|+----------------+--+此处输入的用户名及密码是在配置文件hive-site.xml中设置的用户名和密码。2.5.1Hive位置配置①Hive数据仓库的默认存储位置是在HDFS的/user/hive/warehouse目录下。②在HDFS的/user/hive/warehouse目录下,没有为默认(default)数据仓库创建目录。如果某个表属于default数据仓库,直接在该目录下新创建一个目录。③修改default数据仓库存储位置,将hive-default.xml.template中如下配置信息复制到hive-site.xml文件中:<property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value><description>locationofdefaultdatabaseforthewarehouse</description></property>2.5.2信息显示配置①在hive-site.xml文件中添加如下配置信息,可以显示查询表的头部信息及当前数据仓库:<property> <name>hive.cli.print.header</name> <value>true</value></property><property> <name>hive.cli.print.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论