前置依赖部署
Linux环境下Hadoop3.4.0(最新版本)集群部署-CSDN博客
Linux环境下部署MySQL8数据库-CSDN博客
官方地点:Apache Hive
庞大变化:Hive4.0.0中,HiveCLI已经被弃用了,代替它的是Beeline。所以,启动Hive4.0.0时,会默认进入Beeline命令行界面,而不是HiveCLI
1、下载安装包:apache-hive-4.0.0-bin.tar.gz
下载路径:Index of /hive/hive-4.0.0
2、解压软件
将apache-hive-4.0.0-bin.tar.gz上传至linux体系/usr/local/soft/路径下
- cd /usr/local/soft/
- tar -zxvf apache-hive-4.0.0-bin.tar.gz
复制代码 3、修改体系环境变量
添加内容:
- export HIVE_HOME=/usr/local/soft/apache-hive-4.0.0-bin
- export PATH=$PATH:$HADOOP_HOME/sbin:$HIVE_HOME/bin
复制代码 保存:
4、修改hive环境变量
- cd /usr/local/soft/apache-hive-4.0.0-bin/bin/
复制代码 编辑hive-config.sh文件
新增内容:
- export JAVA_HOME=/usr/local/soft/jdk1.8.0_381
- export HIVE_HOME=/usr/local/soft/apache-hive-4.0.0-bin
- export HADOOP_HOME=/usr/local/soft/hadoop-3.4.0
- export HIVE_CONF_DIR=/usr/local/soft/apache-hive-4.0.0-bin/conf
复制代码
5、拷贝hive配置文件
- cd /usr/local/soft/apache-hive-4.0.0-bin/conf/
- cp hive-default.xml.template hive-site.xml
复制代码 6、修改Hive配置文件,找到对应的位置进行修改
可以直接全部替换
7、上传mysql驱动包到/usr/local/soft/apache-hive-4.0.0-bin/lib/文件夹下
驱动包:mysql-connector-java-8.0.15.zip,解压后从里面获取jar包
8、确保 mysql数据库中有名称为hive的数据库,字符集须设置latin1,否则的话hive表删除会卡死
9、初始化初始化元数据库
- schematool -dbType mysql -initSchema
复制代码 10、确保Hadoop启动
node11上实行以下命令
11、启动服务
庞大变化:Hive4.0.0中,HiveCLI已经被弃用了,代替它的是Beeline。所以,启动Hive4.0.0时,会默认进入Beeline命令行界面,而不是HiveCLI
利用Beeline命令行连接Hive服务之前,需要确保以下服务已经启动和配置:
服务
| 阐明
| 实行命令
| Hadoop
| Hive需要依赖Hadoop服务来运行,因此需要确保Hadoop服务已经启动,而且配置文件中的相关参数正确。
| start-all.sh
| Hive Metastore
| Hive Metastore是Hive的元数据存储服务,需要确保Metastore服务已经启动,而且在Beeline的配置文件中正确配置了Metastore的地点。
| hive --service metastore
| HiveServer2
| HiveServer2是Hive的查询服务,需要确保HiveServer2服务已经启动,而且在Beeline的配置文件中正确配置了HiveServer2的地点。
| hive --service hiveserver2
| 启动元数据服务
或(此种方式后续不需要另起Shell)
- hive --service metastore 2>&1 &
复制代码
启动hiveserver2服务(另起shell窗口)
或
- hive --service hiveserver2
复制代码 12、启动beeline客户端
在新的窗口里面实行hive 或者beeline命令
输入:
- !connect jdbc:hive2://node11:10000
复制代码
或者直接输入如下内容启动客户端
- beeline -u jdbc:hive2://node11:10000 -n root
复制代码
FAQ
Exception in thread "main" MetaException(message:JDOFatalInternalException: Index/candidate part #0 for `CTLGS` already set
Root cause: org.datanucleus.exceptions.NucleusException: Index/candidate part #0 for `CTLGS` already set)
解决方案:
- cp /usr/local/soft/hadoop-3.4.0/share/hadoop/hdfs/lib/guava-27.0-jre.jar /usr/local/soft/apache-hive-4.0.0-bin/lib/
复制代码 或查抄hadoop的core-site.xml是否有如下内容
- </property>
- <property>
- <name>hadoop.proxyuser.root.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.root.groups</name>
- <value>*</value>
- </property>
复制代码 beeline启动失败
解决方案:可实验多连接反复
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |