解压安装后配置环境变量
vi /etc/profile export HIVE_HOME=/usr/local/hive export PATH=$HIVE_HOME/bin source /etc/profile
安装mysql
1.更新数据源 apt-get update 2.安装 apt-get install mysql-server 3.运行安全脚本 mysql_secure_installation 4.vi /etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 127.0.0.1 service mysql restart 找到一个mysql-connector-java.jar放到hive/lib下 mysql -u -root -p 输入密码登陆mysql执行: create database if not exists hive_metadata; grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive'; grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by 'hive'; grant all privileges on hive_metadata.* to 'hive'@'spark1' identified by 'hive'; flush privileges; use hive_metadata;
配置hive-site.xml
mv hive-default.xml.template hive-site.xml 修改
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop01:3306/hive_metadata?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> </property> 连接mysql的配置 这个不是直接添加的 查找name 修改value
mv hive-env.sh.template hive-env.sh
vi /usr/local/hive/bin/hive-config.sh export JAVA_HOME=/usr/java/java export HIVE_HOME=/usr/local/hive export HADOOP_HOME=/usr/local/hadoop
直接输入hive命令:进入完成
启动过程中的错误以及解决方案
问题一:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
解决方案:查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本 查看hive安装目录下lib内guava.jar的版本 如果两者不一致,删除版本低的,并拷贝高版本的 问题解决!
问题二:.Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
解决方案:修改hive-site.xml文件 <property> <name>hive.exec.local.scratchdir</name> <value>$HIVE_HOME/iotmp</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.querylog.location</name> <value>$HIVE_HOME/iotmp</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>$HIVE_HOME/iotmp</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> 问题三:Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
解决方案:schematool -dbType mysql -initSchema