Apache Doris Broker快速体验之Hive安装部署(2)
Apache Doris Broker快速体验之Hive安装部署(2)
- 环境信息
- 硬件信息
- 软件信息
- Mysql安装部署
- 下载mysql
- 创建用户和组
- 安装mysql及初始化
- 重启mysql服务
- 重置root密码
- 本地客户端测试
- Hive安装部署
- Hive包下载
- 修改环境变量
- Hive配置
- Hive元数据初始化
- Hive启动测试
- Hive2启动测试
- 常见问题
- Public Key Retrieval is not allowed异常
- 处理方法
- Mysql中文乱码
- Hive元数据初始化失败
- 处理方法
- Hive客户端启动失败
- 处理方法
- count(1) 计算时无/bin/java异常
- 处理方法
- count(1) 计算时无MR类异常
- 处理方法
环境信息
Mysql及Hive版本说明。
硬件信息
- CPU :4C
- CPU型号:ARM64
- 内存 :10GB
- 硬盘 :66GB SSD
软件信息
- VM镜像版本 :CentOS-7
- Mysql版本:mysql-8.0.32-linux-glibc2.17-aarch64
- Hive版本:3.1.3
Mysql安装部署
hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库;derby方式一般用的少,因为它是单用户模式;这里主要讲解mysql方式
下载mysql
下载地址:https://downloads.mysql.com/archives/community/
#根据自己版本和系统进行下载
#查看系统相关版本:cat /proc/version
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
#创建安装文件夹
mkdir -p /usr/local/mysql
cd /usr/local/mysql
# 解压安装
tar -zxvf mysql-8.0.32-linux-glibc2.17-aarch64.tar.g
mv mysql-8.0.32-linux-glibc2.17-aarch64/* ./
rm -rf mysql-8.0.32-linux-glibc2.17-aarch64*
# 创建数据存储目录
mkdir data
chmod -R 777 /usr/local/mysql/data
创建用户和组
#新增用户
groupadd mysql
useradd -g mysql mysql
#修改配置文件
vi /etc/my.cnf
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#:wq 保存退出
安装mysql及初始化
cd ./bin
# 执行初始化命令
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/
#初始化完成后,最后一行会有临时密码:A temporary password is generated for root@localhost: qKgjZWYg7W-R
重启mysql服务
#创建软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#启动mysql服务
service mysql start
重置root密码
#进入客户端
./mysql -hlocalhost -uroot -p
#修改密码
set password='root';
flush privileges;
#修改访问权限
use mysql;
update user set Host='%' where User='root';
flush privileges;
本地客户端测试
通过dbeaver新建mysql连接测试
至此arm mysql安装完成
Hive安装部署
Hive包下载
#创建安装目录
mkdir /usr/hive
cd /usr/hive
#下载安装包
wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
#解压安装
tar -zxvf https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
mv apache-hive-3.1.3-bin/* ./
rm -rf apache-hive-3.1.3-bin*
修改环境变量
vi /etc/profile
#hive安装目录
export HIVE_HOME=/usr/hive
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
Hive配置
注意:需要下载上传并将mysql-connector-java-8.0.26.jar 传输到 apache-hive-3.1.2-bin/lib 目录下
#变更用户
chown -R hadoop:hadoop /usr/hive/
#切换hadoop用户
su hadoop
#生成配置文件和脚步
cd /usr/hive/conf
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
#下载上传并将mysql-connector-java-8.0.26.jar 传输到 apache-hive-3.1.2-bin/lib 目录下
#在mysql数据库中创建hive相关事项
#建立数据库
create database hive;
#8.0设置远程登录的权限
GRANT ALL ON *.* TO 'root'@'%';
#刷新配置
FLUSH PRIVILEGES;
#修改Hive 配置文件
vim /usr/hive/conf/hive-site.xml
#mysql的jdbc连接地址:<name>javax.jdo.option.ConnectionURL</name>
jdbc:mysql://192.168.1.61:3306/hive?allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
#mysql驱动名:<name>javax.jdo.option.ConnectionDriverName</name>
com.mysql.cj.jdbc.Driver
#mysql连接用户名:<name>javax.jdo.option.ConnectionUserName</name>
root
#mysql连接密码:<name>c c</name>
root
#相关目录都用默认的即可
Hive元数据初始化
#进入hive bin目录
cd /usr/hive/bin
#初始化
schematool -dbType mysql -initSchema
#初始化完成后会在mysql中生成hive对应的元数据表
Hive启动测试
#进入hive bin目录
cd /usr/hive/bin
#启动hive客户端
./hive
Hive2启动测试
#进入hive bin目录
cd /usr/hive/bin
#启动hive2客户端
./hive --service hiveserver2 &
#访问http://doris:10002/
常见问题
Public Key Retrieval is not allowed异常
本地客户端报Public Key Retrieval is not allowed异常
处理方法
客户端的驱动连接参数中修改:allowPublicKeyRetrieval=true
Mysql中文乱码
#mysql中选择hive库
use hive;
#修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
#修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(20000) character set utf8;
#修改分区参数,支持分区建用中文表示
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(20000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(20000) character set utf8;
#修改索引名注释,支持中文表示
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
Hive元数据初始化失败
报如下异常:java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
处理方法
这是hive-site.xml配置文件的bug,行的注释掉或者删除相关配置描述即可。
Hive客户端启动失败
报如下异常:java.net.URISyntaxException: Relative path in absolute URI: KaTeX parse error: Expected ‘}‘, got ‘EOF’ at end of input: …a.io.tmpdir%7D/%7Bsystem:user.name%7D
处理方法
vim /usr/hive/conf/hive-site.xml
#将相关目录的配置都进行调整
#${system:java.io.tmpdir}改为/tmp
#去掉system:**加粗样式**
count(1) 计算时无/bin/java异常
进行select count(1) from tn时,yarn任务报无 /bin/java 异常
处理方法
#获取java路径
which java
#创建/bin/java软链接
ln -s /usr/local/java/jdk1.8.0_361/bin/java /bin/java
count(1) 计算时无MR类异常
进行select count(1) from tn时,yarn任务报找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster 异常
处理方法
#获取相应的路径信息
hadoop classpath
#复制上面输出的路径,添加到hadoop下面的yarn-site.xml里面
<property>
<name>yarn.application.classpath</name>
<value>hadoop classpath的结果</value>
</property>
#重启hadoop集群
#重启hive2
hive安装部署至此结束,安装部署过程中若遇到问题欢迎留言交流
还没有评论,来说两句吧...