大数据集群 ,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.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore
#修改javax.jdo.option.ConnectionUserName属性。即数据库用户名
javax.jdo.option.ConnectionUserName root Username to use against metastore database
#修改javax.jdo.option.ConnectionPassword属性。即数据库密码
javax.jdo.option.ConnectionPassword 12345 password 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/tmp Local scratch space for Hive jobs hive.downloaded.resources.dir /usr/local/src/hive/tmp/resources Temporary local directory for added resources in the remote file system. hive.querylog.location /usr/local/src/hive/tmp Location of Hive run time structured log file hive.server2.logging.operation.log.location /usr/local/src/hive/tmp/operation_logs Top 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.verification false
错误八
hadoop和hive中的guava文件冲突,对比删除2个guava文件中的低版本,并复制高版本到另一个即可
将 hive/lib/guava-19.0-jre.jar删除 ,将hadoop/share/hadoop/commons/lib/guava-27.0-jre.jar 复制到hive的lib下
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
