今天忙了一整天找报错,靠!我master节点能正常打开,用其他节点去访问master节点的hive服务器,bin/beeline 就一直报错,也找不到跟我类似的报错
在master节点上面运行hive没问题开启服务器,客户端都正常,然后将这些文件复制过去的,运行就报错,这上面没什么更改的啊!又加上是复制过来的没有打错字这一说,为什么master能运行呢?
在hive启动时报错
bin/hive
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException | |
---|---|
bin/beeline
Exception in thread “main” java.lang.NoClassDefFoundError: jline/console/history/History | |
---|---|
bin/hiveserver2
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf | |
---|---|
发现都是先做过hbase和mapreduce集成处理的
在hadoop安装目录中的/etc/hadoop/下的hadoop.env.sh
配置的其他节点都是这个样子的,当时按照的学习视频上配置的
export HADOOP_CLASSPATH=/opt/module/hbase/lib/* | |
---|---|
改为
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/module/hbase/lib/* | |
---|---|
再运行就能出现了但又一个报错,日志无权限
bin/hive log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/module/hive/logs/hive.log
(Permission denied)
我登的其他用户操作的改一下文件拥有者就ok
sudo chown bob:bob logs/ -R
还有就是在安装msyql的时候注意配置的开启远程管理的节点
因为mysql配置在一个节点上
节点都是通过远程来操控的
开启远程管理mysql权限
当前节点
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
远程节点
grant all privileges on *.* to 'root'@'%centos73' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%centos74' identified by '123456' with grant option;
刷新生效
flush privileges
;