第10课-Hive安装部署实验
hive环境搭建

hive环境搭建注:本次搭建是基于已经搭建好的hadoop3集群搭建的,故对于hadoop3搭建不做介绍,且本次搭建是以本地模式为例特别关注:由于hadoop3xy不兼容hive2xy,如使⽤hive安装会出现各种问题,故使⽤hive3作为本次环境搭建1.安装mysql1.1安装mysql数据库yum install -y mysql-server1.2对字符集进⾏设置:进⼊/etc/f⽂件中,加⼊default-character-set=utf8,代码如下:1.3启动mysql服务,代码如下:service mysqld start #启动mysql服务service mysqld status #查看mysql是否启动systemctl enable mysqld #设置myql开机启动1systemctl daemon-reload #设置myql开机启动21.4设置myql的root密码mysql -uroot -p ,第⼀次进⼊时,默认密码为空,输⼊密码时直接回车可直接进⼊set password for 'root'@'localhost' = password('123456'); 设置密码为1234561.5新建root1⽤户,并且赋予两个⽤户远程登陆权限;create user 'root1'@'%' identified by '123456'; #如果使⽤root作为连接⽤户此步可以省略,本次安装使⽤root⽤户作为连接⽤户grant all on *.* to'root1'@'%'; #如果使⽤root作为连接⽤户此步可以省略,本次安装使⽤root⽤户作为连接⽤户grant all on *.* to'root'@'%';2.1配置hive-env.sh ,进⼊conf⽬录,cp hive-env.sh.template hive-env.sh ,打开 hive-env.sh⽂件:export HADOOP_HOME=/app/hadoop-3.2.1export HIVE_CONF_DIR=/app/hive-3.1.2/conf2.2配置hive-site.xml,进⼊conf⽬录,cp hive-default.xml.template hive-site.xml,打开hive-env.sh⽂件,对于如下内容有则修改,⽆则新增:<property><name>system:java.io.tmpdir</name><value>/user/hive/warehouse</value></property><property><name>system:</name><value>${}</value></property><property><name>hive.metastore.db.type</name><value>mysql</value></property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>user name for connecting to mysql server</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value><description>password for connecting to mysql server</description></property>2.3创建⽬录:hadoop fs -mkdir -p /tmphadoop fs -mkdir -p /user/hive/warehousehadoop fs -chmod g+w /tmphadoop fs -chmod g+w /user/hive/warehouse2.4替换低版本的guava.jar⽂件,否则初始化时会报错:错误⼀:Exception in thread "main" ng.NoSuchMethodError: mon.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V原因:hadoop和hive的两个guava.jar版本不⼀致两个位置分别位于下⾯两个⽬录: - /usr/local/hive/lib/ - /usr/local/hadoop/share/hadoop/common/lib/解决办法:除低版本的那个,将⾼版本的复制到低版本⽬录下2.5删除hive-site.xml中的特殊字符,否则初始化时会报如下错误:错误⼆:Exception in thread "main" ng.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8at [row,col,system-id]: [3224,96,"file:/app/hive-3.1.2/conf/hive-site.xml"]原因: hive-site.xml配置⽂件中,3224⾏有特殊字符解决办法:进⼊hive-site.xml⽂件,跳转到对应⾏,删除⾥⾯的特殊字符即可2.6上次jdbc驱动⾄hive/lib⽬录下,否则会报如下错误:错误三:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driverUnderlying cause: ng.ClassNotFoundException : com.mysql.jdbc.Driver原因:缺少jdbc驱动解决办法:上传jdbc( mysql-connector-java-5.1.36-bin.jar )驱动到 hive的lib下2.7初始化hiveschematool -dbType mysql -initSchema2.8启动 metastore服务(不启⽤会报:HiveException ng.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient。
Hive安装配置详细

