此文是基于上一篇文章:
因为Hive默认的数据库是derby,不支持同时开启两个./hive的命令终端;
而将Hive的默认数据库修改成mysql后,可以解决该问题。
仅在安装Hive的CloudDeskTop上配置
一、root用户下:上传mysql安装包(mysql-5.5.32.tar.gz)到/install目录下,并解压安装;
二、hadoop用户下:上传mysql驱动包(mysql-connector-java-3.0.17-ga-bin.jar )到/software/hive-1.2.2/lib
修改Hive的配置文件:
vi /software/hive-1.2.2/conf/hive-site.xml
更改数据库连接方式:
394395 javax.jdo.option.ConnectionURL 396 397jdbc:mysql://192.168.154.134:3306/hive?createDatabaseIfNotExist=true&characterEncoding=utf8 398JDBC connect string for a JDBC metastore 399
更改驱动:
789790 javax.jdo.option.ConnectionDriverName 791 792com.mysql.jdbc.Driver 793Driver class name for a JDBC metastore 794
更改登陆名:
815816 javax.jdo.option.ConnectionUserName 817 818root 819Username to use against metastore database 820
更改登录密码:
379380 javax.jdo.option.ConnectionPassword 381 382123456 383password to use against metastore database 384
更改日志格式是二进制格式:
vi /etc/my.cnf
52 #binlog_format=mixed53 binlog_format=row
三、测试安装是否成功:
root用户下:
cd /software/mysql-5.5.32/sbin ./mysqld start
lsof -i:3306 //查看是否启动成功
cd /software/mysql-5.5.32/bin
./mysql -uroot -p123456 -e "drop database if exists hive;create database hive character set latin1" //必须为latin1;因为hive不支持utf-8./mysql -uroot -p123456 -e "show databases;"//显示是否成功创建数据库
hadoop用户下:
【1、在slave节点启动zookeeper集群(小弟中选个leader和follower)】
cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh start && cd - && jps
cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh status && cd -【2、master01启动HDFS集群】cd /software/ && start-dfs.sh && jps
【3、master01启动YARN集群】cd /software/ && start-yarn.sh && jps
【YARN集群启动时,不会把另外一个备用主节点的YARN集群拉起来启动,所以在master02执行语句:】
cd /software/ && yarn-daemon.sh start resourcemanager && jps
【4、查看两个master谁是主节点:】
[hadoop@master01 software]$ hdfs haadmin -getServiceState nn1active (主节点)[hadoop@master01 software]$ hdfs haadmin -getServiceState nn2standby (备用主节点)【5、查看两个resourcemanager谁是主:】
[hadoop@master01 hadoop]$ yarn rmadmin -getServiceState rm1active(主)[hadoop@master01 hadoop]$ yarn rmadmin -getServiceState rm2standby(备用)
【此时进行测试,的确可以同时支持在两个ssh一起开启./hive的命令终端了】
数据仍然是存放在hdfs集群的hive配置的默认路径“/user/hive/warehouse”中的;