大数据集群 ,hive的安装与配置

hive安装包下载

下载连接:下载连接: Index of /apache/hive(官网下载速度较慢,这里推荐使用国内镜像下载)

 这里我是用的是3.13版本

导入,解压安装包

(这里我使用mobaxterm,直接拖入对应文件夹下即可)

 解压

tar -zxvf  /opt/software/apache-hive-3.1.3-bin.tar.gz -C /usr/local/src

这里我解压到 /usr/local/src文件夹下,也可以自己选择

msyql配置 

如果mysql没有安装好,可以转到我的另一篇文章

linux系统下mysql安装配置步骤,修改mysql密码强度_酥悲清风的博客-CSDN博客

 配置mysql

mysql -u root -p #启动msyqlCREATE DATABASE hive; #在mysql创建hive数据库exit; #退出mysql

配置hive

hive环境变量

cd /etc/profile#添加hive环境变量,方便之后全局启动
export HIVE_HOME=/usr/local/src/hive
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH!wq #保存退出
source  /etc/profile #重启配置文件

下载,安装mysql驱动jar包

https://dev.mysql.com/downloads/connector/j/ (下载网址)

查看历史版本,选择自己mysql的版本,下载对应版本压缩包即可

 

 这里不用纠结具体的版本,只要知道自己的mysql是8.0还是5.1版本即可,下载第一个安装包

导入jar包

导入jar包到/hive/lib文件夹下

 修改配置文件

进入到/hive/conf/ 下

拷贝hive-env.sh.template ,并重命名为hive-env.sh

拷贝hive-default.xml.template,并重命名为hive-site.xml

cd  /usr/local/src/hive/conf (这里是我自己的hive安装路径)
cp  hive-default.xml.template  hive-site.xml
cp  hive-env.sh.template  hive-env.sh

或者直接在mobaxterm下载到本地中,重命名后再上传到虚拟机中

  因为配置文件比较大,所以使用mobaxterm直接搜索对应需要修改的配置文件

(搜索配置的name即可)

修改hive-site.xml

修改javax.jdo.option.ConnectionURL属性。
javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive?useSSL=false JDBC connect string for a JDBC metastore
#修改javax.jdo.option.ConnectionDriverName属性。
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverDriver class name for a JDBC metastore
#修改javax.jdo.option.ConnectionUserName属性。即数据库用户名
javax.jdo.option.ConnectionUserNamerootUsername to use against metastore database
#修改javax.jdo.option.ConnectionPassword属性。即数据库密码
javax.jdo.option.ConnectionPassword12345password to use against metastore database

修改hive-env.sh 

修改对应信息

修改${system:java.io.tmpdir}/${system},在/hive/conf/hive-site.xml文件中替换为/usr/local/src/hive/tmp

  hive.exec.local.scratchdir/usr/local/src/hive/tmpLocal scratch space for Hive jobshive.downloaded.resources.dir/usr/local/src/hive/tmp/resourcesTemporary local directory for added resources in the remote file system.hive.querylog.location/usr/local/src/hive/tmpLocation of Hive run time structured log filehive.server2.logging.operation.log.location/usr/local/src/hive/tmp/operation_logsTop level directory where operation logs are stored if logging functionality is enabled

初始化 hive 的元数据库

进入/hive/bin 中

./schematool -initSchema -dbType mysql 

#初始化msyql

ps:报错是正常现象,到文章结尾的报错集锦找一下,可以解决90%问题

启动hive

启动顺序

依次启动 hadoop  , mysql  , hive 

start-all.sh  #启动hadoopsystemctl start mysqld #启动mysql服务
service mysqld status #检查mysql服务是否启动hive  #启动hive

hive报错解决集锦

错误一 

这两个报错其实是一个问题,/hive/conf/hive-site.xml 文件中 3215行,96个字符有问题,删除& 即可

 错误二

这是一个正常的小问题,不用处理就好,没有任何影响,如果一定要处理,可以错误提示删除hive中对应jar文件 

 错误三

正常问题,hive的版本问题,这个也是无须处理的问题,没有任何影响,如果一定要更改,有2种办法,一种是重新安装,安装1.x版本hive,或者关闭hive的相关配置文件 

 错误四

Exception in thread "main" [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxParsingEception: Undeclared general entity "tmp"

hadoop和hive中文件冲突
hadoop/share/hadoop/common/lib/guava-xx.jar
hive/lib/guava-xx.jar
删除其中低版本文件,复制高版本到另一个中

错误五

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications lik failure

没有启动msyql   ,service mysqld status,查看mysql服务状态,是否有绿点

错误六

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown databas 'hive'

 mysql中没有对应数据仓库,创建即可

错误七

Error: Syntax error: Encountered "" at line 1, column 64. (state=42X01,code=30000)

 修改/hive/conf/hive-site.xml 文件,修改对应配置文件参数,改成false

  hive.metastore.schema.verificationfalse

错误八

hadoop和hive中的guava文件冲突,对比删除2个guava文件中的低版本,并复制高版本到另一个即可

将 hive/lib/guava-19.0-jre.jar删除 ,将hadoop/share/hadoop/commons/lib/guava-27.0-jre.jar 复制到hive的lib下


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部