首页 > 其他分享 >FI的developuser就是人机用户

FI的developuser就是人机用户

时间:2023-06-02 22:01:52浏览次数:48  
标签:Fiber 人机 ecotesting developuser zookeeper hadoop jdbc conf FI

DbVisualizer对接FusionInsight¶

适用场景

DbVisualizer 10.0.21 ↔ FusionInsight HD 6.5 (Hive/Phoenix/SparkSQL)

简介

SQL开发工具,如DbVisualizer、DBeaver、Squirrel是数据库开发的常用选择,虽然这些工具大多不提供原生Hive、SparkSQL、Phoenix的支持,但是通过它们支持的自定义JDBC的能力,我们可以与FusionInsignt提供的Fiber组件的JDBC接口进行对接,实现这Hive、SparkSQL、Phoenix组件的统一SQL查询。

  • Fiber架构图

FI的developuser就是人机用户_bc

本文档主要描述在Window操作系统,DbVisualizer通过Fiber方式对接FusionInsight HD的Hive、Spark2x、Phoenix组件。

准备工作

  • 登录FusionInsight Manager创建一个“人机”用户,例如:developuser,具体请参见FusionInsight HD产品文档的管理员指南->系统设置->权限设置->用户管理->创建用户章节。给developuser用户授予所有访问权限,包含但不限于Spark2x、Hive、HBase。
  • 已完成FusionInsight HD客户端安装,具体请参见FusionInsight HD产品文档的应用开发指南->安全模式->安全认证->配置客户端文件章节。
  • 已将集群的节点主机名与IP的映射关系加入到windows的hosts文件中C:\Windows\System32\drivers\etc\hosts
  • 客户端机器的时间与FusionInsight HD集群的时间要保持一致,时间差小于5分钟。
  • Windows上已经安装好jdk1.8或者以上版本,并完成jdk环境变量配置。
  • Hive数据库已存在表student,数据类似于:

FI的developuser就是人机用户_bc_02

示例如下:


CREATE TABLE IF NOT EXISTS student(id INT, name STRING, class_id INT);
INSERT INTO student VALUES (1,'Tom',1);
INSERT INTO student VALUES (2,'Sandy',2);
INSERT INTO student VALUES (3,'Benny',3);
INSERT INTO student VALUES (4,'Tina',1);

Fiber认证方式配置

操作场景

Fiber的安全认证有kinit和keytab两种方式。具体参数配置说明可参考FusionInsight HD产品文档的业务操作指南->统一SQL(Fiber)->客户端配置章节。

前提条件

  • 已完成准备工作。
  • 将FusionInsight HD客户端的Fiber、Hive、Spark2x、HBase客户端文件夹,拷贝至本地新建目录C:\ecotesting。假设FusionInsight HD客户端安装于/opt/hadoopclient目录,则:
  • /opt/hadoopclient/Fiber拷贝至本地C:\ecotesting目录。
  • /opt/hadoopclient/Hive拷贝至本地C:\ecotesting\Fiber目录。
  • /opt/hadoopclient/Spark2x拷贝至本地C:\ecotesting\Fiber目录。
  • /opt/hadoopclient/HBase拷贝至本地C:\ecotesting\Fiber目录。
  • C:\ecotesting\Fiber\HBase\hbase\lib\phoenix-core-4.13.1-HBase-1.3.jar拷贝至C:\ecotesting\Fiber\lib

FI的developuser就是人机用户_hadoop_03

  • 登录FusionInsight Manager的系统->用户->更多(developuser)->下载认证凭证,下载developuser对应的认证凭证。将用户的 krb5.conf 和 user.keytab 文件拷贝到C:\ecotesting\Fiber\conf目录下。

操作步骤

使用kinit认证方式配置

  • http://web.mit.edu/kerberos/dist/#kfw-4.0下载对应操作系统架构的MIT Kerberos并安装。
  • 设置Kerberos的配置文件。将用户的krb5.conf文件重命名为 krb5.ini 放在C:\ProgramData\MIT\Kerberos5目录下。
  • 设置Kerberos票据的缓存文件
  • 在本地创建存放票据的目录,例如C:\temp
  • 设置Windows的系统环境变量,变量名为KRB5CCNAME,变量值为C:\temp\krb5cache
  • 在Windows上进行认证

