当前位置: 首页 > news >正文

企业宣传网站建设需求说明书设计网站怎么做

企业宣传网站建设需求说明书,设计网站怎么做,广州免费自助建站开发,网站备案与域名关系配置开启Hive远程连接 Hive远程连接默认方式远程连接Hive自定义身份验证类远程连接Hive权限问题额外说明 Hive远程连接 要配置Hive远程连接#xff0c;首先确保HiveServer2已启动并监听指定的端口 hive/bin/hiveserver2检查 HiveServer2是否正在运行 # lsof -i:10000 COMMA… 配置开启Hive远程连接 Hive远程连接默认方式远程连接Hive自定义身份验证类远程连接Hive权限问题额外说明 Hive远程连接 要配置Hive远程连接首先确保HiveServer2已启动并监听指定的端口 hive/bin/hiveserver2检查 HiveServer2是否正在运行 # lsof -i:10000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 660 root 565u IPv6 89917 0t0 TCP *:ndmp (LISTEN)默认方式远程连接Hive 如果Hive 运行在与 Hadoop集成的环境中HiveServer2可以与Hadoop中的用户验证机制集成并且会使用已经验证的Hadoop用户凭据来进行身份验证和授权。 在IDEA的Database菜单栏如下操作添加Hive连接 填写Hive地址以及Hadoop中使用的用户名 注意初次使用配置过程会提示缺少JDBC驱动按照提示下载即可。 点击Test Connection测试发现连接Hive失败同时hiveserver2后台日志提示 WARN [HiveServer2-Handler-Pool: Thread-47] thrift.ThriftCLIService (ThriftCLIService.java:OpenSession(340)) - Error opening session: org.apache.hive.service.cli.HiveSQLException: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate rootat org.apache.hive.service.cli.session.SessionManager.createSession(SessionManager.java:434)at org.apache.hive.service.cli.session.SessionManager.openSession(SessionManager.java:373)at org.apache.hive.service.cli.CLIService.openSessionWithImpersonation(CLIService.java:195)at org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(ThriftCLIService.java:472)at org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(ThriftCLIService.java:322)at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1497)at org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession.getResult(TCLIService.java:1482)at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:750)解决方案 在Hadoop/etc/hadoop/core-site.xml文件中添加如下配置然后分发到各个节点 注意root指Hadoop组件在运行时使用的用户名根据自身配置修改 /propertypropertynamehadoop.proxyuser.root.hosts/namevalue*/value/propertypropertynamehadoop.proxyuser.root.groups/namevalue*/value/property重启Hadoop、hiveserver2后再次连接测试 自定义身份验证类远程连接Hive 在Hive 中默认情况下没有启用用户验证机制即hive默认的用户名和密码都是空。为了安全保证可以开启用户、密码登录Hive做法是自定义一个身份验证类 创建一个Java项目并确保项目中包含所需的依赖项如Hive的JDBC驱动程序 dependencygroupIdorg.apache.hive/groupIdartifactIdhive-jdbc/artifactIdversion3.1.3/version/dependency注意应该使用与服务器使用的Hive JDBC版本保持一致。 创建一个实现 PasswdAuthenticationProvider 接口的类。 package cn.ybzy.demo;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hive.service.auth.PasswdAuthenticationProvider; import org.slf4j.Logger;import javax.security.sasl.AuthenticationException;public class MyHiveCustomPasswdAuthenticator implements PasswdAuthenticationProvider {private Logger LOG org.slf4j.LoggerFactory.getLogger(MyHiveCustomPasswdAuthenticator.class);private static final String HIVE_JDBC_PASSWD_AUTH_PREFIX hive.jdbc_passwd.auth.%s;private Configuration conf null;Overridepublic void Authenticate(String userName, String passwd)throws AuthenticationException {LOG.info(Hive 用户: userName 尝试登录);String passwdConf getConf().get(String.format(HIVE_JDBC_PASSWD_AUTH_PREFIX, userName));if (passwdConf null) {String message 找不到对应用户的密码配置, 用户: userName;LOG.info(message);throw new AuthenticationException(message);}if (!passwd.equals(passwdConf)) {String message 用户名和密码不匹配, 用户: userName;throw new AuthenticationException(message);}}public Configuration getConf() {if (conf null) {this.conf new Configuration(new HiveConf());}return conf;}public void setConf(Configuration conf) {this.conf conf;} }将该Java项目打包同时上传到Hive的lib目录 mv hive/MyHiveCustomPasswdAuthenticator.jar hive/lib/修改hive-site.xml进行配置 !-- 使用自定义远程连接用户名和密码 -- propertynamehive.server2.authentication/namevalueCUSTOM/value!--默认为none修改成CUSTOM-- /property !-- 指定解析类 -- propertynamehive.server2.custom.authentication.class/namevaluecn.ybzy.demo.MyHiveCustomPasswdAuthenticator/value /property !--设置用户名和密码 name属性中root是用户名 value属性中时密码-- propertynamehive.jdbc_passwd.auth.hive/namevaluehive123/value /property 权限问题 在IDEA中远程连接Hive并操作时可能会出现如下异常 ERROR --- [ HiveServer2-Background-Pool: Thread-440] org.apache.hadoop.hive.metastore.utils.MetaStoreUtils (line: 166) : Got exception: org.apache.hadoop.security.AccessControlException Permission denied: userhive, accessWRITE, inode/hive/warehouse:root:supergroup:drwxr-xr-xat org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:399)at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:255)at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:193)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1855)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1839)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory.java:1798)at org.apache.hadoop.hdfs.server.namenode.FSDirMkdirOp.mkdirs(FSDirMkdirOp.java:59)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3175)at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:1145)at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:714)at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:527)at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1036)at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1000)at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:928)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:422)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2916)原因 在操作Hive时其会去操作HDFS而登录Hive的用户没有权限操作 解决方案 要确保Hive用户例如 hive能够操作HDFS。 由于Hive配置了metastore数据存储位置例如/hive/warehouse因此需要对该目录授予相应权限 hadoop fs -chown hive:hive /hive/warehouse在IDEA中创建一个数据库 create database demo;查看HDFS 额外说明 除了上述方式外Hive还提供了Kerberos 或 LDAP高级认证方式有点复杂暂且不讨论。 另外在较早版本的 Hive2.x 及更早版本中可以通过以下配置Hive远程连接的用户名与密码 propertynamehive.server2.authentication/namevaluePASSWORD/value /property propertynamehive.server2.authentication.user.name/namevaluehive/value /property propertynamehive.server2.authentication.user.password/namevaluehive123/value /propertypropertynamehive.cli.print.current.db/namevaluetrue/value /property propertynamehive.server2.thrift.port/namevalue10000/value /property propertynamehive.server2.thrift.bind.host/namevaluenode01/value /property
http://www.sadfv.cn/news/320200/

