Hive java.net.ConnectException: 拒绝连接 (Connection refused) (state=08S01,code=0)解决办法

一、 因为 MySQL 服务被停止导致

在执行 Hive HQL 查询数据的时候,总是卡在某一个地方半天不动,最后会出现拒绝连接的异常提示,于是乎查询 MySQL 服务
, 发现 MySQL 服务被停止了, 可是我压根没有动过 MySQL,当我重启MySQL 后, Hive HQL 正常执行,于是乎可以认为,Hive 查询的时候,走着走着不动了,就是因为MySQL 的问题, 那先看看 MySQL 怎么就被停了:

[kino@hadoop102 ~]$ sudo tail /var/log/messages

在这里插入图片描述
这里显示, Out of memory: Kill process 6078(mysql) ,因为内存不足, Linux 的 OOM killer(Out Of Memory killer),这个东西会在系统内存耗尽的情况下跳出来,选择性的干掉一些进程以求释放一些内存。于是乎,MySQL 就挨刀了

关于 OOM killer(Out Of Memory killer)的机制和解析,请参考文章:https://blog.csdn.net/GugeMichael/article/details/24017515

这里我 top 查看了一下 top
在这里插入图片描述

首先要明确的是 Swap 是什么: Swap 就是 linux 下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。

这 Swap 也太小了,于是调大 Swap: Linux扩展/删除swap分区

重启 dfs 和 yarn, 重新连接 Hive,再次执行 Hive HQL,在没有出现 MySQL 服务被杀死
在这里插入图片描述

如果还是启动不了, 试着按照后面方式设置

关于 MySQL服务器发生SWAP 的原因, 请参考文章 :找到MySQL服务器发生SWAP罪魁祸首


二、 其他原因导致

  1. 查看 dfs/yarn 是否启动,

    jps
    
  2. 查看 hiveservice2 是否被占用

    netstat -anop|grep 10000
    

    如果被占用, 用 kill -9 端口 杀死该进程

  3. 在 Hadoop的 core-site.xml 文件添加如下内容

    <property>
       <name>hadoop.proxyuser.hadoop.hosts</name>
       <value>*</value>
       <description>
            The 'nfsserver' user is allowed to proxy all members of the 'users-group1' and
           'users-group2' groups. Note that in most cases you will need to include the
            group "root" because the user "root" (which usually belonges to "root" group) will
            generally be the user that initially executes the mount on the NFS client system.
            Set this to '*' to allow nfsserver user to proxy any group.
        </description>
    </property>
    <property>
           <name>hadoop.proxyuser.hadoop.groups</name>
           <value>*</value>
           <description>
                   This is the host where the nfs gateway is running. Set this to '*' to allow
                   requests from any hosts to be proxied.
           </description>
    </property>
    

    在这里插入图片描述

  4. 将 下面两个目录给上777权限
    在这里插入图片描述

    [kino@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod 777 /tmp
    [kino@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod 777 /user/hive/warehouse
    
  5. 关掉 Hadoop 的服务并重启

    stop-dfs.sh
    
    stop-yarn.sh
    
    start-dfs.sh	
    
    start-yarn.sh
    
    bin/hiveservice2 & //后台运行(守护进程)
    bin/hive
    或
    bin/beeline
    

    此时正常运行
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值