hive启动时报错
问题: hive启动时报错 Access denied for user 'hive'@'master' (using password: YES)
环境: hive1.2.2 hadoop2.6.1
步骤:
1 mysql安装配置和权限
安装完成后 ,执行
update user set host='%' where host='localhost'
这个可以使外部本机访问虚拟机的mysql,然后直接在navicat修改mysql库的user表
2 配置hive-site.xml
hive-ite.xml中的配置很多,我们需要修改的是下面的这些,下面的description就能看出来配置的作用
<property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description></property><property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>Username to use against metastore database</description></property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>password to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>hive.metastore.uris</name> <value/> //这里我是默认的,没变 <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/hive/warehouse</value> //到时候需要在hdfs上建立想要的目录 <description>location of default database for the warehouse,Hive在HDFS上的根目录</description> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/hive/exec</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/hive/downloadedsource</value> <description>Temporary local directory for added resources in the remote file system.</description> </property>
3 启动hive
hive
报错:
解决方法:
删除 jline0.9.94.jar
rm -f $HADOOP_HOME//share/hadoop/yarn/lib/jline0.9.94.jar
错误原因:
jline0.9.94版本和hive的jline版本冲突