Hive安装配置详细定义Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据。
Hive可以将结构化的数据存储在数据仓库中,通过自己的SQL去查询分析需要的内容,这套SQL简称Hive SQL。
它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML 以及常见的聚合函数、连接查询、条件查询。
Hive在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce 任务提交给Hadoop集群处理,获取最终的结果。
以上定义来源于《Hadoop开发者入门专刊》Hive安装我将延用《Hadoop安装》文档(/blog/706699)风格撰写下文。
Hive需要Hadoop的支持,也就是说在安装Hive之前需要正确安装Hadoop,这里不再阐述Hadoop 的安装过程。
一般我们会将Hive安装到NameNode所在主机上,这里假设使用root用户进行安装,Hive 的安装过程很简单:以上就是在Linux(cent os 5.X)上安装Hive的过程,下面就到了配置的环节。
Hive配置Hive的必要配置相当简单,只需要声明$HADOOP_HOME(请查阅《Hadoop安装》文档)这个环境变量就行了。
Hive的核心配置文件$HIVE_HOME/conf/hive-default.xml中有一些对Hive关键配置,一般我们不需要对其进行改动,如果你需要更改这个关键配置,请不要直接更改hive-default.xml这个文件,在同一目录下新建hive-site.xml文件,然后将需要更改的属性配置在这里面即可,配置格式与hive-default.xml一样。
另外,在Hive官方文档中重点提到了Hive的日志配置$HIVE_HOME/conf/hive-log4j.properties,虽然不是必要更改的配置文件,但合理的设置会对我们有一定的帮助,具体配置方法可见官方文档。
hive安装部署

hive安装部署解压hive压缩包apache-hive-2.1.0-bin.tar.gz(官网下载)配置HADOOP_HOME环境变量配置HIVE_HOME环境变量在$HIVE_HOME/conf下创建hive-site.xml,并输入增加以下配置:<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="configuration.xsl" ?><configuration><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.exec.scratchdir</name><value>/tmp/hive</value></property><property><name>hive.server2.logging.operation.log.location</name><value>/tmp/hive/operation_logs</value><description>Top level directory where operation logs are stored if logging functionality is enabled</description></property><property><name>hive.exec.local.scratchdir</name><value>/tmp/hive</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/tmp/hive/resources</value><description>Temporary local directory for added resources in the remote file system.</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.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>bigdata</value><description>password to use against metastore database</description></property><property><name>hive.server2.thrift.bind.host</name><value>0.0.0.0</value><description>Bind host on which to run the HiveServer2 Thrift interface.Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description></property><property><name>hive.server2.thrift.port</name><value>10000</value><description>Port number of HiveServer2 Thrift interface.Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description></property><property><name>hive.server2.enable.doAs</name><value>false</value><description>Set true to use user who login hiveserver2 for executing hadoop job.Otherwise, use the user who run hiveserver2.</description></property></configuration>安装mysql,创建指定主机能访问的用于hive的的用户及密码,并授予所有权限,如果javax.jdo.option.ConnectionURL属性没有加createDatabaseIfNotExist=true,那么需要手动创建用于hive的数据库拷贝mysql驱动JAR包到$HIVE_HOME/lib目录下:cp mysql-connector-java-5.1.39-bin.jar $HIVE_HOME/lib/执行schematool -initSchema -dbType mysql下载hive-jdbc-2.1.0-standalone.jar并放入$HIVE_HOME/lib下。
HIVE安装使用说明

HIVE安装使用说明一、Hive简介1.1.H ive是什么Hadoop作为分布式运算的基础架构设施,统计分析需要采用MapReduce编写程序后,放到Hadoop集群中进行统计分析计算,使用起来较为不便,Hive产品采用类似SQL的语句快速实现简单的MapReduce统计,很大程度降低了Hadoop的学习使用成本。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供基础的SQL查询功能,可以将SQL 语句转换为MapReduce任务运行,而不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
1.2.部署架构Hive中的Driver为核心驱动部分,包括SQL语句的解释、编译为MapReduce任务,并进行优化、执行。
Hive用户访问包括4种运行和访问方式,一是CLI客户端;二是HiveServer2和Beeline方式;三是HCatalog/WebHCat方式;四是HWI 方式。
其中CLI、Beeline均为控制台命令行操作模式,区别在于CLI只能操作本地Hive服务,而Beeline可以通过JDBC连接远程服务。
HiveServer2为采用Thrift提供的远程调用接口,并提供标准的JDBC 连接访问方式。
HCatalog是Hadoop的元数据和数据表的管理系统,WebHCat则提供一条Restful的HCatalog远程访问接口,HCatalog的使用目前资料很少,尚未充分了解。
HWI是Hive Web Interface的简称,可以理解为CLI的WEB访问方式,因当前安装介质中未找到HWI对应的WAR文件,未能进行使用学习。
Hive在运行过程中,还需要提供MetaStore提供对元数据(包括表结构、表与数据文件的关系等)的保存,Hive提供三种形式的MetaStore:一是内嵌Derby方式,该方式一般用演示环境的搭建;二是采用第三方数据库进行保存,例如常用的MySQL等;三是远程接口方式,及由Hive自身提供远程服务,供其他Hive应用使用。
Hive编程环境的设置与配置

