linux下安装hive3.1

一、安装mysql存储hive元数据信息
1、官网下载mysql安装包
2、新建mysql用户、组及目录
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql —新建msyql用户禁止登录shell
3、改变目录属有者
chown -R mysql mysql
chgrp -R mysql mysql
4、配置参数
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/data/mysql
此处需要注意记录生成的临时密码,如上文结尾处的:go,kEry#V80r
bin/mysqld --initialize --lower-case-table-names=1
5、修改系统配置文件
cd /opt/mysql/support-files
vi /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It’s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 10G

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
log_bin
character-set-server=utf8
collation-server=utf8_bin
init-connect=‘SET NAMES utf8’
# These are commonly set, remove the # and set as required.
basedir = /opt/mysql
datadir = /data/mysql
port = 3306
server_id = 22206
socket = /tmp/mysql.sock
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
binlog_format = statement
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
log_bin_trust_function_creators = on
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
basedir=/opt/mysql
datadir=/data/mysql
6、启动mysql
/etc/init.d/mysql start
停止服务
/etc/init.d/mysql stop
报错:linux下安装hive3.1
解决:
找到日志错误信息 /data/mysql/mysqld.log
linux下安装hive3.1
只有在初始化的时候设置 lower_case_table_names=1才有效
bin/mysqld --initialize --lower-case-table-names=1
配置环境变量
export PATH=/opt/mysql/bin:$PATH
source /etc/profile
登录
mysql -hlocalhost -uroot -p
报错:
linux下安装hive3.1
解决:
mysqld默认My.cnf 查找/tmp目录,在/export/mysql下找到 mysql.sock 和 mysql.sock.lock 并移动到 /tmp目录下
最好的办法是:修改/etc/my.cnf文件
socket = /tmp/mysql.sock
输入第四步生成的临时密码登录
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;
FLUSH PRIVILEGES;
7、设置可以远程登录
use mysql
查看规则 select host,user from user \G;
host表示允许哪个ip来连接,user表示哪个数据库。
update user set host=’%’ where user=‘root’ limit 1;
flush privileges;
然后检查3306端口是否开放
netstat -nupl|grep 3306
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
8、创建hadoop用户
create user ‘hadoop’@‘master’ identified by ‘hadoop’;
grant all privileges on . to ‘hadoop’@‘master’ with grant option;
9、创建hive元数据库
create database hive;
二、hive安装
1、解压安装包
2、配置环境变量
在/etc/profile,添加如下内容:
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
3、修改配置文件
创建hive.site.xml文件
cp /opt/hive/conf/hive-default.xml.template /opt/hive/conf/hive-site.xml
添加的配置为数据库连接配置(需要删掉文本中与之重复的原有配置)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.64.100:3306/hive?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hadoop</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
设置临时目录
<name>hive.exec.local.scratchdir</name>
/data/hive/tmp/local
<name>hive.downloaded.resources.dir</name>
/data/hive/tmp/resources
<name>hive.server2.logging.operation.log.location</name>
/data/hive/tmp/local/operation_logs
<name>hive.exec.scratchdir</name>
/data/hive/tmp/exec
hive.metastore.warehouse.dir 参数下的路径不存在的话,需要自己在hdfs建
4、将数据库驱动放入hive的lib目录
5、进入hive的bin目录初始化
cd /opt/hive/bin
schematool -dbType mysql -initSchema
报错:
linux下安装hive3.1
解决:
这是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。 检验方法:
查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本
查看hive安装目录下lib内guava.jar的版本 如果两者不一致,删除版本低的,并拷贝高版本的
报错:
linux下安装hive3.1
解决:
opt/hive/conf/hive-site.xml文件的第3215行有特殊字符,删掉即可
linux下安装hive3.1
报错:
linux下安装hive3.1
解决:
这是由于hive的元数据存储MYSQL配置不当引起的
mysql> set global binlog_format=‘MIXED’;
初始化成功
linux下安装hive3.1
6、启动验证
hive --version
linux下安装hive3.1
hive 启动