文章目录
- HIVE的安装部署(一)
- derby版hive直接使用:
- 1、直接启动 bin/hive
- 使用mysql共享hive元数据
- mysql数据库的安装方式一(使用rpm包的方式进行安装,`不推荐`)
- mysql数据库的安装(使用yum源进行安装,强烈推荐)
- HIVE的安装部署(二)
- 修改hive的配置文件
- 上传mysql的lib驱动包
HIVE的安装部署(一)
准备集群
#启动集群
[root@node01 ~]# jps
[root@node01 ~]# cd /export/install/hadoop-2.6.0-cdh5.14.0/sbin/
[root@node01 ~]# ./start-all.sh
[root@node01 ~]#
[root@node01 ~]# cd /export/soft/
[root@node01 ~]# rz (Hive上传到集群)
derby版hive直接使用:
解压hive
[root@node01 ~]# cd /export/soft
[root@node01 ~]# rz
[root@node01 ~]# tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/
将jar拷贝到其他节点上 解压
拷贝到其他节点上
[root@node01 soft]# scp hive-1.1.0-cdh5.14.0.tar.gz node02:/$PWD
在该节点进行解压
[root@node02 ~]# tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/
1、直接启动 bin/hive
[root@node01 /]# cd /export/install/hive-1.1.0-cdh5.14.0/bin/
[root@node01 bin]# hive
hive (default)> create database mytest; #(hive创建表)
缺点:多个地方安装hive后,每一个hive是拥有一套自己的元数据,大家的库、表就不统一;
总结:每个节点自己维护自己的元数据库(derby),导致多个节点之间元数据不共享
使用mysql共享hive元数据
mysql数据库的安装方式一(使用rpm包的方式进行安装,不推荐
)
- 第一步:查看系统自带的mysql的rpm包
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
- 第二步:安装mysql的rpm包
rpm -ivh *.rpm
- 第三步:启动mysql的服务
service mysqld start
- 第四步:查看mysql初始化密码
more /root/.mysql_secret
- 第五步:使用随记密码登录mysql并更新密码
mysql -uroot –p
SET PASSWORD = PASSWORD('123456');
- 第六步:开启mysql远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
chkconfig --add mysqld
chkconfig mysqld on
mysql数据库的安装(使用yum源进行安装,强烈推荐)
查看mysql是否安装
[root@node03 ~]# rpm -qa | grep mysql
- 第一步:在线安装mysql相关的软件包
[root@node03 ~]# yum install -y mysql mysql-server mysql-devel
- 第二步:启动mysql的服务
[root@node03 ~]# /etc/init.d/mysqld start (启动mysql)
[root@node03 ~]# /etc/init.d/mysqld status (查看mysql状态)
mysqld (pid 1948) 正在运行...
[root@node03 ~]# chkconfig mysqld on (开机自启)
- 第三步:进入mysql的客户端然后进行授权
use mysql;
配置远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
- 第四步 设置root用户链接mysql的密码
update user set password=password('123456') where user='root';
flush privileges;
安装mysql完毕
HIVE的安装部署(二)
[root@node01 /]# cd /export/install/hive-1.1.0-cdh5.14.0/conf
[root@node01 conf]# cp hive-env.sh.template hive-env.sh
[root@node01 conf]# vim hive-env.sh
修改hive的配置文件
#修改hive-env.sh
[root@node01 conf]# vim hive-env.sh
HADOOP_HOME=${HADOOP_HOME}
#或者HADOOP_HOME=/export/install/hadoop-2.6.0-cdh5.14.0
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/export/install/hive-1.1.0-cdh5.14.0/conf
添加我们的hadoop的环境变量:
没有就添加再修改hive-site.xml
[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/conf
[root@node01 conf]# vim hive-site.xml
#mysql在哪个节点就改成哪个节点的主机名上的节点
[root@node01 conf]# vim hive-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node03: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.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node03</value>
</property>
<!--
<property>
<name>hive.metastore.uris</name>
<value>thrift://node03:9083</value>
</property>
-->
</configuration>
拷贝到其他节点上
[root@node01 install]# scp -r hive-1.1.0-cdh5.14.0 node02:$PWD
通过拷贝hadoop.sh 修改成hive.sh
拷贝hadoop.sh 生成 hive.sh 文件
[root@node01 install]# cp /etc/profile.d/hadoop.sh /etc/profile.d/hive.sh
修改hive.sh文件
[root@node01 install]# vim /etc/profile.d/hive.sh
export HIVE_HOME=/export/install/hive-1.1.0-cdh5.14.0
export PATH=$PATH:$HIVE_HOME/bin
[root@node01 install]# source /etc/profile (加载后自动提示)
将hive.sh拷贝到其他节点上
[root@node01 /]# scp /etc/profile.d/hive.sh node02:/etc/profile.d/
其他节点加载
[root@node02 install]# source /etc/profile (加载后自动提示)
上传mysql的lib驱动包
出现这个错误可能没有上传mysql驱动包
将mysql的lib驱动包上传到hive的lib目录下
[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/lib
将mysql-connector-java-5.1.38.jar 上传到这个目录下
将驱动包拷贝到其他节点上
[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/lib
[root@node01 lib]# scp mysql-connector-java-5.1.38.jar node02:$PWD