Hive编程环境的设置与配置Hive是一个基于Hadoop的数据仓库工具,它提供了类SQL语言的查询和分析功能,可用于处理大规模的结构化和半结构化数据。
为了开始使用Hive,我们需要先进行编程环境的设置与配置。
本文将引导您完成Hive编程环境的安装、配置和基本使用。
1. 安装Hive首先,我们需要在计算机上安装Hive。
Hive可以使用Apache官方提供的二进制文件进行安装,同时也可以通过包管理工具进行安装,例如使用apt-get命令在Ubuntu上安装。
确保安装的Hive版本与Hadoop集群中的版本兼容。
2. 配置Hadoop由于Hive是基于Hadoop的,我们需要先配置Hadoop的环境变量。
编辑hadoop-env.sh文件并将Hadoop的安装路径添加到HADOOP_HOME变量中。
确保Hadoop的配置文件hadoop-site.xml也已正确配置。
3. 配置Hive接下来,我们需要对Hive进行一些配置。
在Hive的安装目录中,有一个名为hive-default.xml的样例配置文件。
我们可以将其复制为hive-site.xml,然后在该文件中进行相关配置。
首先,我们需要配置Hive的元数据库(metastore)。
元数据库用于存储Hive 的元数据,包括表结构、分区和分隔符等信息。
您可以选择使用内置的Derby数据库或外部的MySQL数据库作为元数据库。
如需使用MySQL,您需要先安装MySQL并创建一个新的数据库。
在hive-site.xml文件中,找到名为javax.jdo.option.ConnectionURL的属性,并将其值设置为MySQL数据库的连接字符串。
同时,修改javax.jdo.option.ConnectionDriverName属性为com.mysql.jdbc.Driver,javax.jdo.option.ConnectionUserName属性为登录MySQL所使用的用户名,javax.jdo.option.ConnectionPassword属性为该用户名对应的密码。
第10课-Hive安装部署实验

