安装hive前提是要先安装hadoop集群,并且hive只需要在NameNode节点集群中安装即可,可以不在DataNode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把hadoop跑起来,但是本文中用到了hadoop命令,在执行这些命令前你必须确保hadoop是在正常跑着的,而且启动hive的前提也是需要hadoop在正常跑着,所以建议你先将hadoop跑起来在按照本文操作。
1.前提环境
这里需要提前安装好mysql数据库,将mysql数据库作为hive的元数据库。
hive数据仓库的下载地址:hive-2.3.2/
2.Hive的安装和配置
2.1配置环境变量
编辑/etc/profile 文件,添加hive的环境变量
image.png
执行以下命令让配置生效:source /etc/profile
2.2使用mysql作为默认的元数据库
将mysql-connector-java-5.1.32-bin.jar 驱动包上载Hive的lib目录下:/usr/local/hadoop/apache-hive-2.3.2-bin/lib/
用hive/lib/jline-2.12.jar 替换$HADOOP_HOME/share/hadoop/yarm/lib/ ,如果没有替换,运行./bin/hive 命令会出错。
cp jline-2.12.jar /usr/local/hadoop/hadoop-2.8.2/share/hadoop/yarn/lib/
3.配置hive-site.xml文件
3.1新建hive-site.xml(建议使用touch)
在/usr/local/hadoop/apache-hive-2.3.2-bin/conf 目录下新建hive-site.xml,执行下面命令将hive-default.xml.template 复制到hive-site.xml
cp hive-default.xml.template hive-site.xml
3.2使用hadoop新建HDFS目录
因为在hive-site.xml中有这样的配置
hive.metastore.warehouse.dir
/user/hive/warehouse
hive.exec.scratchdir
/tmp/hive
所以要在hadoop集群新建/user/hive/warehouse目录,执行命令
cd $HADOOP_HOME #进入Hadoop主目录
bin/hadoop fs -mkdir -p /user/hive/warehouse #创建目录
bin/hadoop fs -chmod -R 777 /user/hive/warehouse #新建的目录赋予读写权限
bin/hadoop fs -mkdir -p /tmp/hive/#新建/tmp/hive/目录
bin/hadoop fs -chmod -R 777 /tmp/hive #目录赋予读写权限
#用以下命令检查目录是否创建成功
bin/hadoop fs -ls /user/hive
bin/hadoop fs -ls /tmp/hive
3.3修改hive-site.xml数据库相关的配置
将下面的配置信息添加到hive-site.xml文件中:
javax.jdo.option.ConnectionURL
jdbc:mysql://59.68.29.105:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDB