安装hive

  1. hive是一个基于hadoop的数据仓库,实质即为一个将MR任务封装为易于编写的hql语句(类似于sql语句)的组件。
  2. hive基于hadoop,因此运行hive必须安装hadoop,而hadoop则必须安装jdk。
  3. hive作为一个数据仓库,自然需要存储元数据,其内置有一个derby数据库用于存储元数据,但使用derby作为元数据库时只允许单用户单会话连接,生产实用时过于受限,因此常使用mysql作为其元数据库,可以做到多用户多会话连接。
  4. 因此,安装hive的前提是:jdk、hadoop、mysql

1. 安装jdk

  1. 首先查看自己Linux的系统位数和版本:uname -a 查看系统位数,cat /etc/redhat-release 查看centos版本。
  2. 上传jdk的安装包,或者网站下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  3. 解压:tar -xzvf(压缩打包文件) 或者 tar -xvf(压缩文件)
  4. 配置环境:sudo vim /etc/profile
export JAVA_HOME=jdk安装路径
     
 export PATH=$PATH:$JAVA_HOME/bin
  1. 生效环境变量:source etc/profile
  2. 验证是否安装: Java -version

2.安装hadoop

  1. 上传hadoop安装包,或者网站下载:https://hadoop.apache.org/releases.html
  2. 解压:tar -xzvf
  3. 配置环境:sudo vim /etc/profile
export HADOOP_HOME=hadoop安装路径
 export PATH=$PATH:$HADOOP_HOME/bin$HADOOP_HOME/sbin
  1. 生效环境变量: source etc/profile
  2. hadoop本身就已经具备本地模式的配置,因此,搭建本地模式的hadoop用于测试时,不需要额外配置其他文件。
  3. 验证是否安装:hadoop version

3.安装mysql

  1. 查看系统自带的旧版本mysql和mariadb,否则会版本冲突导致无法使用: rpm -qa | grep -i mysql rpm -qa|grep mariadb
  2. 卸载旧版mysql: rpm -e --nodeps mysql-xxx //卸载mysql rpm -e --nodeps 文件名 // 卸载mariadb
  3. hadoop版本支持 hive hadoop版本hive版本_linux

  4. 如果不卸载自带的Mariadb ,就会出现上述的情况,这代表无法正确安装mysql-server,其实就是安装失败,版本冲突
  5. 上传mysql安装包,或者网站下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads,这里记得下载rpm安装包,这种安装方式会自动加载依赖,简单方便。
  6. 解压:tar -xvf
  7. 安装mysql server:
    rpm -ivh MySQL-server-xxx
  8. hadoop版本支持 hive hadoop版本hive版本_hadoop版本支持 hive_02


  9. hadoop版本支持 hive hadoop版本hive版本_hive_03

  10. 这才是安装成功了
  11. 安装mysql client:
    rpm -ivh MySQL-client-xxx
  12. 启动服务:service mysql start
  13. 测试:
    登录:cat .mysql_secret :初始密码
    修改密码:set password=password(‘root’);
  14. 授权:
    GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  15. 如果第8步无法操作,则一定是出现了权限问题,如下操作
    /etc/init.d/MySQL stop
    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    mysql -u root mysql
    mysql>use mysql ;
    mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=‘root’ and host=‘root’ or host=‘localhost’;//把空的用户密码都修改成非空的密码就行了。
    mysql> FLUSH PRIVILEGES;
    mysql> quit # /etc/init.d/mysqld restart
    mysql -uroot -p
    Enter password: <输入新设的密码newpassword>
  16. 后续第一次使用时可能会出现错误:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
    其实就是再输一遍密码:SET PASSWORD = PASSWORD(‘123456’);
  17. 安装mysql警告: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    原因:这是由于yum安装了旧版本的GPG keys造成的
    解决办法:后面加上 :–force --nodeps
    如: rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm --force --nodeps
    从 RPM 版本 4.1 开始,在安装或升级软件包时会检查软件包的签名。如果签名校验失败,你就会看到如下所示的错误消息:
      error: V3 DSA signature: BAD, key ID 0352860f
    如果它是新的、只针对文件头的签名,你会看到如下所示的错误消息:
      error: Header V3 DSA signature: BAD, key ID 0352860f
    如果你没有安装合适的钥匙来校验签名,消息中就会包含 NOKEY ,如:
      warning: V3 DSA signature: NOKEY, key ID 0352860f
    在CentOS下有的时候用yum安装软件的时候最后会提示:
    引用
    warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID*****
    这是由于yum安装了旧版本的GPG keys造成的,解决办法就是
    引用
    rpm --import /etc/pki/rpm-gpg/RPM*
    再安装软件就不会有这个错误提示了。

4.安装hive

  1. 上传hive安装包,或者网站下载:http://www.apache.org/dyn/closer.cgi/hive/
  2. 解压: tar -xzvf
  3. 修改环境变量:
    sudo vim /etc/profile
    export HIVE_HOME=hive安装路径
    export PATH=hadoop版本支持 hive hadoop版本hive版本_mysql_04HIVE_HOME/bin
    source /etc/profile
  4. 修改hive配置文件
    cd hive/conf
    touch hive-site.xml