Hive安装部署实验【实验名称】Hive 安装部署实验【实验目的】1.理解Hive存在的原因;2.理解Hive的工作原理;3.理解Hive的体系架构;4.学会如何进行内嵌模式部署;5.启动Hive,然后将元数据存储在HDFS上【实验要求】1.完成Hive的内嵌模式部署;2.完成mysql安装;3.能够将Hive数据存储在HDFS上;4.Hive环境搭建好后,能够启动并执行一般命令【实验环境】在第2课hadoop集群的基础上在hadoop1主节点上安装部署Hive【实验步骤】注:安装所需要的软件都在/opt/hadoop-package目录下安装前需要先安装hadoop 和mysql 参考之前对应的安装文档1.安装Mysql1.1首先进入软件包目录[root@hadoop1 ~]# cd /opt/hadoop-package/1.2解压缩mysql到/usr/local目录[root@hadoop1 haoodp-install]# tar -zxvfmysql-5.6.40-linux-glibc2.12-x86_64.tar.gz -C /usr/local/1.3进入到/usr/local目录并重命名[root@hadoop1 haoodp-install]# cd /usr/local/[root@hadoop1 local]# mv mysql-5.6.40-linux-glibc2.12-x86_64 mysql1.4添加组用户[root@hadoop1 local]# groupadd mysql添加用户mysql 到用户组mysql[root@hadoop1 local]# useradd -g mysql mysql1.5安装mysql1.5.1进入到安装包目录[root@hadoop1 local]# cd /usr/local/mysql1.5.2创建data目录下mysql文件夹[root@hadoop1 mysql]# mkdir ./data/mysql1.5.3授权并执行脚本[root@hadoop1 mysql]# chown -R mysql:mysql ././scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql 1.5.4复制mysql服务文件到/etc/init.d目录下并重命名[root@hadoop1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld1.5.5修改服务文件权限[root@hadoop1 mysql]# chmod 777 /etc/init.d/mysqld1.5.6复制mysql的配置文件并重命名[root@hadoop1 mysql]# cp support-files/f /etc/f 1.5.7修改mysql启动脚本[root@hadoop1 mysql]# vi /etc/init.d/mysqld修改下面内容basedir=/usr/local/mysql/datadir=/usr/local/mysql/data/mysql修改后如下:1.5.8配置环境变量加入mysql的安装路径[root@hadoop1 conf]# vi /etc/profile在文件的最底部加入下面内容export PATH=$PATH:/usr/local/mysql/bin修改后如下:退出后执行source /etc/profile命令更新环境变量[root@hadoop1 conf]# source /etc/profile1.5.10给mysql添加远程登录[root@hadoop1 mysql]# vi /etc/f在[mysqld]下面加skip-name-resolve修改后如下:1.5.11初始化mysql[root@hadoop1 mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql1.5.12启动mysql服务[root@hadoop1 mysql]# service mysqld start 查看mysql服务状态[root@hadoop1 ~]# service mysqld status1.5.13登录mysql[root@hadoop1 ~]# mysql -u root -p第一次登录不需要密码,直接回车1.5.14设置本机mysql用户名和密码mysql> use mysql;mysql> update user set password =password('root') where user ='root';1.5.15添加远程登录用户mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES;1.5.14创建hive数据库,来存储hive元数据信息mysql>create database hive;可以直接Ctrl+c 退出mysql2.安装Hive2.1首先进入软件包目录[root@hadoop ~]# cd /opt/hadoop-package/2.2解压安装压缩包将hive安装包(apache-hive-2.3.3-bin.tar.gz)解压缩到/opt 目录下[root@hadoop hadoop-package]# t ar -zxvf apache-hive-2.3.3-bin.tar.gz -C /opt2.3进入到/opt目录[root@hadoop ~]# cd /opt2.4将解压的安装包重命名[root@hadoop opt]# mv apache-hive-2.3.3-bin hive2.5配置环境变量加入hive的安装路径[root@hadoop conf]# vi /etc/profile在文件的最底部加入下面内容export HIVE_HOME=/opt/hiveexport PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH配置如图:退出后执行source /etc/profile命令更新环境变量[root@hadoop conf]# source /etc/profile2.6.配置hive2.6.1 进入到hive的配置文件目录[root@hadoop opt]# cd /opt/hive/conf/2.6.2 复制hive-env.sh.template 一份并重命名为hive-env.sh [root@hadoop conf]# cp hive-env.sh.template hive-env.sh修改hive-env.sh,设置加入HADOOP_HOME=/opt/hadoop-3.1.0 [root@hadoop conf]# vi hive-env.sh修改后如下:2.6.3 新建hive-site.xml[root@hadoop conf]# vi hive-site.xml需要在hive-site.xml 文件中配置MySQL 数据库连接信息复制下面内容到新建文件中<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=tru e&characterEncoding=UTF-8&useSSL=false</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property></configuration>配置如下:2.6.4 配置mysql的驱动将mysql驱动放到hive安装路径的lib目录下[root@hadoop1 conf]# cp /opt/hadoop-package/mysql-connector-java-5.1.32.jar /opt/hive/lib/2.6.5 hive在启动前到进行元数据初始化[root@hadoop1 conf]# schematool -dbType mysql -initSchema看到schemaTool completed 则初始化完成检测hive 是否成功直接在命令行输入hive即可hive (需要hadoop安装并启动)启动成功如下:至此,本节实验结束!。
Hive安装

