网站建设管理工作的总结,网站建设搜索键如何设置链接,wordpress文章如何分类添加,wordpress models1 Hive的安装方式
hive的安装一共有三种方式:内嵌模式、本地模式、远程模式。
元数据服务(metastore#xff09;作用是#xff1a;客户端连接metastore服务#xff0c;metastore再去连接MySQL数据库来存取元数据。有了metastore服务#xff0c;就可以有多个客户端同时连接…1 Hive的安装方式
hive的安装一共有三种方式:内嵌模式、本地模式、远程模式。
元数据服务(metastore作用是客户端连接metastore服务metastore再去连接MySQL数据库来存取元数据。有了metastore服务就可以有多个客户端同时连接而且这些客户端不需要知道MySQL数据库的用户名和密码只需要连接metastore 服务即可。
1.1 内嵌模式
内嵌模式使用的是内嵌的Derby数据库来存储元数据也不需要额外起Metastore服务。数据库和Metastore服务都嵌入在主Hive Server进程中。这个是默认的配置简单但是一次只能一个客户端连接适用于用来实验不适用于生产环境。 解压hive安装包 bin/hive 启动即可使用 缺点不同路径启动hive每一个hive拥有一套自己的元数据无法共享。
1.2 本地模式
本地模式采用外部数据库来存储元数据目前支持的数据库有MySQL、Postgres、Oracle、MS SQL Server.在这里我们使用MySQL。 本地模式不需要单独起metastore服务用的是跟hive在同一个进程里的metastore服务。也就是说当你启动一个hive 服务里面默认会帮我们启动一个metastore服务。 hive根据hive.metastore.uris 参数值来判断如果为空则为本地模式。 缺点是每启动一次hive服务都内置启动了一个metastore。 1.3 远程模式
远程模式下需要单独起metastore服务然后每个客户端都在配置文件里配置连接到该metastore服务。远程模式的metastore服务和hive运行在不同的进程里。 在生产环境中建议用远程模式来配置Hive Metastore。 在这种情况下其他依赖hive的软件都可以通过Metastore访问hive。 远程模式下需要配置hive.metastore.uris 参数来指定metastore服务运行的机器ip和端口并且需要单独手动启动metastore服务。 hiveserver2是Hive启动了一个server客户端可以使用JDBC协议通过IP Port的方式对其进行访问达到并发访问的目的。
2 远程模式安装
2.1 上传并且解压 2.2 添加环境变量 vim /etc/profileexport JAVA_HOME/usr/local/jdk1.8
export HADOOP_HOME/usr/local/hadoop-3.1.3
export HBASE_HOME/usr/local/hbase-2.4.11
export HIVE_HOME/usr/local/apache-hive-3.1.2-binexport PATH.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$PATHsource /etc/profile2.3 解决lib包冲突
cd /usr/local/apache-hive-3.1.2-bin/libmv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak2.4 上传mysql连接驱动 2.5 修改配置文件
cd /usr/local/hive-3.1.2/confvim hive-site.xml?xml version1.0?
?xml-stylesheet typetext/xsl hrefconfiguration.xsl?
configuration!--mysql 数据库配置--propertynamejavax.jdo.option.ConnectionURL/namevaluejdbc:mysql://hadoop4:3306/hive?useSSLfalse;useUnicodetrue;characterEncodingUTF-8/value/propertypropertynamejavax.jdo.option.ConnectionDriverName/namevaluecom.mysql.jdbc.Driver/value/propertypropertynamejavax.jdo.option.ConnectionUserName/namevalueroot/value/propertypropertynamejavax.jdo.option.ConnectionPassword/namevalue123456/value/property!-- hdfs 存储目录 --propertynamehive.metastore.warehouse.dir/namevalue/hive/warehouse/value/property!-- 不校验元数据 --propertynamehive.metastore.schema.verification/namevaluefalse/value/property!-- hive 端口 --propertynamehive.server2.thrift.port/namevalue10000/value/property!-- hive 服务器地址 --propertynamehive.server2.thrift.bind.host/namevaluehadoop1/value/propertypropertynamehive.metastore.event.db.notification.api.auth/namevaluefalse/value/property/configuration2.6 数据库
#在mysql中创建hive数据库
hive#命令初始化表
cd /usr/local/hive-3.1.2/bin
./schematool -initSchema -dbType mysql -verbose#修改元数据字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8; 2.7 启动hive
cd /usr/local/hive-3.1.2/binnohup ./hive --service metastore metastore.log 21
nohup ./hive --service hiveserver2 hiveserver.log 21 2.8 测试连接
./beeline
!connect jdbc:hive2://hadoop3:100003 datagrid连接hive
3.1 取出jdbc连接驱动 3.2 自定义连接驱动