
hadoop version :hadoop 2.7.3
mysql version :MySQL 5.7.32
(一)Hive集群规划| 角色 | Master | test2 | test3 |
|---|---|---|---|
| MySql | ● | × | × |
| Metstore | × | ● | × |
| CLI | × | × | ● |
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-community-client-5.7.32-1.el7.x86_64.rpm https://cdn.mysql.com/archives/mysql-5.7/mysql-community-common-5.7.32-1.el7.x86_64.rpm https://cdn.mysql.com/archives/mysql-5.7/mysql-community-libs-5.7.32-1.el7.x86_64.rpm https://cdn.mysql.com/archives/mysql-5.7/mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm https://cdn.mysql.com/archives/mysql-5.7/mysql-community-server-5.7.32-1.el7.x86_64.rpm
yum install -y mysql-community-*-5.7.32-1.el7.x86_64.rpm
# 开启MySQL服务器 systemctl start mysqld # 查看默认生成的密码 cat /var/log/mysqld.log | grep password
#使用你查到的临时密码进行登录 mysql -u root -p
#设置密码登记 set global validate_password_length=4; set global validate_password_policy=0; #修改默认密码 ALTER USER 'root'@'localhost' IDENTFIED WITH mysql_native_password BY '密码';#此处注意修改您的密码
默认表的字符集是拉丁文,后续录入中文会有乱码,所以需要将如下两个改为UTF-8
character_set_databse
character_set_server
修改配置文件
vim /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 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 # # 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 = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # 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 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
重点部分
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8
修改后重启MySql服务
Hive下载地址
Hive 2.2.0下载地址
# 使用root用户的话,默认目录是在root # 上传的位置是 /root/ # 解压缩文件 tar -zxf apache-hive-2.2.0-bin.tar.gz # 重命名文件夹并将文件夹移动到/usr/local目录下 mv apache-hive-2.2.0-bin.tar.gz /usr/local/Hive
环境变量配置
vi + /etc/profile
在环境变量中添加如下:
# Hive环境变量
export HIVE_HOME=/usr/local/hive #这里就是你存放Hive的路径
export PATH=$PATH:${HIVE_HOME}/bin
保存更新后需要更新环境变量
source /etc/profile
第一个配置文件 Hive-site.xml
# 将Hive文件夹里面的Hive-default.xml.template改名为Hive-site.xml mv ./Hive-default.xml.template ./Hive-site.xml # 修改Hive-site.xml配置文件 vi + /Hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://192.168.131.132:3306/hive javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.metastore.schema.verification false
第二个配置文件hive-env.sh
# 这是我的环境配置(供参考) # 所有的软件路径根据主机的安装路径来决定 export JAVA_HOME=/usr/local/java export HADOOP_HOME=/usr/local/hadoop export HIVE_HOME=/usr/local/hive
配置其他节点的Hive
scp -r 文件路径 用户@主机名:存放路径
[hadoop@hadoop02 ~]$ vim hive/conf/hive-site.xml[hadoop@hadoop03 ~]$ vim hive/conf/hive-site.xml hive.metastore.uris thrift://Master:9083 hive.metastore.uris thrift://Master:9083
Error: Duplicate key name 'PCS_STATS_IDX' (state=42000,code=1061)org.apache.hadoop.hive.metastore.HivemetaException: Schema initialization FAILED! metastore state would be inconsistent !!
原因:MySQL中已经存在Hive需要的表
解决方式:删除MySQL中的所有表然后再进行初始化
报错现象(如果是按照上面的hive-env.sh进行配置的话不会出现这个问题):
[root@master bin]# ./schematool -dbType mysql -initSchema Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_191/bin:/root/bin) Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 metastore connection URL: jdbc:mysql://192.168.52.26:3306/hive metastore Connection Driver : com.mysql.jdbc.Driver metastore connection User: APP org.apache.hadoop.hive.metastore.HivemetaException: Failed to get schema version. *** schemaTool failed ***
解决方法:
hive-site.xml文件中添加以下内容
javax.jdo.option.ConnectionURL jdbc:mysql://192.168.52.26:3306/hive javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword root
紫色飞猪——整体思路
XiaoHH Superme——MySQL安装
魁·帝小仙—— Hive安装与配置详解
吹静静——问题(2)解决思路