分布式集群Hadoop和Hbase(Distributed Cluster Hadoop and Hbase)
我有两个节点的完全分布式Hadoop和Hbase实例。 HDFS完美地工作在主从机上。 但是,在编写节点名之后HBase shell只运行一次,并且在我收到错误之后集群是新的:ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master正在初始化hbase
另外我无法通过hbase shell从slave进行连接我总是收到错误Connection Refused,并且在HBase Web UI中,我只能在regionserver上看到它是主节点
主站点hbase-site.xml:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/hbase-1.2.1/data/zookeeper</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.regionserver.thrift.framed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.maxClientCnxns</name> <value>1000</value> </property> <property> <name>hbase.regionserver.thrift.server.type</name> <value>TThreadPoolServer</value> </property> <property> <name>avatica.statementcache.maxcapacity</name> <value>20000</value> </property> </configuration>
从站hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.maxClientCnxns</name> <value>1000</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration>
JPS大师:
JPS奴隶:
I have a fully distributed Hadoop and Hbase instances of two nodes. HDFS working perfectly on the master and the slave. But HBase shell works only one time after the nodename is formated and the cluster is new after that I get the error: ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing hbase
Also I can not connect through hbase shell from the slave I always get the error Connection Refused and in the HBase Web UI, I only can see on regionserver which is the master node
Master hbase-site.xml:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/hbase-1.2.1/data/zookeeper</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.regionserver.thrift.framed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.maxClientCnxns</name> <value>1000</value> </property> <property> <name>hbase.regionserver.thrift.server.type</name> <value>TThreadPoolServer</value> </property> <property> <name>avatica.statementcache.maxcapacity</name> <value>20000</value> </property> </configuration>
Slave hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.maxClientCnxns</name> <value>1000</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration>
JPS Master:
JPS Slave:
原文:https://stackoverflow.com/questions/39746714
最满意答案
这是fingreprint扫描仪和您网站的验证逻辑之间的可信路径问题。 如果有人可以伪装成有效的客户并向您的应用程序提交登录请求,那么您的方案将被破坏。
我认为你能做的最好的事情是使用双因素身份验证,我会请求用户密码,并将其作为输入提供给某些PKDF,并用它加密登录请求,这样如果有人得到用户指纹,他就不会能够在不知道用户密码的情况下伪造登录请求。 此外,生物识别主要是作为额外的认证因素完成的,而不是唯一的认证因素。
如果您不想这样做,您可以混淆应用程序代码,使用一次性密钥发布,这将在很短的时间内有效,以最大程度地降低逆向工程的风险,并使用此密钥签署请求,但它是不是很安全,它需要大量的husstle没有任何显着的安全性增加。
It's an issue of a Trusted path between fingreprint scanner, and your website's verification logic. If someone could disguise as a valid client and submit login requests to your application, your scheme would be broken.
I think the best you can do is to use two factor authentication, I would request a users password, and provide it as input to some PKDF, and encrypt login request with it, this way if someone get's users fingerprint, he won't be able to forge a login request without knowing users password. Besides, biometric is mostly done as additional authentication factor, not the only one.
If you don't wan't to do this, you could obfuscate application code, issue it with one time key, which would be valid for very short time, to minimize risk of reverse engineering, and sign request with this key, but it's not very secure, it requires a lot of husstle without any significant security increase.
相关问答
更多-
TCP/IP模型是一个________。[2023-10-02]
a -
下列中不属于面向对象的编程语言的是?[2022-05-30]
a -
用jsoup登录网站(Logging into a website with jsoup)[2022-07-05]
头痛后,我终于解决了它。 原来,我只是没有使用正确的网址发布。 我检查了Chrome并找到了实际的网址。 现在它工作:)。 public void getData(HashMapformFields) throws Exception{ Connection conn = Jsoup.connect("https://academicscc.vit.ac.in/student/stud_login_submit.asp") .userAge ... -
通过代码登录网站(Logging into a website by code)[2023-03-09]
如果您搜索一个简单的解决方案,请尝试使用WebBrowser控件。 您可以遍历页面的所有项目并设置用户名和密码,然后点击登录按钮。 I explored more and found that I was not being authenticated by the SSL and I was getting this exception: Could not establish trust relationship for the SSL/TLS secure channel So I got a pie ... -
这是fingreprint扫描仪和您网站的验证逻辑之间的可信路径问题。 如果有人可以伪装成有效的客户并向您的应用程序提交登录请求,那么您的方案将被破坏。 我认为你能做的最好的事情是使用双因素身份验证,我会请求用户密码,并将其作为输入提供给某些PKDF,并用它加密登录请求,这样如果有人得到用户指纹,他就不会能够在不知道用户密码的情况下伪造登录请求。 此外,生物识别主要是作为额外的认证因素完成的,而不是唯一的认证因素。 如果您不想这样做,您可以混淆应用程序代码,使用一次性密钥发布,这将在很短的时间内有效,以最大 ...
-
有没有一种方法可以找到设备中可用指纹的数量(Is there a way we can find the number of available fingerprints in device)[2023-07-05]
在具有指纹传感器的设备上,用户可以注册一个或多个指纹并使用这些指纹解锁设备并执行其他任务。 Android使用指纹硬件抽象层(HAL)连接到供应商特定的库和指纹硬件,例如指纹传感器。 有一个方法enumerate (枚举所有已知指纹模板的同步调用)还有Android的FingerprintManager。 但它有一个方法hasEnrolledFingerprints ,如果有多个指纹登记,它将返回true。所以你不知道有多少或有没有添加。 有用的文档HAL链接 FingerprintManager On d ... -
不,没有人能够真正看到你正在使用Selenium,而不是自己使用WebDriver手动操作浏览器。 我不确定旧的Selenium RC,但它应该是一样的。 以下是它的工作原理: Selenium打开一个浏览器,其中包含干净的配置文件(或您选择的配置文件) Selenium连接到浏览器,因此它可以控制它,控制它。 但浏览器仍然完成大部分工作。 基本上,Selenium会将用户输入替换为浏览器,但不会更多。 您可以通过阅读浏览器发送的HTTP标头的内容轻松验证这一点。 如果您确实需要服务器识别Selenium, ...
-
登录网站?(Jsoup)(Logging into a website?( Jsoup))[2022-05-11]
您需要为请求添加更多参数: csrf,time,hash 代码用空表: import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.securit ... -
通过java登录网站(Logging onto a website through java)[2024-01-20]
JSON格式请求引号标记属性名称和值,因此在您的情况下它应该是: String payload="{\"email_address\" : \"(EMAILHERE)\", \"password\" : \"(PASSWORDHERE)\"}"; JSON format requiters quotation marks both for the property name and the value so in your case it should be: String payload="{\"emai ... -
从服务器获取指纹(Get fingerprints from a server)[2023-01-04]
引用我的文章的重要部分我在哪里获得SSH主机密钥指纹来授权服务器? 您应该从服务器管理员处获取SSH主机密钥指纹以及您的凭据。 了解主机密钥指纹,从而能够验证它是保护SSH连接不可或缺的一部分。 它可以防止中间人攻击 。 在现实世界中,大多数管理员不提供主机密钥指纹。 相反,您可以询问任何对服务器有实际访问权限或已知该主机密钥的人员。 主机密钥只有一个,因此所有用户都是一样的。 另请注意,主机密钥指纹仅从主机密钥的公钥部分生成。 所以这不是秘密,可以通过未加密的(但是可信的)通信渠道安全地发送。 如果您没有 ...