前提是搭好Yarn环境
第一步:上传并解压hive包,解压后移动到/usr/local/hive下
tar -zxvf apache-hive-3.1.3-bin.tar.gz
sudo ln -s /home/hadoop/apache-hive-3.1.3-bin/ /usr/local/hive
第二步:配置环境变量,并使配置文件生效
vi .bashrc
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
source .bashrc
第三步:配置hive的文件
cd /usr/local/hive/conf
cp hive-env.sh.template hive-evn.sh
cp hive-default.xml.template hive-default.xml
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties
vi hive-evn.sh
HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
vi hive-site.xml
第四步:删除旧版本,更新guava包
rm -f /usr/local/hive/lib/guava-19.0.jar
cp /usr/local/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/hive/lib/
vi hive-default.xml
<!--
<description>
Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks fortransactional tables. This ensures that inserts (w/o overwrite) running concurrently
are not hidden by the INSERT OVERWRITE.
</description>
-->
第五步:配置Hive临时目录
sudo mkdir -p /data/logs/hive/
sudo chown -R hadoop.hadoop /data/logs/hive/
sudo mkdir -p /data/hive/resources
sudo chown -R hadoop.hadoop /data/hive/
第六步:在根目录下编辑一个.hiverc文件将参数写入其中,并使配置文件生效
vi .hiverc
set hive.cli.print.header=true;
set hive.cli.print.current.db=true;
source .hiverc
__________________________________安装MYSQL________________________________
第一步:上传源文件并安装更新
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm
sudo yum clean all
sudo yum makecache
sudo yum repolist all | grep mysql
第二步:安装并开启服务,获得MySQL的初始密码
sudo rpm -import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install mysql-community-server
sudo systemctl start mysqld.service
sudo cat /var/log/mysqld.log | grep password
第三步:登录MySQL数据库并修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hive_123456';
CREATE USER 'root'@'%' IDENTIFIED BY 'Hive_123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
第四步:设置开机自启,并拷贝MySQL驱动到Hive目录下
sudo systemctl enable mysqld.service
sudo mv mysql-connector-java-8.0.30.jar /usr/local/hive/lib/
最后初始化hive
schematool -dbType mysql -initSchema
———————————————————————————————————————————
hive-site.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.db.type</name>
<value>MYSQL</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master-centos:3306/hadoop_hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Hive_123456</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/data/hive</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/data/hive</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/data/hive/resources</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/data/hive</value>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/data/logs/hive</value>
</property>
</configuration>