Spark入门到精通--(第九节)环境搭建(Hive搭建)

时间:2021-03-14 15:16:40

  上一节搭建完了Hadoop集群,这一节我们来搭建Hive集群,主要是后面的Spark SQL要用到Hive的环境。

Hive下载安装

  下载Hive 0.13的软件包Spark入门到精通--(第九节)环境搭建(Hive搭建),可以在百度网盘进行下载。链接: http://pan.baidu.com/s/1gePE9O3 密码: unmt。

  下载完用Xftp上传到spark1服务器,我是放在/home/software目录下。

[root@spark1 ~]# cd /home/software/
[root@spark1 software]# tar -zxf apache-hive-0.13.1-bin.tar.gz   //解压  
[root@spark1 software]# mv apache-hive-0.13.1-bin /usr/lib/hive  //重命名并移到/usr/lib目录下  
[root@spark1 software]# cd /usr/lib 

  设置hive环境变量。

[root@spark1 lib]# vi ~/.bashrc    //配置环境变量

//添加变量,别忘了Path的变量也要修改

export HIVE_HOME=/usr/lib/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin    //加上hive的路径

Spark入门到精通--(第九节)环境搭建(Hive搭建)

  保存退出,是文件生效。

[root@spark1 lib]# source ~/.bashrc 

  完了之后,我们使用基于MYSQL来启动Hive,将Hive的元数据库放在MYSQL。这里就不说MYSQL的安装了(偷个懒),不懂得朋友可以自行度娘,比较简单。

  完成之后我们将MYSQL的连接包Spark入门到精通--(第九节)环境搭建(Hive搭建)放到/usr/lib/hive/lib目录下。

[root@spark1 lib]# cp /home/software/mysql-connector-java-5.1.34.jar /usr/lib/hive/lib/

  接下来我们用MYSQL对hive元数据库进行授权。

 

[root@spark1 lib]# mysql

mysql> create database if not exists hive_metadata;    //创建 hive_metadata的数据库

mysql> grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive';

mysql> grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by 'hive';

mysql> grant all privileges on hive_metadata.* to 'hive'@'spark1' identified by 'hive';

mysql> flush privileges;    //刷新权限
mysql> use hive_metadata;
mysql> exit

 

  完成之后我们开始配置hive的配置文件。

  • 修改hive-default.xml.template文件,并且重命名为hive-site.xml

 

[root@spark1 hive]# cd /usr/lib/hive/conf/
[root@spark1 conf]# mv hive-default.xml.template hive-site.xml    //重命名

[root@spark1 conf]# vi hive-site.xml

//修改相关的property

//修改javax.jdo.option.ConnectionURL
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://spark1:3306/hive_metadata?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

//修改javax.jdo.option.ConnectionDriverName
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Drive</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

//修改数据库用户名
//和之前的mysql里授权创建的相对应,用户名:hive,密码:hive
<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>hive</value>
  <description>password to use against metastore database</description>
</property>

//修改hive.metastore.warehouse.dir
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>

 

  修改完成保存退出。

  • 配置hive-env.sh.template重命名为hive-env.sh。

 

[root@spark1 conf]# mv hive-env.sh.template hive-env.sh    //重命名

 

  • 修改/hive/bin/hive-config.sh

 

[root@spark1 conf]# cd ../bin

[root@spark1 bin]# vi hive-config.sh

//配置hadoop、java、hive的环境变量,添加

#environment variables
export JAVA_HOME=/usr/java/jdk1.7.0_21
export HADOOP_HOME=/usr/lib/hadoop
export HIVE_HOME=/usr/lib/hive

 

  • 验证hive是否安装成功

 

[root@spark1 lib]# hive

16/08/07 16:39:03 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead

Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-0.13.1.jar!/hive-log4j.properties
hive>

 

  出现上述表明hive安装成功。