1.将Hive安装包上传到/opt目录下2.将/opt目录下的安装包解压到/usr/local目录下,解压命令如下3.进入到Hive安装包的conf目录下,执行以下命令在文件hive-env.sh末尾添加Hadoop安装包的路径,添加内容如下所示.4.登录MySQL,创建hive数据库1)若还没有安装MySQL,则需要先安装MySQL,执行以下命令。
a)搜索mysql安装包,找到mysql-server.x86_64b)安装mysql-server.x86_64c)开启远程权限i.启动mysql服务ii.启动mysql:直接在终端输入“mysql”iii.执行以下命令:delete from user where 1=1;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'WITH GRANT OPTION;FLUSH PRIVILEGES;2)若已安装MySQL,则进入到mysql命令行,创建hive数据库(数据库名称为hive)。
Create database hive;创建完成后推出mysqlExit5.将hive-site.xml文件上传到Hive安装包的conf目录下。
6.上传mysql驱动mysql-connector-java-5.1.25-bin.jar到Hive安装包lib目录。
7.在终端执行以下命令mv/usr/local/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar/usr/local/hadoop-2.6.4/ share/hadoop/yarn/lib/jline-0.9.94.jar.bakcp /usr/local/apache-hive-1.2.1-bin/lib/ /jline-2.12.jar/usr/local/hadoop-2.6.4/share/hadoop/yarn/lib/8.启动hive,执行以下命令。
Hive的三种安装方式(内嵌模式,本地模式远程模式)

