Hive应用实践-安装并配置mysql

Hive应用实践-安装并配置mysql,第1张

(已安装则跳过)

yum -y install wget

安装这个包后,会获得两个mysql的yum repo源:

修改配置文件/etc/my.cnf,添加

然后,重启服务:

MYSQL就可以无密码登录了

删除配置文件my.cnf中的skip-grant-tables

重启服务: systemctl restart mysqld

使用密码登录: mysql -uroot -p

注:需要关闭centos防火墙

查看版本号:

mysql -V

启动mysql服务

systemcl start mysqld.service

停止mysql服务

systemctl stop mysqld.service

重启mysql服务

systemctl restart mysqld.service

查看mysql服务当前状态

systemctl status mysqld.service

设置mysql服务开机自启动

systemctl enable mysqld.service

停止mysql服务开机自启动

systemctl disable mysqld.service

rpm -qa|grep mariadb

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

输出内容最后root@localhost:XXXXXXXX中的XXXX为初始密码

编写后保存

1.链接mysql数据库的时候权限错误,这属于前期扫盲错误。

Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException

MESSAGE: Connection refused

解决方法:http://www.lishiyu.cn/post/56.html

2.表不存在----一般为分隔符的不匹配,我们需要在sqoop导入时指定分隔符

Status : FAILED

java.io.IOException: Can’t export data, please check task tracker logs

Caused by: java.util.NoSuchElementException

at java.util.AbstractList$Itr.next(AbstractList.java:350)

at test.__loadFromFields(test.java:252)

at test.parse(test.java:201)

at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:83)

导出数据到MySQL,当然数据库表要先存在,否则会报错,此错误的原因为sqoop解析文件的字段与MySql数据库的表的字段对应不上造成的。因此需要在执行的时候给sqoop增加参数,告诉sqoop文件的分隔符,使它能够正确的解析文件字段。hive默认的字段分隔符为'\001',sqoop的默认分隔符是 ','。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8558525.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存