Ubuntu21.10搭建Hive1.2.2
-
准备工作
- apache-hive-1.2.2-bin.tar.gz与mysql-connector-java-8.0.28.tar.gz上传至Ubuntu
-
开始安装配置Hive
-
查看软件包
-
把hive包解压到安装位置
-
到软件目录,修改文件名
-
-
配置环境变量
-
输入sudo vim /etc/profile
sudo vim /etc/profile
在末尾添加
export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin export CLASSPATH=./$JAVA_HOME/lib:$HIVE_HOME/lib
更新环境变量
source /etc/profile
-
-
配置hive
-
进入配置目录
-
cd /usr/local/hive/conf/
-
-
拷贝文件,命名为hive-env.sh
-
sudo cp hive-env.sh.template hive-env.sh
-
-
修改hive-env.sh配置
-
sudo vim hive-env.sh
-
找到
-
添加hadoop路径
-
HADOOP_HOME=/usr/local/hadoop
-
-
配置hive-site.xml
-
先复制hive-default.xml.template命名为hive-site.xml
-
sudo cp hive-default.xml.template hive-site.xml
-
-
编辑hive-site.xml文件
-
进入hive-site.xml文件,并清理原文件所以配置内容
-
sudo vim hive-site.xml
-
-
-
-
增加mysql数据库的连接配置
-
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <!--这里的3306前的master是安装MySQL的主机名,根据自己情况进行更改--> <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <!--这里配置的是密码,填写自己MySQL密码--> <value>root</value> <description>password to use against metastore database</description> </property> <property> <name>hive.exec.local.scratchdir</name> <!--此处/home后面填写的自己的用户名,我的用户名是hyc,所以填写的是hyc/--> <value>/home/hyc/iotmp</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <!--此处/home后面填写的自己的用户名,我的用户名是hyc,所以填写的是hyc/--> <value>/home/hyc/iotmp</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> </configuration>
-
-
新建临时文件夹
-
此处/home后面填写的自己的用户名,我的用户名是hyc,所以填写的是hyc/
-
mkdir -p /home/hyc/iotmp chmod -R 775 /home/hyc/iotmp
-
-
-
-
修改hive-config.sh
-
进入/usr/local/hive//bin
-
cd /usr/local/hive/bin/
-
-
编辑hive-config.sh
-
sudo vim hive-config.sh
-
在该文件的最前面添加以下内容:
-
export JAVA_HOME=/usr/local/jdk export HADOOP_HOME=/usr/local/hadoop export HIVE_HOME=/usr/local/hive
-
-
-
-
hive就配置完毕,接下来下载并配置MySQL
-
-
-
安装并配置MySQL
-
下载MySQL
-
sudo apt-get install mysql-server
-
-
修改MySQL root用户密码以及远程登录配置
-
第一次进入MySQL不需要密码,直接回车即可
-
修改root用户登录权限
-
删除原有的root用户,并新建root用户赋予权限
-
use mysql; delete from user where user = 'root'; create user 'root'@'%' identified by 'root'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
-
-
配置MySQL文件
-
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
-
找到bind-address
-
-
把他注释掉
-
重启MySQL服务
-
service mysql restart
-
-
配置MySQL驱动
-
回到家目录,解压MySQL驱动包
-
cd ~
-
-
解压驱动包
-
tar -zxvf mysql-connector-java-8.0.28.tar.gz
-
-
把驱动jar包拷贝到hive/lib下面
-
sudo cp mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /usr/local/hive/lib/
-
-
-
-
-
启动hive
-
先启动Hadoop集群
-
start-all.sh
-
-
在HDFS中创建目录和设置权限
hadoop fs -mkdir /tmp hadoop fs -mkdir -p /user/hive/warehouse hadoop fs -chmod g+w /tmp hadoop fs -chmod g+w /user/hive/warehouse
-
启动Hive,启动hive前,确保hadoop集群启动
-
hive
如图就成功了
-
-
-