Hive的三种安装⽅式(内嵌模式,本地模式远程模式)⼀、安装模式介绍:Hive官⽹上介绍了Hive的3种安装⽅式,分别对应不同的应⽤场景。
1、内嵌模式(元数据保村在内嵌的derby种,允许⼀个会话链接,尝试多个会话链接时会报错)2、本地模式(本地安装mysql 替代derby存储元数据)3、远程模式(远程安装mysql 替代derby存储元数据)⼆、安装环境以及前提说明:⾸先,Hive是依赖于hadoop系统的,因此在运⾏Hive之前需要保证已经搭建好hadoop集群环境。
本⽂中使⽤的hadoop版本为2.5.1,Hive版本为1.2.1版。
OS:Linux Centos 6.5 64位jdk:java version "1.7.0_79"假设已经下载了Hive的安装包,且安装到了/home/install/hive-1.2.1在~/.bash_profile中设定HIVE_HOME环境变量:export HIVE_HOME=/home/install/hive-1.2.1三、内嵌模式安装:这种安装模式的元数据是内嵌在Derby数据库中的,只能允许⼀个会话连接,数据会存放到HDFS上。
1、切换到HIVE_HOME/conf⽬录下,执⾏下⾯的命令:cp hive-env.sh.template hive-env.shvim hive-env.sh在hive-env.sh中添加以下内容:HADOOP_HOME=/home/install/hadoop-2.5.12、启动hive,由于已经将HIVE_HOME加⼊到了环境变量中,所以这⾥直接在命令⾏敲hive即可:然后我们看到在hadoop的HDFS上已经创建了对应的⽬录。
注意,只要上⾯2步即可完成内嵌模式的安装和启动,不要画蛇添⾜。
⽐如下⾯================================【下⾯这段就不要看了】==============================================(作废)2、提供⼀个hive的基础配置⽂件,执⾏如下代码,就是将conf⽬录下⾃带的⽂件修改为配置⽂件:cp hive-default.xml.template hive-site.xml(作废)3、启动hive,由于已经将HIVE_HOME加⼊到了环境变量中,所以这⾥直接在命令⾏敲hive即可:(作废)结果报错了,看错误⽇志中提到system:java.io.tmpdir,这个配置项在hive-site.xml中有提到。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hive安装部署实验【实验名称】Hive 安装部署实验【实验目的】1.理解Hive存在的原因;2.理解Hive的工作原理;3.理解Hive的体系架构;4.学会如何进行内嵌模式部署;5.启动Hive,然后将元数据存储在HDFS上【实验要求】1.完成Hive的内嵌模式部署;2.完成mysql安装;3.能够将Hive数据存储在HDFS上;4.Hive环境搭建好后,能够启动并执行一般命令【实验环境】在第2课hadoop集群的基础上在hadoop1主节点上安装部署Hive【实验步骤】注:安装所需要的软件都在/opt/hadoop-package目录下安装前需要先安装hadoop 和mysql 参考之前对应的安装文档1.安装Mysql1.1首先进入软件包目录[root@hadoop1 ~]# cd /opt/hadoop-package/1.2解压缩mysql到/usr/local目录[root@hadoop1 haoodp-install]# tar -zxvfmysql-5.6.40-linux-glibc2.12-x86_64.tar.gz -C /usr/local/1.3进入到/usr/local目录并重命名[root@hadoop1 haoodp-install]# cd /usr/local/[root@hadoop1 local]# mv mysql-5.6.40-linux-glibc2.12-x86_64 mysql1.4添加组用户[root@hadoop1 local]# groupadd mysql添加用户mysql 到用户组mysql[root@hadoop1 local]# useradd -g mysql mysql1.5安装mysql1.5.1进入到安装包目录[root@hadoop1 local]# cd /usr/local/mysql1.5.2创建data目录下mysql文件夹[root@hadoop1 mysql]# mkdir ./data/mysql1.5.3授权并执行脚本[root@hadoop1 mysql]# chown -R mysql:mysql ././scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql 1.5.4复制mysql服务文件到/etc/init.d目录下并重命名[root@hadoop1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld1.5.5修改服务文件权限[root@hadoop1 mysql]# chmod 777 /etc/init.d/mysqld1.5.6复制mysql的配置文件并重命名[root@hadoop1 mysql]# cp support-files/f /etc/f 1.5.7修改mysql启动脚本[root@hadoop1 mysql]# vi /etc/init.d/mysqld修改下面内容basedir=/usr/local/mysql/datadir=/usr/local/mysql/data/mysql修改后如下:1.5.8配置环境变量加入mysql的安装路径[root@hadoop1 conf]# vi /etc/profile在文件的最底部加入下面内容export PATH=$PATH:/usr/local/mysql/bin修改后如下:退出后执行source /etc/profile命令更新环境变量[root@hadoop1 conf]# source /etc/profile1.5.10给mysql添加远程登录[root@hadoop1 mysql]# vi /etc/f在[mysqld]下面加skip-name-resolve修改后如下:1.5.11初始化mysql[root@hadoop1 mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql1.5.12启动mysql服务[root@hadoop1 mysql]# service mysqld start 查看mysql服务状态[root@hadoop1 ~]# service mysqld status1.5.13登录mysql[root@hadoop1 ~]# mysql -u root -p第一次登录不需要密码,直接回车1.5.14设置本机mysql用户名和密码mysql> use mysql;mysql> update user set password =password('root') where user ='root';1.5.15添加远程登录用户mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES;1.5.14创建hive数据库,来存储hive元数据信息mysql>create database hive;可以直接Ctrl+c 退出mysql2.安装Hive2.1首先进入软件包目录[root@hadoop ~]# cd /opt/hadoop-package/2.2解压安装压缩包将hive安装包(apache-hive-2.3.3-bin.tar.gz)解压缩到/opt 目录下[root@hadoop hadoop-package]# t ar -zxvf apache-hive-2.3.3-bin.tar.gz -C /opt2.3进入到/opt目录[root@hadoop ~]# cd /opt2.4将解压的安装包重命名[root@hadoop opt]# mv apache-hive-2.3.3-bin hive2.5配置环境变量加入hive的安装路径[root@hadoop conf]# vi /etc/profile在文件的最底部加入下面内容export HIVE_HOME=/opt/hiveexport PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH配置如图:退出后执行source /etc/profile命令更新环境变量[root@hadoop conf]# source /etc/profile2.6.配置hive2.6.1 进入到hive的配置文件目录[root@hadoop opt]# cd /opt/hive/conf/2.6.2 复制hive-env.sh.template 一份并重命名为hive-env.sh [root@hadoop conf]# cp hive-env.sh.template hive-env.sh修改hive-env.sh,设置加入HADOOP_HOME=/opt/hadoop-3.1.0 [root@hadoop conf]# vi hive-env.sh修改后如下:2.6.3 新建hive-site.xml[root@hadoop conf]# vi hive-site.xml需要在hive-site.xml 文件中配置MySQL 数据库连接信息复制下面内容到新建文件中<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=tru e&characterEncoding=UTF-8&useSSL=false</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property></configuration>配置如下:2.6.4 配置mysql的驱动将mysql驱动放到hive安装路径的lib目录下[root@hadoop1 conf]# cp /opt/hadoop-package/mysql-connector-java-5.1.32.jar /opt/hive/lib/2.6.5 hive在启动前到进行元数据初始化[root@hadoop1 conf]# schematool -dbType mysql -initSchema看到schemaTool completed 则初始化完成检测hive 是否成功直接在命令行输入hive即可hive (需要hadoop安装并启动)启动成功如下:至此,本节实验结束!。