Hive相关环境变量的设置,看第一篇文章。
Hive部署在三台服务器中的主节点master机器上。
1准备MySQL数据库
部署Hive需要一台MySQL数据库,在本文中,所使用的MySQL数据库没有安装在master主机上,而是另外一台具有公网IP的主机作为独立的MySQL服务器。
先在这MySQL中创建一个名为hive的数据库(字符集Latin 1)。
2拷贝MySQL数据库驱动jar包
下载 mysql-connector-java-5.1.18-bin.jar 文件,并拷贝到 /usr/local/hadoop-2.9.2/hive/lib/ 文件夹内。
3修改Hive配置文件
3.1 生成 conf/hive-default.xml 文件
输入如下命令(只需在master机器):
cd /usr/local/hadoop-2.9.2/hive/conf cp hive-default.xml.template hive-default.xml
3.2 修改conf/hive-env.sh 文件
cd /usr/local/hadoop-2.9.2/hive/conf
vim hive-env.sh
在文末添加如下两行:
export HADOOP_HOME=/usr/local/hadoop-2.9.2/
export HIVE_CONF_DIR=/usr/local/hadoop-2.9.2/hive/conf
3.3 修改conf/hive-site.xml 文件
cd /usr/local/hadoop-2.9.2/hive/conf
vim hive-site.xml
此文件内容如下:
<configuration> <property> <name>hive.metastore.warehouse.dir</name> <value>hdfs://master:9000/hive/warehouse</value> <!--这边连接的时远程的所以文件也存在远程--> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://mysql服务器IP:3306/hive?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>mysql中hive数据库的用户名</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>mysql中hive数据库的连接密码2</value> </property> <property> <name>hive.exec.scratchdir</name> <value>/usr/local/hadoop-2.9.2/hive/tmp</value> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/usr/local/hadoop-2.9.2/hive/tmp</value> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/usr/local/hadoop-2.9.2/hive/tmp/${hive.session.id}_resources</value> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>/usr/local/hadoop-2.9.2/hive/operation_logs</value> </property> <property> <name>hive.querylog.location</name> <value>/usr/local/hadoop-2.9.2/hive/log</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://master:9083</value> </property> </configuration>
3.4创建如下目录
cd /usr/local/hadoop-2.9.2/hive
mkdir tmp operation_logs warehouse og
4初始化hive数据库中的元信息(基本表)
输入如下命令:
cd /usr/local/hadoop-2.9.2/hive/bin
schematool -dbType mysql -initSchema
完成hive数据库的元信息的初始化。
5启动Hive
输入命令:
hive --service metastore &
然后按键盘: Ctrl + C ,接下来输入:
hive
进入hive的shell,就可以在shell环境下执行Hive命令了。