打开MIT Kerberos,单击 get Ticket ,在弹出的MIT Kerberos: Get Ticket窗口中,Pricipal 输入用户名[email protected]Password 输入密码,单击 OK

FI的developuser就是人机用户_hive_04

  • C:\ecotesting\Fiber\conf目录下新建 jaas.conf 文件,内容如下所示:

 


Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=false
  useTicketCache=true
  debug=true;
};

- 修改配置文件C:\ecotesting\Fiber\conf\fiber.xml

 

Hive的JDBC配置示例:


<jdbc>
  <identify>hive</identify>
  <describe>hive jdbc configuration</describe>
  <driverClass>org.apache.hive.jdbc.HiveDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>     
  <classPath>C:\\ecotesting\\Fiber\\Hive\\config;C:\\ecotesting\\Fiber\\Hive\\Beeline\\lib;C:\\ecotesting\\Fiber\\Hive\\Beeline\\conf</classPath>
  <jdbcUrl>jdbc:hive2://172.16.4.21:24002,172.16.4.22:24002,172.16.4.23:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/[email protected]</jdbcUrl>
  <properties>
    <property>
      <name>java.security.krb5.conf</name>
      <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
    </property>
    <property>
      <name>java.security.auth.login.config</name>
      <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
    </property>
    <property>
      <name>zookeeper.server.principal</name>
      <value>zookeeper/hadoop.hadoop.com</value>
    </property>
    <property>
      <name>zookeeper.kinit</name>
      <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
    </property>
  </properties>
</jdbc>

 

Spark2x的JDBC配置示例:


<jdbc>
  <identify>Spark2x</identify>
  <describe>Spark2x jdbc configuration</describe>
  <driverClass>org.apache.hive.jdbc.HiveDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>
  <classPath>C:\\ecotesting\\Fiber\\Spark2x\\spark\\conf;C:\\ecotesting\\Fiber\\Spark2x\\spark\\jars</classPath>
  <jdbcUrl>jdbc:hive2://172.16.4.21:24002,172.16.4.22:24002,172.16.4.23:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=sparkthriftserver2x;saslQop=auth-conf;auth=KERBEROS;principal=spark2x/[email protected]</jdbcUrl>
  <properties>
  <property>
    <name>java.security.krb5.conf</name>
    <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
  </property>
  <property>
    <name>java.security.auth.login.config</name>
    <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
  </property>
  <property>
    <name>zookeeper.server.principal</name>
    <value>zookeeper/hadoop.hadoop.com</value>
  </property>
  <property>
    <name>zookeeper.kinit</name>
    <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
  </property>
  </properties>
</jdbc>

 

Phoenix的JDBC配置示例:


<jdbc>
  <identify>phoenix</identify>
  <describe>phoenix jdbc configuration</describe>
  <driverClass>org.apache.phoenix.jdbc.PhoenixDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>
  <classPath>C:\\ecotesting\\Fiber\\HBase\\hbase\\lib;C:\\ecotesting\\Fiber\\HBase\\hbase\\conf</classPath>
  <jdbcUrl>jdbc:phoenix</jdbcUrl>
  <properties>
    <property>
      <name>java.security.krb5.conf</name>
      <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
    </property>
    <property>
      <name>java.security.auth.login.config</name>
      <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
    </property>
    <property>
      <name>zookeeper.server.principal</name>
      <value>zookeeper/hadoop.hadoop.com</value>
    </property>
    <property>
      <name>zookeeper.kinit</name>
      <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
    </property>
  </properties>
</jdbc>

 

使用keytab认证方式配置

  • C:\ecotesting\Fiber\conf目录下新建 jaas.conf 文件,示例如下:
Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  keyTab="C:\\ecotesting\\Fiber\\conf\\user.keytab"
  principal="developuser"
  useTicketCache=false
  storeKey=true
  debug=true;
};
  • 修改配置文件C:\ecotesting\Fiber\conf\fiber.xml

