欢迎来到我的博客小站。  交流请加我微信好友: studyjava。  也欢迎关注公众号:Java学习之道 Fork me on GitHub

Hive默认数据库修改配置

此文是基于上一篇文章:Hive环境搭建及测试

 

因为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

更改数据库连接方式:

394 <property>
395 <name>javax.jdo.option.ConnectionURL</name>
396 <!--<value>jdbc:derby:;databaseName=metastore_db;create=true</value>-->
397 <value>jdbc:mysql://192.168.154.134:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=utf8</value>
398 <description>JDBC connect string for a JDBC metastore</description>
399 </property>

更改驱动:

789 <property>
790 <name>javax.jdo.option.ConnectionDriverName</name>
791 <!-- <value>org.apache.derby.jdbc.EmbeddedDriver</value> -->
792 <value>com.mysql.jdbc.Driver</value>
793 <description>Driver class name for a JDBC metastore</description>
794 </property>

更改登陆名:

815 <property>
816 <name>javax.jdo.option.ConnectionUserName</name>
817 <!-- <value>APP</value> -->
818 <value>root</value>
819 <description>Username to use against metastore database</description>
820 </property>

更改登录密码:

379 <property>
380 <name>javax.jdo.option.ConnectionPassword</name>
381 <!-- <value>mine</value> -->
382 <value>123456</value>
383 <description>password to use against metastore database</description>
384 </property>

更改日志格式是二进制格式:

vi /etc/my.cnf
52 #binlog_format=mixed
53 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 nn1
active (主节点)
[hadoop@master01 software]$ hdfs haadmin -getServiceState nn2
standby (备用主节点)

【5、查看两个resourcemanager谁是主:】
[hadoop@master01 hadoop]$ yarn rmadmin -getServiceState rm1
active(主)
[hadoop@master01 hadoop]$ yarn rmadmin -getServiceState rm2
standby(备用)

 

【此时进行测试,的确可以同时支持在两个ssh一起开启./hive的命令终端了】

  数据仍然是存放在hdfs集群的hive配置的默认路径“/user/hive/warehouse”中的;

posted @ 2017-12-26 18:27  淼淼之森  阅读(5232)  评论(0编辑  收藏  举报
  👉转载请注明出处和署名