- 准备条件
- 实验步骤
- 虚拟机 VMWare
- Linux 系统 Ubuntu
- Java JDK8
- Hadoop 2.7.3
- Hive 2.1.1
步骤 1
下载和解压 apache-hive-2.1.1-bin.tar.gz 到 ~ 目录
tar -zxvf ./apache-hive-2.1.1-bin.tar.gz
sudo mv apache-hive-2.1.1-bin hive-2.1.1 // 更改文件夹名称 sudo chown -R 用户名 hive-2.1.1// 更改文件 owner
步骤 2
添加 hive 命令到环境变量,是当前用户可以之间访问 hive 命令 vi ~/.bashrc 文件最后添加下面几行 export HIVE_HOME=$HOME/hive-2.1.1 export PATH=$PATH:$HIVE_HOME/bin export HADOOP_HOME=$HOME/hadoop-2.7.3 此句实验一已经添加不用再写 保存.bashrc 文件
运行命令 source .bashrc 使路径在当前终端起效
步骤 3
修改 hive 配置文件 cd ~/hive-2.1.1/conf mv hive-default.xml.template hive-default.xml vi hive-site.xml 或者 gedit hive-site.xml (这里自己手动打开在HOME中的HIVE.2.1.1中搜索)
在其中添加如下内容(主要为设置 mysql 元数据库连接信息,可以根据实际情况 修改红色部分 mysql 用户名和密码):javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName root username to use against metastore database javax.jdo.option.ConnectionPassword ubuntu password to use against metastore database
步骤 4
在线安装和配置 mysql(使用 mysql 而不是 derby 存储元数据)
sudo apt-get update
sudo apt-get install mysql-client
sudo apt-get install mysql-server-5.5
安装过程中提示设置 mysql 数据库 root 密码,如:ubuntu,之后等待安装完成
即可,安装后 mysql 服务会自动启动。
启动和停止 mysql 服务的命令(以下两句可不用执行): service mysql start service mysql stop 下载 mysql jdbcjava 连接驱动 mysql-connector-java-5.1.44.tar.gz,保存到 ~ 目录 下载地址:https://dev.mysql.com/downloads/connector/j/ 解压放入 hive-2.1.1/lib tar -zxvf mysql-connector-java-5.1.44.tar.gz cp mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar ~/hive-2.1.1/lib
步骤 5
登陆 mysql shell,新建 hive 元数据库 mysql –u root -p 输入前面设置的密码 mysql>create database hive; mysql>grant all on *.* to hive@localhost identified by 'hive'; 数据用户hive密码为 hive,具有所有表上的所有操作权限 mysql> flush privileges;
步骤 6
启动 hive 命令 cd ~/hadooop-2.7.3/sbin ./start-all.sh cd ~/hive-2.1.1/bin ./hive
(需要执行最后一步初始化) 注意:如果启动 hive 时提示 metastore database is not initialized 错误,可能时因为 以前安装 mysql 或者 hive 导致不一致。执行以下命令解决问题: schematool -dbType mysql -initSchema



