hive概述
数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。可以将结构投影到已经存储的数据上。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。数据仓库
hive官网:Apache Hive TM
一,安装mysql
1、mysql解压
[root@master mysql]# mkdir /usr/local/src/mysql
[root@master mysql]# tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local/src/mysql/
2、到mysql解压的路径
[root@master app]# cd /usr/local/src/mysql
3、删除依赖包
[root@master mysql]# yum remove mysql-libs
4、下载包
[root@master mysql]# yum -y install perl
[root@master mysql]# yum -y install net-tools
5、进入MySQL解压包
[root@master mysql]# rpm -vih mysql-community-common-5.7.28-1.el7.x86_64.rpm
[root@master mysql]# rpm -vih mysql-community-libs-5.7.28-1.el7.x86_64.rpm
[root@master mysql]# rpm -vih mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
[root@master mysql]# rpm -vih mysql-community-client-5.7.28-1.el7.x86_64.rpm
[root@master mysql]# rpm -vih mysql-community-server-5.7.28-1.el7.x86_64.rpm
查看mysql安装包
[root@master src]# rpm -qa | grep mysql
删除myql
#先看包
[root@big-01 mysqls]# rpm -qa | grep mysql
[root@big-01 mysqls]# yum remove mysql-community#用这个删除
看mysql文件
[root@big-01 mysqls]#find / -name mysql
使用rm删除
启动:service mysqld start
二,改密码
1、进入/etc/my.cnf,写入skip-grant-table
[root@master mysql]# vi /etc/my.cnf skip-grant-tables
2、开启mysql并将服务添加到开机启动
[root@master mysql]# service mysqld start
[root@master mysql]# systemctl enable mysqld
3、进入mysql
[root@master mysql]# mysql
4、设置密码,并退出
mysql> use mysql;
mysql> update user set authentication_string=passworD("lmq12345")where user='root';
mysql> quit;
5、进入/etc/my.cnf,删除刚刚写的
[root@master mysql]# vi /etc/my.cnf
6、重启mysql,并进入mysql
[root@master mysql]# service mysqld restart
[root@master mysql]# mysql -u root -p
lmq123456
7、设置新密码:字母小写+数字+怎么大写+@
mysql> ALTER USER 'root'@'localhost' identified by 'lmq12345L@';
8、授权
mysql> grant all privileges on *.* to root@'%' identified by 'lmq12345L@';
9、立即生效,并创建hive数据库
mysql> flush privileges;
mysql> create database hive;
三,配置hive
1、解压到/usr/local/src,并进入/usr/local/src
[root@master app]# tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /usr/local/src
[root@master app]# cd /usr/local/src
2、进入/usr/local/src/apache-hive-1.2.2-bin/conf
创建hive-site.xml文件,不要复制模板
[root@master src]# cd /usr/local/src/apache-hive-1.2.2-bin/conf
[root@master conf]# pwd
/usr/local/src/apache-hive-1.2.2-bin/conf
[root@master conf]# touch hive-site.xml
[root@master conf]# vi hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master/hive_db?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--这个可以设,可以不设-->
<property>
<name>java.io.tmpdir</name>
<value>/usr/local/src/apache-hive-1.2.2-bin/iotmp</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/src/apache-hive-1.2.2-bin/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://ns/user/hive/back-up</value>
</property>
</configuration>
3、创建iotmp和tmp
[root@master apache-hive-1.2.2-bin]# pwd
/usr/local/src/apache-hive-1.2.2-bin
[root@master apache-hive-1.2.2-bin]# mkdir tmp iotmp
[root@master apache-hive-1.2.2-bin]# ls
bin examples iotmp LICENSE README.txt scripts
conf hcatalog lib NOTICE RELEASE_NOTES.txt tmp
4、修改环境变量,并生效:
[root@master apache-hive-1.2.2-bin]# vi ~/.bash_profile
JAVA_HOME=/usr/local/src/jdk1.8.0_221
ZK_HOME=/usr/local/src/zookeeper-3.4.5
HADOOP_HOME=/usr/local/src/hadoop-2.6.0
HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$ZK_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export PATH JAVA_HOME ZK_HOME HIVE_HOME CLASSPATH HADOOP_HOME
[root@master hive-1.2.2]# source ~/.bash_profile
5、上传驱动到 /usr/local/src/apache-hive-1.2.2-bin/lib/
下载地址MySQL :: Download Connector/J
[root@master app]# pwd
/root/app
[root@master app]# tar -zxvf mysql-connector-java-5.1.48.tar.gz ~/
6、进入 进去复制到 hive/lib
[root@master ~]# cd mysql-connector-java-5.1.48
[root@master mysql-connector-java-5.1.48]#cp mysql-connector-java-5.1.48-bin.jar /usr/local/src/hive-1.2.2/lib
7、删除 拷贝
[root@slave1 lib]# rm -r /usr/local/src/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar
[root@master lib]# cp /usr/local/src/hive-1.2.2-bin/lib/jline-2.12.jar /usr/local/src/hadoop-2.6.0/share/hadoop/yarn/lib
8、格式化hive
[root@master conf]# schematool -dbType mysql -initSchema
启动hive
需要先启动hadoop,且master必须是active,因为hive的数据是放在master上的,需要master活跃才能存放数据
三个节点都可以安装hive,它们所创的表都放在默认路径,路径可以改的
http://master:50070/explorer.html#/user/hive/warehouse
删除mysql
Linux下彻底卸载mysql详解 - nicknailo - 博客园
问题:
1,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),重装mysql
2.hive格式化时显示:Error: Tablespace '`hive_db`.`PART_COL_STATS`' exists. (state=HY000,code=1813)
将hive-site.xml的URL的库名改过,再格式化
3,Error: Can't create table 'SKEWED_COL_VALUE_LOC_MAP' (errno: 28) (state=HY000,code=1005)