小编Din*_*r P的帖子

Hadoop安全

场景: - 用户登录到他的计算机将通过Kerberos身份验证进行身份验证并提交地图缩减作业

我正在努力学习"如何在Hadoop中实现Kerberos?" 我曾经使用过此文档不见了 https://issues.apache.org/jira/browse/HADOOP-4487 我还通过基本Kerberos的东西不见了(https://www.youtube.com/watch?v=KD2Q-2ToloE)

在从这些资源中学习之后,我得出了一个结论,我通过图表来表示.场景: - 用户登录到他的计算机通过Kerberos身份验证进行身份验证并提交地图缩减工作(请阅读图表的说明,它几乎不需要5分钟的时间)我想解释图表并提出与几个相关的问题步骤(粗体) 黄色背景中的数字表示整个流程(数字1到19)DT(带红色背景)表示委托令牌BAT(带绿色背景)表示块访问令牌JT(带有棕色背景)表示作业令牌

步骤1,2,3和4表示: - 请求TGT(票证授予票证)请求名称节点的服务票证. 问题1)KDC应该在哪里?它可以在我的名称节点或作业跟踪器所在的机器上吗?

步骤5,6,7,8和9表示: - 显示名称节点的服务票证,获得确认.名称节点将发出委托令牌(红色)用户将告知令牌更新程序(在这种情况下,它是作业跟踪器)

问题2)用户将此授权令牌与作业一起提交给Job Tracker.授权令牌是否会与任务跟踪器共享?

步骤10,11,12,13和14表示: - 询问服务票据以获取作业跟踪器,从KDC获取服务票证将此票证显示给Job Tracker并从JobTracker获取ACK将作业+委派令牌提交给JobTracker.

步骤15,16和17表示: - 生成块访问令牌并分布在所有数据节点上.将blockID和Block Access Token发送到Job Tracker,Job Tracker会将其传递给TaskTracker

问题3)谁将从名称节点请求BlockAccessToken和Block ID?JobTracker或TaskTracker

对不起,我错误地错过了18号.Step19表示: - 作业跟踪器生成作业令牌(棕色)并将其传递给TaskTrackers.

问题4)我可以得出结论,每个用户将有一个代表队令牌,它将分布在整个集群中,每个作业会有一个作业令牌吗?因此,用户将只有一个委托令牌和许多作业令牌(等于他提交的作业数量).

请告诉我,如果我错过了某些内容,或者在我的解释中某些方面我错了.

hadoop kerberos hadoop-plugins kerberos-delegation mit-kerberos

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

Hadoop HDFS - 缺少副本和未复制块之间的区别

我知道,由于复制因子集的数据节点数较少,因此发生了重复不足的块和错误复制的块.

但它们之间有什么区别?

在将可用数据节点为1的情况下将复制因子重新设置为1时,将清除未复制块和丢失副本错误.通过执行命令hdfs fsck /确保这一点 FSCK报告

hadoop hdfs fsck

5
推荐指数
1
解决办法
5120
查看次数

Hbase主机无法正常启动

我正在使用Hadoop2.4.0/Hbase 0.98.0/Hive 0.14.0

Hadoop和HBase运行良好,直到我重新启动我的HMaster.hbase-hduser-master-master.log文件中出现以下错误:

 2015-02-17 05:46:15,157 INFO  [master:master:60000] master.TableNamespaceManager: Namespace table not found. Creating...
    2015-02-17 05:46:15,193 DEBUG [master:master:60000] lock.ZKInterProcessLockBase: Acquired a lock for /hbase/table-lock/hbase:namespace/write-master:600000000000004
    2015-02-17 05:46:15,212 DEBUG [master:master:60000] lock.ZKInterProcessLockBase: Released /hbase/table-lock/hbase:namespace/write-master:600000000000004
    2015-02-17 05:46:15,212 FATAL [master:master:60000] master.HMaster: Master server abort: loaded coprocessors are: []
    2015-02-17 05:46:15,213 FATAL [master:master:60000] master.HMaster: Unhandled exception. Starting shutdown.
    org.apache.hadoop.hbase.TableExistsException: hbase:namespace
        at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:120)
        at org.apache.hadoop.hbase.master.TableNamespaceManager.createNamespaceTable(TableNamespaceManager.java:232)
        at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:86)
        at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:1049)
        at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:913)
        at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:606)
        at java.lang.Thread.run(Unknown Source)
    2015-02-17 05:46:15,214 INFO  [master:master:60000] master.HMaster: Aborting
    2015-02-17 05:46:15,214 INFO …
Run Code Online (Sandbox Code Playgroud)

hadoop hbase

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

在C#中验证远程Active Directory的用户

我尝试从我的机​​器验证属于远程ActiveDirectory的用户,该机器与当前机器或用户域不是同一个域.我的机器和远程ActiveDirectory机器之间不会有任何信任.

初步尝试

我试图验证用户(输入:sAMAccountName,机器的ipaddress,机器的域用户名("管理员")和机器的密码(***).能够获得具有'sAMAccountName'的用户确实存在于ActiveDirectory中的结果.

我的要求:

  1. 想象一下,已经在ActiveDirectory中创建了一个用户("qwerty")

  2. 从我的本地机器,我将有以下信息,

    一个.远程ActiveDirectory ipaddress

    湾 远程ActiveDirectory机器的用户名和密码.

    C.用户"qwerty"的用户名和密码

  3. 我需要检查用户"qwerty"是否存在于远程ActiveDirectory的用户列表中,并验证在ActiveDirectory的用户列表中输入的密码是否相同

我试过的代码:

        DirectoryEntry entry = new DirectoryEntry("LDAP://ipaddress/DC=dinesh,DC=com", name, password);
        DirectorySearcher searcher = new DirectorySearcher(entry);
        searcher.Filter = "(sAMAccountName=" + name + ")";

        try
        {
            SearchResult adsSearchResult = adsSearcher.FindOne();
            isValid = true;
            adsEntry.Close();
        }
        catch (Exception ex)
        {
            adsEntry.Close();
        }
Run Code Online (Sandbox Code Playgroud)

在验证远程ActiveDirectory中的用户之前,是否需要在本地计算机和远程ActiveDirectory计算机之间创建信任?如果是,请说明如何完成;

创建信任后,如何验证用户?

================================================== =========================

我可以使用Rainer建议的解决方案,但遇到了一个新问题.当我通过来自不同计算机的C#代码创建新用户时,某些属性未正确设置. 创建用户时未设置的属性

这是否需要在创建用户时强制设置?

c# active-directory active-directory-group

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

H2 - 多个应用程序访问相同的H2数据库

我在2个Web应用程序中使用嵌入式数据库H2说WebApp1和WebApp2.我运行WebApp1并执行一些查询来访问H2数据库.这意味着当我运行WebApp2时,但它抛出了H2当前被另一个进程使用的异常

我的需求是,我应该能够同时使用WebApp1和WebApp2的H2数据库.我分析了下面的链接,但它告诉了多个连接,但没有关于多个应用程序.

http://www.h2database.com/html/features.html#multiple_connections
Run Code Online (Sandbox Code Playgroud)

java h2

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