2020-02-27 hive集群搭建入坑爬坑笔记
2020-02-27 本文已影响0人
张公子在这等你
大数据相关组件的学习,经常会遇到各种各样的环境问题,排查问题需要浪费超级多的时间。今天我就来说说我大数据环境采坑之旅。没有升级操作系统前,我搭建的大数据环境是完全可以正常使用的。
第一趴:
我的mac由于操作系统更新后,本机安装的mysql服务端就不翼而飞了。结果在官网下载了最新的安装包,废了九牛二虎之力终于搞定了,结果hadoop正常启动后,hive又无法正常启动,各种报错,昨天搞了一下下午,浪费了时间,结果问题丝毫没有解决,心情非常的down。
第二趴:
睡了一晚上之后,内心还是想要把这个问题解决掉,于是在正确使用搜索引擎之后,问题一个个被解决,然后疲惫一扫而去。整个问题解决的步骤如下。
01 彻底卸载本机所有的mysql版本,然后安装新版本
A、mac 彻底卸载mysql
参考文档 简书上的彻底卸载mysql的方法
步骤一:切换到~
cd ~
步骤二:打开usr文件
open /usr
步骤三:找到local,进入到local文件夹,然后依次执行如下命令
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
步骤四:卸载完成,可以发现在系统偏好设置没有了MySql的标志。
PS: 由于我的mysql有多个版本,还有非默认路径下安装的mysql版本,于是还执行了一下的操作。
* 检查/usr/local/Cellar目录是否有mysql文件,有的话删除。
* 检查/usr/local/var 里的mysql文件,有的话删除。
* 检查/tmp 里的mysql.sock、mysql.sock.lock、 my.cnf文件,有的话删除。
* err文件以及pid文件都是在/usr/local/var/mysql中,有的话删除。
* brew安装的安装包存储在/usr/local/Library/Cache/Homebrew,有的话删除。
* 一定要记得执行brew cleanup【这个操作一定要慎用慎用 】。
B、mac配置文件 bash_profile 环境变量需要配置
注意配置文件的两处均需要进行修改C、创建一个新的hive用户,并给其指定访问hive的元数据的权限
进入mysql执行命令
create user 'hive'@'localhost' identified by 'hive'; (创建hive用户)
grant all privileges on *.* to 'hive'@'localhost' with grant option;(赋予权限)
flush privileges;(刷新权限)
02 hive的各种报错
1、mysql的jdbc的连接驱动版本太低,导致hive启动报错
报错的截图
解决方案:在mysql的官网下载与mysql版本匹配的驱动。
官网地址下载地址
2、java.sql.SQLSyntaxErrorException: Table 'hive.version' doesn't exist 的解决方案。
问题产生原因:
hive元数据,未能正常初始化导致的问题。【mysql服务端卸载后重装,需要手动进行初始化】
具体执行步骤如下:
1、修改hive-site.xml 配置文件
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
2、进入hive的bin目录下,手动执行 ./schematool -dbType mysql -info