背景:spark on yarn模式下通过beeline连接spark thriftserver访问spark。
问题:如下图,使用beeline的时候,可以正常切换数据库、显示有多少张表。但是在使用默认数据库(default)的时候出现,如下图所示的问题failed on connection exception:
问题定位:
(1)从异常出发,排除了防火墙的原因;
(2)进入问题节点:使用netstat -nltp | grep 9000,发现该节点就没有进程监听9000端口。
另外当前的hadoop集群正常,只是比较low的是,只是启动一个namenode,并没有ha模式。
再根据以上情况,初步判断初始化FileSystem的时候,读取了错误配置。下面开始搜索错误配置:
(3)进入spark_home下,搜索hostname:9000,
grep -lr 'hostname:9000' ${SPARK_HOME}/conf;
grep -lr 'hostName:9000' ${HADOOP_HOME}/etc/hadoop;
然并卵,没有发现异常namenode的配置
(4)随后,无意间自己创建数据库,再创建表,竟然能够