Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个 MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式 ——存储在名为metastore的数据库中。
① 卸载系统自带的mysql相关安装包,仅卸载mysql开头的包
[hadoop@masternode1 hadoop]# rpm -qa|grep mysql
mysql-libs-5.1.73-3.el6_5.x86_64
[hadoop@masternode1 hadoop]# rpm
rpm rpmdb rpmquery rpmverify
rpm2cpio rpmdumpheader rpmsign
[hadoop@masternode1 hadoop]# rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
[hadoop@masternode1 hadoop]#yum install gcc gcc-c++ ncurses-devel -y
下载cmake安装包
[hadoop@masternode1 cmake-2.8.12]$ wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
[hadoop@masternode1 cmake-2.8.12]$ tar zxvf cmake-2.8.12.tar.gz
[hadoop@masternode1 cmake-2.8.12]$ cd cmake-2.8.12
[hadoop@masternode1 cmake-2.8.12]$ ./bootstrap
[hadoop@masternode1 hadoop]# make && make install
[hadoop@masternode1 ~]# groupadd mysql;useradd -g mysql mysql
[hadoop@masternode1 ~]# su - hadoop
[hadoop@masternode1 cmake-2.8.12]$ mkdir -p /opt/mysql
[hadoop@masternode1 cmake-2.8.12]$ mkdir -p /opt/mysql/data
[hadoop@masternode1 cmake-2.8.12]$ mkdir -p /opt/mysql/log
[hadoop@masternode1 ~]$ chmod +w /opt/hadoop/mysql-5.6.25
[hadoop@masternode1 ~]$ chmod 756 /opt/hadoop/mysql-5.6.25/
wget http://dev.mysql.com/get/downloads/mysql/mysql-5.6.25.tar.gz
[hadoop@masternode1 hadoop]]$ tar zxvf mysql-5.6.25.tar.gz
[hadoop@masternode1 hadoop]]$ cd mysql-5.6.25
[hadoop@masternode1 hadoop]]$ mkdir data
[hadoop@masternode1 mysql-5.6.25]$ cmake -DCMAKE_INSTALL_PREFIX=/opt/hadoop/mysql-5.6.25 -DMYSQL_UNIX_ADDR=/opt/hadoop/mysql-5.6.25/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/opt/hadoop/mysql-5.6.25/data/ -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1-DENABLE_DOWNLOADS=1
若提示cmake命名不能运行,之后执行如下即可
export PATH=/opt/hadoop/cmake-2.8.12/bin/:$PATH
[hadoop@masternode1e mysql-5.6.25]# make && make install
注意
DMYSQL_UNIX_ADDR=/opt/hadoop/mysql-5.6.25/mysql.sock 必须目录有写的权限,chmod 756 /opt/hadoop/mysql-5.6.25/
或者-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 只需/tmp有写的权限即可 chmod 756 /tmp
Chown mysql:mysql /tmp 因此DMYSQL_UNIX_ADDR最好配置/tmp/mysql.scok
[hadoop@masternode1 ~]# ln -s /opt/hadoop/mysql-5.6.25/libmysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
[hadoop@masternode1 ~]# chown hadoop:hadoop /usr/lib/libmysqlclient.so.18
[hadoop@masternode1 mysql-5.6.25]# cp support-files/my-default.cnf /etc/my.cnf
[hadoop@masternode1 mysql-5.6.25]# chown hadoop:hadoop /etc/my.cnf
[hadoop@masternode1 mysql-5.6.25]$ vi /etc/my.cnf
datadir=/opt/hadoop/mysql-5.6.25/data
log-error=/opt/hadoop/mysql-5.6.25/mysql_error.log
pid-file=/opt/hadoop/mysql-5.