相关文章:

  • 国内设计师个人网站网站建设一条龙怎么样
  • 爱网站站长工具开发区招聘网最新招聘
  • 公共服务平台网站建设方案佛山网站建设费用预算
  • 免费素材网站可商用网站搭建怎么收费
  • tp框架做响应式网站wordpress可以做博客吗
  • 兰州做网站网络平台怎么制作
  • 个人购物网站 怎么建网络推广平台哪家公司最好
  • 北京设计网站的公司哪家好北京酒店设计公司
  • 汉口江岸区城市建设局网站网页改进方案
  • 自助建设彩票网站wordpress下一篇调用
  • 支付网站建设费入什么科目增城门户网站
  • 网站开发就业方向网站支持asp
  • 潍坊市住房和城乡建设厅网站网站设计的基本知识结构
  • 高邮市城乡建设局网站交互式网站
  • 大气网站背景图企业年金什么时候可以提取
  • 长沙网站seo收费标准网站备案 注意
  • 网站找到后台了 如何破解账号 密码邢台wap网站建设费用
  • 网站建设人员百姓网为什么不能创建地址
  • 做城通网盘资源网站的源码仿大学网站网页代码
  • asp.net mvc 手机网站江苏市场监督管理局旗舰店
  • 全景网站app网站优化人员通常会将目标关键词放在网站首页中的
  • 投资做网站网站宽屏
  • 上海网站建设 销售网络推广好做吗多少钱
  • 金坛城乡建设管理网站没有足够的权限卸载2345网址导航
  • 优质的网站建设公司水泵网站站群建设
  • 自己开网站能赚钱吗网络平台制作公司
  • 公司网站建设推广方案模板重庆建设工程信息网官网加密锁安装驱动
  • dede修改网站密码中国建设银行的网站用户名是什么
  • 电子商城网站开发与设计最新新闻事件今天国内大事2022
  • 做网站需要什么功能教师在哪些网站可以做兼职