Hive的JDBC配置示例:


<jdbc>
  <identify>hive</identify>
  <describe>hive jdbc configuration</describe>
  <driverClass>org.apache.hive.jdbc.HiveDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>     
  <classPath>C:\\ecotesting\\Fiber\\Hive\\config;C:\\ecotesting\\Fiber\\Hive\\Beeline\\lib;C:\\ecotesting\\Fiber\\Hive\\Beeline\\conf</classPath>
  <jdbcUrl>jdbc:hive2://172.16.4.21:24002,172.16.4.22:24002,172.16.4.23:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/[email protected];user.principal=developuser;user.keytab=C:/ecotesting/Fiber/conf/user.keytab</jdbcUrl>
   <properties>
    <property>
      <name>java.security.krb5.conf</name>
      <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
    </property>
    <property>
      <name>java.security.auth.login.config</name>
      <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
    </property>
    <property>
      <name>zookeeper.server.principal</name>
      <value>zookeeper/hadoop.hadoop.com</value>
    </property>
    <property>
      <name>zookeeper.kinit</name>
      <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
    </property>
  </properties>
</jdbc>

Spark2x的JDBC配置示例:


<jdbc>
  <identify>Spark2x</identify>
  <describe>Spark2x jdbc configuration</describe>
  <driverClass>org.apache.hive.jdbc.HiveDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>
  <classPath>C:\\ecotesting\\Fiber\\Spark2x\\spark\\conf;C:\\ecotesting\\Fiber\\Spark2x\\spark\\jars</classPath>
  <jdbcUrl>jdbc:hive2://172.16.4.21:24002,172.16.4.22:24002,172.16.4.23:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=sparkthriftserver2x;saslQop=auth-conf;auth=KERBEROS;principal=spark2x/[email protected];user.principal=developuser;user.keytab=C:/ecotesting/Fiber/conf/user.keytab</jdbcUrl>
  <properties>
  <property>
    <name>java.security.krb5.conf</name>
    <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
  </property>
  <property>
    <name>java.security.auth.login.config</name>
    <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
  </property>
  <property>
    <name>zookeeper.server.principal</name>
    <value>zookeeper/hadoop.hadoop.com</value>
  </property>
  <property>
    <name>zookeeper.kinit</name>
    <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
  </property>
  </properties>
</jdbc>

 

Phoenix的JDBC配置示例:


<jdbc>
  <identify>phoenix</identify>
  <describe>phoenix jdbc configuration</describe>
  <driverClass>org.apache.phoenix.jdbc.PhoenixDriver</driverClass>
  <securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>
  <classPath>C:\\ecotesting\\Fiber\\HBase\\hbase\\lib;C:\\ecotesting\\Fiber\\HBase\\hbase\\conf</classPath>
  <jdbcUrl>jdbc:phoenix:172.16.4.21,172.16.4.22,172.16.4.23:24002:/hbase</jdbcUrl>
  <properties>
    <property>
      <name>java.security.krb5.conf</name>
      <value>C:\\ecotesting\\Fiber\\conf\\krb5.conf</value>
    </property>
    <property>
      <name>java.security.auth.login.config</name>
      <value>C:\\ecotesting\\Fiber\\conf\\jaas.conf</value>
    </property>
    <property>
      <name>zookeeper.server.principal</name>
      <value>zookeeper/hadoop.hadoop.com</value>
    </property>
    <property>
      <name>zookeeper.kinit</name>
      <value>C:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin\\kinit.exe</value>
    </property>
  </properties>
</jdbc>

 

  • 对接Phoenix时,需要修改配置文件C:\ecotesting\Fiber\HBase\hbase\conf\hbase-site.xml新增属性 hbase.myclient.keytab 和 hbase.myclient.principal


<property>
  <name>hbase.myclient.keytab</name>
  <value>C:\\ecotesting\\Fiber\\conf\\user.keytab</value>
