编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

Hive On Spark环境搭建

  • 下载hive

  • 解压到/usr/loca/

  • 进入conf目录,mv hive-default.xml.template hive-site.xml,修改hive-site.xml

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://spark1:3306/hive_metadata_2?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>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse2</value>
</property>
  • 在conf目录下



mv hive-env.sh.template hive-env.sh
vi ./bin/hive-config.sh
export JAVA_HOME=/usr/java/latest
export HIVE_HOME=/usr/local/apache-hive-1.2.1-bin
export HADOOP_HOME=/usr/local/hadoop


  • cp /usr/share/java/mysql-connector-java-5.1.17.jar /usr/local/apache-hive-1.2.1-bin/lib

  • MySQL

create database if not exists hive_metadata_2;
grant all privileges on hive_metadata_2.* to 'hive'@'%' identified by 'hive';
grant all privileges on hive_metadata_2.* to 'hive'@'localhost' identified by 'hive';
grant all privileges on hive_metadata_2.* to 'hive'@'spark1' identified by 'hive';
flush privileges;
  • 启动hive cli,./hive,报错,Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

创建文件夹:/home/grid/apache-hive-1.2.1-bin/iotmp

将hive-site.xml中所有的${system:java.io.tmpdir}改为上面的目录,这里建议用WinSCP将hive-site.xml拷贝到windows上来,用notepad++这种工具,来进行文本替换,比较方便。

  • 启动hive cli,./hive,继续报错,Found class jline.Terminal, but interface was expected

cp /usr/local/apache-hive-1.2.1-bin/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib

将hadoop原来的老的jline-0.9.94.jar,改名或者删

  • 启动hive cli,/usr/local/apache-hive-1.2.1-bin/bin/hive,成功启动


未经允许不得转载: 技术文章 » 大数据 » Hive On Spark环境搭建