安装Hive

每个主机都要安装mysql和Hive

离线安装Mysql

先切换到root用户

卸载MariaDB

注意:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。

查看有没有安装mariadb

rpm -qa | grep -i mariadb

如果有,卸载MariaDB

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

卸载已有Mysql

卸载旧版本的Mysql

#查看有没有安装mysql
rpm -qa | grep -i mysql
#如果有,卸载旧版本Mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64

删除服务

#查看服务
chkconfig --list | grep -i mysql
#删除服务
chkconfig --del mysql
#删除mysql分散的文件夹
#查出相应的mysql文件夹
whereis mysql
#删除mysql文件夹
rm -rf /usr/lib64/mysql

离线安装mysql

rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm --nodeps

rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm --nodeps

启动mysql服务

安装完成后启动,可以查看状态

service mysql status

若没有启动,运行启动mysql

service mysql start

加入到开机启动项

chkconfig mysql on

初始化配置mysql服务

两次回车,后面跟着提示设置密码,自己设置密码,剩下的继续回车

执行脚本/usr/bin/mysql_secure_installation

cd /usr/bin/
./mysql_secure_installation

访问mysql服务并修改权限

密码我设为了123456

mysql -uroot -p123456

切换数据库

use mysql;

查看用户权限表

select user,host from user;

(提示报错不用管,忽略)

update user set host = '%' where user = 'root';

刷新权限

flush privileges;

安装完成,退出root用户!

Hive安装

已安装Hadoop2.7.7 , jdk1.8 , mysql5.1.73

  • 确保已启动Hadoop

安装hive

tar -zxvf apache-hive-1.2.1-bin.tar.gz

修改目录名

mv apache-hive-1.2.1-bin hive-1.2.1

备份配置文件

cd hive-1.2.1/conf/

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

配置hive的配置文件

修改hive-env.sh,添加三行内容

HADOOP_HOME=/home/sunshj/hadoop-2.7.7
JAVA_HOME=/home/sunshj/jdk1.8
HIVE_HOME=/home/sunshj/hive-1.2.1

用户环境变量.bashrc添加hive

export HIVE_HOME=/home/sunshj/hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin

立即生效

source .bashrc 

修改hive-site.xml,替换标签内相应内容

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.1.1:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/home/sunshj/hive-1.2.1/tmp</value>
</property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/sunshj/hive-1.2.1/tmp</value>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/sunshj/hive-1.2.1/tmp</value>
</property>

拷贝驱动

拷贝mysql驱动到$HIVE_HOME/lib目录下

cd hive-1.2.1/lib/

cp /home/sunshj/mysql-connector-java-5.1.17.jar ../lib/

将hive的jline-2.12.jar拷到hadoop下

cp /home/sunshj/hive-1.2.1/lib/jline-2.12.jar /home/sunshj/hadoop-2.7.7/share/hadoop/yarn/lib/ 

启动hive

启动hive的元数据

hive --service metastore &

启动hive

hive

拷贝到子节点

scp -r /home/sunshj/hive-1.2.1 sunshj@slave1:/home/sunshj/
scp -r /home/sunshj/hive-1.2.1 sunshj@slave2:/home/sunshj/

scp -r /home/sunshj/hadoop-2.7.7/share/hadoop/yarn/lib/jline-2.12.jar sunshj@slave1:/home/sunshj/hadoop-2.7.7/share/hadoop/yarn/lib/

scp -r /home/sunshj/hadoop-2.7.7/share/hadoop/yarn/lib/jline-2.12.jar sunshj@slave2:/home/sunshj/hadoop-2.7.7/share/hadoop/yarn/lib/


scp -r .bashrc sunshj@slave1:/home/sunshj/
scp -r .bashrc sunshj@slave2:/home/sunshj/

切换到子节点立即生效

source .bashrc 

Q.E.D.


狸猫控股集团大中华区秘书长