</property>
<property>
  <name>hbase.myclient.principal</name>
  <value>developuser</value>
</property>

 

标签:Fiber,人机,ecotesting,developuser,zookeeper,hadoop,jdbc,conf,FI
From: https://blog.51cto.com/u_11908275/6405236

相关文章

  • IDEA集成Java性能分析神器JProfiler
    阅读文本大概需要10分钟。《eclipse集成Java性能分析神器JProfiler》讲解了eclipse集成Jprofiler,这篇讲解一下IDEA如何集成JProfiler。1、在JProfiler中配置IDEA选择IDEA2019这里并不同于Eclipse选择Eclipse的安装目录。IDEA选择的是配置目录,啥为配置目录了呢?其实就是在配置JProfi......
  • IOS学习-UITextField
    《iOS8开发指南》,自己总结用UITextField文本框(UITextField)是一种常见的信息输入机制,类似于Web表单中的表单字段。文本框基础常用属性(1)boderStyle属性:设置输入框的边框线样式(2)backgroundColor属性:设置输入框的背景颜色,使用其font属性设置字体。(3)clearButtonMode属性:设置......
  • linphone-LinphoneProxyConfigImpl文件对应的JNI层文件分析
    说明native函数privatenativelongnewLinphoneCore(LinphoneCoreListenerlistener,StringuserConfig,StringfactoryConfig,Objectuserdata); privatenativevoiditerate(longnativePtr); privatenativeLinphoneProxyConfiggetDefaultProxyConfig(longnativePtr);......
  • 用esp8266开发板制作WiFi Killer
    一、esp8266开发板获取【ESP8266串口wifi模块NodeMCULuaV3物联网开发板CH340】我是用的这个,某宝可购买,14元左右,这个是使用的CH340串口芯片的。还有一种在某宝上可以看到是使用的CP21x型号的芯片的,这里两种都可以的。二、安装驱动以自己的开发板上的串口芯片的型号为准,按需选......
  • lucene底层数据结构——FST,针对field使用列存储,delta encode压缩doc ids数组,LZ4压缩算
    参考:http://www.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinalhttp://www.slideshare.net/jpountz/how-does-lucene-store-your-data摘录一些重要的:看一下Lucene的倒排索引是怎么构成的。我们来看一个实际的例子,假设有如下的数据: docid年龄性别118女220女318男 ......
  • lucene底层数据结构——底层filter bitset原理,时间序列数据压缩将同一时间数据压缩为
    如何联合索引查询?所以给定查询过滤条件age=18的过程就是先从termindex找到18在termdictionary的大概位置,然后再从termdictionary里精确地找到18这个term,然后得到一个postinglist或者一个指向postinglist位置的指针。然后再查询gender=女的过程也是类似的。最后得出age=18......
  • [linux]undefined reference to `__gxx_personality_v0'
    linux程序 #include#include#includeintcount=0;voidctrl_c_count(int);intmain(void){intc;void(*old_handler)(int);old_handler=signal(SIGINT,ctrl_c_count);while((c=getchar()!=''));printf("Ctrl_Ccount=%d",count);......
  • 如何使用Spring管理Filter和Servlet
    在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象的创建。如果要在filter或者servlet中使用spring容器管理业务对象,通常需要使用WebApplicationContextUtils.getRequiredWebApplicationContext......
  • The valid characters are defined in RFC 7230 and RFC 3986问题
    最近在ssm实践项目中遇到了ThevalidcharactersaredefinedinRFC7230andRFC3986这个问题,折腾了两天时间终于搞定了,记录一下心得。1、首先贴出报错日志:09-Apr-201914:55:11.427信息[http-nio-8089-exec-8]org.apache.coyote.http11.Http11Processor.serviceErrorpars......
  • How to Find Django ImageField URL
    Thissetupisworkingforme,maybeitwillhelpyou.ItisforlatestversionofDjango.ManyanswersinOSareforolderDjangoversions.URLS:fromdjango.conf.urls.staticimportstaticfromdjango.confimportsettingsurlpatterns=[#url]+static(s......