Hive的安装需要有Hadoop、MySQL以及Java的支持,其中hadoop用于存储数据,而mysql用户存储Hive的metastore(元信息)。
主要记录一下Hadoop以及Hive的安装,Java和MySQL的安装就不赘述了,网上很多。
安装的服务器版本:CentOS7.8
Hadoop安装(单节点) 安装安装运行中遇到的异常归纳到此处:Hive学习(二):Hive安装运行常见异常
下载:https://hadoop.apache.org/releases.html
将本地的Hadoop压缩包上传到服务器root目录下
scp ~/Downloads/hadoop-3.2.2.tar.gz root@192.168.0.1:/root
解压到自定义目录里
tar -zvxf hadoop-3.2.2.tar.gz -C /root/demo-apps
设置环境变量 vim ~/.bash_profile 填入以下环境变量
export HADOOP_HOME=/root/demo-apps/hadoop-3.2.2 export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存文件,然后执行 source ~/.bash_profile 使环境变量生效
配置打开配置文件目录
cd /root/demo-apps/hadoop-3.2.2/etc/hadoop/
需要修改以下五个文件
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml
为了使hadoop正常使用环境中的java运行,将JAVA_HOME的值设置进去
core-site.xml配置将以下配置复制到
- fs.default.name:单节点使用,namenode的地址
- hadoop.tmp.dir:临时文件地址
hdfs-site.xml配置fs.default.name hdfs://localhost:9000 hadoop.tmp.dir /root/demo-apps/hadoop-data
将以下配置复制到
- dfs.namenode.name.dir:namenode数据存放目录
- dfs.datanode.data.dir:datanode数据存放目录
-
dfs.replication:分片数量
yarn-site.xml配置dfs.namenode.name.dir /root/demo-apps/hadoop-data/name dfs.datanode.data.dir /root/demo-apps/hadoop-data/data dfs.replication 1
将以下配置复制到
- yarn.nodemanager.aux-services:yarn为mapreduce提供的shuffle服务
mapred-site.xml配置yarn.nodemanager.aux-services mapreduce_shuffle
将以下配置复制到
- mapreduce.framework.name:指定mapreduce框架为yarn
验证安装mapreduce.framework.name yarn
依次执行下面的命令,若都能正常结束,则代表安装成功
hdfs namenode -format start-dfs.sh start-yarn.shHive安装 安装
下载:https://hive.apache.org/downloads.html
将本地的Hadoop压缩包上传到服务器root目录下
scp ~/Downloads/apache-hive-2.3.9-bin.tar.gz root@192.168.0.1:/root
解压到自定义目录里
tar -zvxf apache-hive-2.3.9-bin.tar.gz -C /root/demo-apps
设置环境变量 vim ~/.bash_profile 填入以下环境变量
export HIVE_HOME=/root/demo-apps/apache-hive-2.3.9-bin export PATH=$PATH:$HIVE_HOME/bin
保存文件,然后执行 source ~/.bash_profile 使环境变量生效
配置打开Hive配置目录,并创建配置文件进行编辑
cd /root/demo-apps/apache-hive-2.3.9-bin/conf/ touch hive-site.xml vim hive-site.xml
填入以下内容,是连接数据库的信息
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hivedb?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 123456 password to use against metastore database
将MySQL的连接jar包拷贝至Hive的lib目录下(/root/demo-apps/apache-hive-2.3.9-bin/lib)
如果是8.0+的mysql连接jar包,上方配置的驱动应该是com.mysql.cj.jdbc.Driver
验证初始化Hive元信息,若出现 schemaTool completed 则代表成功,此时MySQL数据库中也会出现相应的表
schematool -dbType mysql -initSchema
执行 “hive”,能够顺利进入hive命令行则大功告成