<configuration>

 	<property>
 	<name>javax.jdo.option.ConnectionURL</name>
 	<value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true</value>
 	<description>元数据库的连接url,myhive指的是hive的元数据在mysql中的库名</description>
 	<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
 	</property>

 	<property>
 	<name>javax.jdo.option.ConnectionDriverName</name>
 	<value>com.mysql.jdbc.Driver</value>
 	<description>指定元数据库mysql的驱动类</description>
 	</property>

 	<property>
 	<name>javax.jdo.option.ConnectionUserName</name>
 	<value>root</value>
 	<description>元数据库mysql的用户名</description>
 	</property>

 	<property>
 	<name>javax.jdo.option.ConnectionPassword</name>
 	<value>123456</value>
 	<description>元数据库mysql的密码</description>
 	</property>
 	</configuration>
  1. 下载mysql的驱动包:https://dev.mysql.com/downloads/connector/j/,然后将驱动包放到hive的依赖库lib中。
  2. 初始化hive的元数据库
schematool -dbType mysql -initSchema
 	schemaTool completed
  1. 启动hive:hive,即可进入 hive> 。

最后附两个linux命令

uname:用来获取电脑和操作系统的相关信息。

语  法:uname [-amnrsvpio][–help][–version]
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
参  数:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
-m或–machine 显示主机的硬件(CPU)名
-n或-nodename 显示主机在网络节点上的名称或主机名称
-r或–release 显示linux内核版本号
-s或–sysname 显示linux内核名称
-v 显示显示操作系统是第几个 version 版本
-p 显示处理器类型或unknown
-i 显示硬件平台类型或unknown
-o 显示操作系统名
–help 获得帮助信息
–version   显示uname版本信息

cat /etc/redhat-release : 获取centos版本等级

 

附件:完美的mysql安装记录

 

Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。好了,话不多说,上教程:

在接下来的mysql安装过程中,请一定保证自己当前所在目录是正确的! 

e g: [root@localhost ~]# 表示当前目录为~

[root@localhost mysql]# 表示当前目录为mysql

一、安装MySQL

1、下载安装包mysql-5.6.34-linux-glibc2.5-x86_64.tar(可前往官网自行下载:http://dev.mysql.com/downloads/mysql/)

2、卸载系统自带的Mariadb

打开Terminal终端:


[root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件


hadoop版本支持 hive hadoop版本hive版本_linux_05

3、删除etc目录下的my.cnf


[root@localhost ~]# rm /etc/my.cnf


hadoop版本支持 hive hadoop版本hive版本_linux_05

4、执行以下命令来创建mysql用户组

 


[root@localhost ~]# groupadd mysql


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

 


[root@localhost ~]# useradd -g mysql mysql


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件  /usr/local/)

7、解压安装包

 


[root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,

 


则解压命令为: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

8、将解压好的文件夹重命名为mysql

 


[root@localhost local]# mv 解压出来的文件夹名 mysql


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

9、在 etc 下新建配置文件my.cnf,并在该文件中添加一下代码:

 

当然,也有简单方式:直接copy一份my.cnf文件到/etc下,然后再修改即可。

e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下

 


命令为:[root@localhost support-files]# cp my-default.cnf /etc/my.cnf


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

然后,配置/etc目录下的my.cnf文件

 


[root@localhost support-files]# vim /etc/my.cnf


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

通过vim编辑器编辑my.cnf代码如下:

 


[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock


[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock

设置mysql的安装目录

basedir=/usr/local/mysql

设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

允许最大连接数

max_connections=200

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
hadoop版本支持 hive hadoop版本hive版本_linux_05

 

10、进入安装mysql软件目录

 


[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql ./       修改当前目录拥有着为mysql用户
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

注:若执行以上最后一个命令出现以下问题:

 


FATAL ERROR: please install the following Perl modules before executing 
./scripts/mysql_install_db:Data::Dumper


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

解决方法 :安装autoconf库

 


命令: yum -y install autoconf   //此包安装时会安装Data:Dumper模块
安装完成重新执行上述最后一个命令


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

重新回到上述第三个命令继续操作:

 


[root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

到此数据库安装完毕!

 

二、配置MySQL

1、授予my.cnf最大权限

 


[root@localhost ~]# chmod 777 /etc/my.cnf


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

设置开机自启动服务控制脚本:

2、复制启动脚本到资源目录

 


[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

3、增加mysqld服务控制脚本执行权限

 


[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

4、将mysqld服务加入到系统服务

 


[root@localhost mysql]# chkconfig --add mysqld


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

5、检查mysqld服务是否已经生效

 


[root@localhost mysql]# chkconfig --list mysqld


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

命令输出类似下面的结果:

 


mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

 


命令为:service mysqld start和service mysqld stop


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

6、启动mysqld

 


[root@localhost mysql]# service mysqld start


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

7、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件

 


[root@localhost mysql]# vim ~/.bash_profile


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

在文件最后添加如下信息:

 


export PATH=$PATH:/usr/local/mysql/bin


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

然后按ESC键

继续 shift键加冒号打出来=>  :

接下来输入wq回车即可

执行下面的命令是修改的内容立即生效:

 


[root@localhost mysql]# source ~/.bash_profile


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

8、以root账户登录mysql,默认是没有密码的

 


[root@localhost mysql]# mysql -uroot -p


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

要输入密码的时候直接回车即可。

9、设置root账户密码为root(也可以修改成你要的密码)

 


mysql>use mysql;
mysql>update user set password=password('root') where user='root' and host='localhost';
mysql>flush privileges;


hadoop版本支持 hive hadoop版本hive版本_linux_05

 

10、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码

 


mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH
GRANT OPTION;


好了,到此,在Centos 7上安装mysql5.6就完成了。当然,centos 6上安装mysql也可按照如此操作。接下来,快去用Centos 7安装好的mysql去写写sql command吧!