Hive多用户模式环境搭建: 架构:
Namenode | Datanode | Journalnode | Zookeeper | ZKFC | ResourceManager | NodeManager | MySql | MetaStoreServer(服务端) | HiveCLI(客户端) |
node1 | 1 | 1 | 1 | 1 | 1 | ||||
node2 | 1 | 1 | 1 | 1 | 1 | 1 | |||
node3 | 1 | 1 | 1 | 1 | 1 | 1 | |||
node4 | 1 | 1 | 1 | 1 |
前期准备:安装MySQL数据库 部署主机:hadoop1 用户名/密码:root/123 安装Mysql: 1、yum install mysql mysql-server -y 2、mysql安装完毕后,启动MySQL服务, service mysqld start 进入MySQL mysql -u root -p 首次进入无密码 3、登录成功后,修改权限信息 grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;--授权 use mysql; select host , user , password from user ; delete from user where host !='%'; --删除多余会对权限造成影响的数据 flush privileges;--刷新 OK! MySQL配置完成!
Hive安装 1、将hive的安装包 apache-hive-1.2.1-bin.tar,上传至 hadoop3的/home/software目录下,解压到/home目录下: tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /home/ 配置环境变量:修改/etc/profile文件,添加以下配置: export HIVE_HOME=/home/apache-hive-1.2.1-bin export PATH=$PATH:$HIVE_HOME/bin 保存退出,刷新缓存: source /etc/profile hadoop4执行相同操作。 2、配置服务端(hadoop3)。 进入hive安装目录下的conf目录,对hive自带的配置文件模板进行修改 cd /home/apache-hive-1.2.1-bin/conf mv hive-default.xml.template hive-site.xml --系统加载配置时,会自动寻找名为hive-site.xml配置文件 vi hive-site.xml 删除<configuration>之间的原有配置,添加以下配置: <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExist=true</value> --配置mysql </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>123</value> </property> 此时,hive客户端的配置已经完成。 但是有个需要特别注意的地方: Metastore Server 作为Hive服务端与MySQL数据库进行交互,必须要有驱动包才可以。需要把mysql的驱动包mysql-connector-java-5.1.32-bin 拷贝至 /home/apache-hive-1.2.1-bin/lib 目录下。 3、启动Hive服务端 hive --service metastore & ------ 末尾不加&为前台启动,加&为后台启动 4、配置客户端 cd /home/apache-hive-1.2.1-bin/conf mv hive-default.xml.template hive-site.xml --系统加载配置时,会自动寻找名为hive-site.xml配置文件 vi hive-site.xml 删除<configuration>之间的原有配置,添加以下配置: <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://hadoop3:9083</value> </property> 5、需要注意: hive 与 hadoop 各自有一个 jLine的jar包 , 要保证两个jLine 的版本一致。 cp /home/apache-hive-1.2.1-bin/lib/jline-2.12.jar /home/hadoop-2.5.1/share/hadoop/yarn/lib/ rm -f /home/hadoop-2.5.1/share/hadoop/yarn/lib/jline-0.9.94.jar 6、启动hive [[email protected] conf]# hive 17/05/01 19:56:03 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
Logging initialized using configuration in jar:file:/home/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties hive>