小编Wan*_*rer的帖子

休息 - 如何获取呼叫者的IP地址

我正在编写Java Rest Web服务并需要调用者的IP地址.我以为我曾经在cookie中看到过这个,但现在我没有看到它.是否有一致的地方获取此信息?

我看到了一个使用"OperationalContext"来获取它的例子,但这不是在java中.

java rest web-services restful-authentication jax-rs

25
推荐指数
3
解决办法
4万
查看次数

使用Java API在Hadoop中移动文件?

我想使用Java API在HDFS中移动文件.我无法想办法做到这一点.FileSystem类似乎只允许允许移入和移出本地文件系统..但我想将它们保存在HDFS中并将它们移动到那里.

我错过了什么基本的东西?我可以想象的唯一方法是从输入流中读取它并将其写回...然后删除旧副本(yuck).

谢谢

java hadoop hdfs

17
推荐指数
2
解决办法
2万
查看次数

如何让Hadoop客户端在安全(Kerberos)集群中使用正确的凭据

我有一个Hadoop(CDH412)群集设置已启用,可以使用Kerberos进行身份验证和授权.我把一切都搞好了(Hdfs,mapred,zookeeper,hbase,hive等).但是,我在从Java应用程序中访问hdfs数据时遇到问题.

我的Java应用程序是在后台运行的服务.因此,无法输入密码,我必须使用密钥表文件.应该不是问题.如果我先做一个'kinit',它会正常工作,ala ...

kinit -kt /home/fred/kerberostest/krb5.keytab myprinc/myserver.com@MY.REALM
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在java代码中执行此操作(我已经读过LoginContext.logon将执行与kinit相同的操作),则会失败.

为了尝试测试这个,我编写了以下代码片段....

System.setProperty("java.security.krb5.realm", "MY.REALM");
System.setProperty("java.security.kdc", "kdc.server.com");
System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
System.setProperty("java.security.auth.login.config", "/home/fred/kerberostest/jaas.conf");

LoginContext context = new LoginContext("Client");
context.login();

Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);

InputStream in = fs.open(new Path("/mytestfile"));
int b = in.read();
in.close();
Run Code Online (Sandbox Code Playgroud)

我的jaas.conf文件看起来像这样......

Client {
   com.sun.security.auth.module.Krb5LoginModule required
   debug=true
   useKeyTab=true
   keyTab="/home/fred/kerberostest/krb5.keytab"
   principal="myprinc/myserver.com@MY.REALM"
   useTicketCache=false;
}
Run Code Online (Sandbox Code Playgroud)

当我运行上面的java代码时,LoginContext.login似乎正常工作....我得到一个调试声明

Login successful for user myprinc/myserver.com@MY.REALM using keytab file /home/fred/kerberostest/krb5.keytab
Run Code Online (Sandbox Code Playgroud)

但是,当代码尝试打开HDFS文件(fs.open)时,应用程序失败并显示PriviledgedActionException,并声明:

ERROR security.UserGroupInformation: PriviledgedActionException as :fred (auth:KERBEROS) cause:javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials …
Run Code Online (Sandbox Code Playgroud)

java hadoop kerberos active-directory

9
推荐指数
1
解决办法
7619
查看次数

用于节俭的Kerberos?

我有一个简单的基于Thrift的java应用程序.这非常简单,只不过是在java中使用Thrift的"Hello World"消息传输.我被告知我需要为我的消息添加Kerberos支持.我做了一些谷歌搜索,并且惊讶于Thrift还没有某种形式的Kerberos支持(或者如果确实如此,我找不到它).我想过使用GSSAPI编写自己的包装器,但是我无法打开/解包我的Thrift消息,因为它会破坏Thrift消息格式.

有没有人曾经Kerberized Thrift?..或者知道怎么做?

提前致谢.

java kerberos thrift gssapi

7
推荐指数
1
解决办法
3383
查看次数

Zookeeper CLI失败 - IOException数据包<len12343123123>超出范围

运行zookeeper 3.3.3.我有一个znode,我只是想通过CLI列出,如:

ls/myznode/subznode

这在第710行的org.apache.ClientCnxn $ SendThread.readLength中与IOException崩溃.

谁见过这个?有人建议znode中可能存在坏数据.不确定是否,或者如何...但我也不能删除它,因为它有内容.

apache-zookeeper

6
推荐指数
2
解决办法
8922
查看次数

从HDFS读取一个简单的Avro文件

我试图简单读取存储在HDFS中的Avro文件.我发现当它在本地文件系统上时如何阅读....

FileReader reader = DataFileReader.openReader(new File(filename), new GenericDatumReader());

for (GenericRecord datum : fileReader) {
   String value = datum.get(1).toString();
   System.out.println("value = " value);
}

reader.close();
Run Code Online (Sandbox Code Playgroud)

但是,我的文件是HDFS.我不能给openReader一个Path或一个FSDataInputStream.如何在HDFS中读取Avro文件?

编辑:我通过创建实现SeekableInput的自定义类(SeekableHadoopInput)来实现此目的.我从github上的"Ganglion"中"偷"了这个.似乎仍然会有一个Hadoop/Avro集成路径.

谢谢

java io avro

6
推荐指数
1
解决办法
2万
查看次数

HBase:自定义扫描程序仅按前缀检索列

我正在使用扫描程序从HBase中检索行.我可以通过addColumn()方法设置我想要的列.但是,我真的需要能够检索所有以相同前缀开头的可变数量的列.

因此,我想要的所有列都以"USA"开头.我需要检索所有以此为开头的列,例如"USA-Virginia","USA-Hawaii"等.我不想要诸如"Canada-Quebec"之类的值.任何地方都没有完整列名的预定义值.我只需要以"USA"开头的所有人.有没有办法让HBase扫描仪这样做?我没有看到在那里编写自定义扫描仪的方式.

我正在查看自定义过滤器,但这似乎限制了我得到的行,而不是指定我想要返回的列.思考?

我无法更改数据的结构,我的所有数据都在一个列族中.

谢谢你的任何想法.我正在运行CDH3u4.

hbase

3
推荐指数
1
解决办法
1700
查看次数

如何判断postgres是否安装了kerberos?

我正在尝试配置postgres(8.4.13)以使用Kerberos.我似乎无法让它发挥作用.我一直在阅读的一个"问题"是必须使用kerberos支持构建postgres.好吧,我有的postgres是从互联网上下载的rpm.我怎么知道这个postgres是否是用Kerberos支持构建的?有没有办法列出"已安装的组件?谢谢!!!

postgresql kerberos

2
推荐指数
1
解决办法
662
查看次数