简介:本文主要讲解hive的远程安装方式,承接该文章。本文章主要包括安装mysql(用于存放hive元数据)和安装hive。
希望能够对您有用!
一、准备
相关软件链接:https://pan.baidu.com/s/1y_dCAACBdbSEPztiQrLHVA?pwd=h00i
1、已配置完hadoop环境
指hadoop,yarn能够正常启动和关闭
建议:hadoop-3.3.4.tar.gz
jdk:jdk-8u361-linux-x64.tar.gz
可参考:https://blog.csdn.net/junqiduhang/article/details/134125116
2、下载hive安装包并上传到hadoop名称节点
需要注意的是hadoop3.x才能使用hive3.x,否则启动hive会报错。
https://dlcdn.apache.org/hive/
二、安装MySQL
1、卸载Centos7自带mariadb
rpm -qa|grep mariadb
# mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
2、创建mysql安装包存放点
mkdir -p /export/software/mysql
上传mysql-5.7.29安装包到上述文件夹下、解压
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
3、执行安装
yum -y install libaio
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm
mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
4、初始化mysql
mysqld --initialize
更改所属组
chown mysql:mysql /var/lib/mysql -R
5、启动mysql
systemctl start mysqld.service
查看生成的临时root密码
cat /var/log/mysqld.log
# 3DgiqJPekr>i 额,注意前面有个空格不要
这行日志的最后就是随机生成的临时密码
[Note] A temporary password is generated for root@localhost: 3DgiqJPekr>i
修改mysql root密码、授权远程访问
mysql -u root -p
Enter password: #这里输入在日志中生成的临时密码
更新root密码 设置为hadoop;关于root和密码hadoop之后在hive的配置文件中会用到
mysql> alter user user() identified by "hadoop";
# Query OK, 0 rows affected (0.00 sec)
授权
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
建议设置为开机自启动服务
systemctl enable mysqld
查看是否已经设置自启动成功
systemctl list-unit-files | grep mysqld
三、Hive远程配置
hive具有多种安装方式,远程安装方式最常用。
注意📣📣📣📣后面都切换为hadoop用户
1、解压安装包
tar -zxvf /tmp/apache-hive-3.1.3-bin.tar.gz -C /export/server/
2、创建软链接
ln -s /export/server/apache-hive-3.1.3-bin/ /export/server/hive
3、配置环境变量(可选)
vim /etc/profile
追加以下内容
export HIVE_HOME=/export/server/hive
export PATH=$PATH:$HIVE_HOME/bin
使环境变量生效
source /etc/profile
4、修改配置文件
4.1 hive-env.sh
进入配置文件目录
cd /export/server/hive/conf/
找到“hive-env.sh.template”重命名
mv hive-env.sh.template hive-env.sh
编辑hive-env.sh
vim hive-env.sh
输入
export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
4.2 hive-site.xml
创建hive-site.xml
vim /export/server/hive/conf/hive-site.xml
编入。注意配置文件中用户与密码应当与设置mysql的保持一致
<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value> jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>
</property>
<!-- H2S运行绑定host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node1</value>
</property>
<!-- 远程模式部署metastore 服务地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
</property>
<!-- 关闭元数据存储授权 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
4.3 core-site.xml
这个配置文件时hadoop的
vim /export/server/hadoop/etc/hadoop/core-site.xml
编入
<!-- 整合hive -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
5、添加mysql jdbc驱动
用scp命令将下载的mysql-connector-java-5.1.32.jar 包从win传到虚拟机对应目录下
scp mysql-connector-java-5.1.32.jar root@192.168.88.100:/export/server/hive/lib
6、统一guava
删除较低版本的guava并将高版本的guava移入低版本所在目录,否则初始化元数据会报错
可先用ls查看你所安装的guava版本,然后做替换即可
ls /export/server/hive/lib | grep "guava"
ls /export/server/hadoop/share/hadoop/common/lib | grep "guava"
rm -rf /export/server/hive/lib/guava-19.0.jar
将hadoop目录下的jar包复制过来
cp /export/server/hadoop/share/hadoop/common/lib/guava-11.0.2.jar /export/server/hive/lib/
7、初始化元数据
cd /export/server/hive
bin/schematool -initSchema -dbType mysql -verbos
因为采用的安装方式是远程安装,因此hive元数据会存放到mysql数据库中。
初始化成功会在mysql的hive数据库中创建74张表,可以进入mysql查看。
ps:之前试过2.x版本的hive,表的数量会少一些
8、启动metastore服务
(1)先启动hdfs和yarn,启动后等待一段时间再启动metastore服务
start-dfs.sh
start-yarn.sh
创建日志输出目录,用于存放metastore启动日志
mkdir /export/server/hive/logs
(2)启动元数据服务,两种启动方式
①前台启动 ,关闭需要使用ctrl+c
/export/server/hive/bin/hive --service metastore
②后台启动,可把进程挂起😋😋😋推荐
可以用cat命令查看metastore.log的内容
nohup bin/hive --service metastore > logs/metastore.log &
使用jps + kill关闭metastore服务。用jps查看,“RunJar”即为hive的元数据服务
9、进入hive
启动Metastore服务后就可以进入hive,在命令行直接输入hive即可。注意使用hadoop用户。