我有一个在tomcat上运行的简单Web应用程序.此Web应用程序将文件读写到HDFS.
我面临的问题是每次我使用停止服务器./bin/shutdown.sh.我无法加载hadoop shutdownHookManager异常.
我确定hadoop-common(包含ShutDownManager)在tomcat类路径中.
谁能帮我吗?
我得到的例外:
Oct 14, 2013 5:57:54 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [] created a ThreadLocal with key of type [com.ebay.kernel.calwrapper.CalTransactionHelper$1] (value [com.ebay.kernel.calwrapper.CalTransactionHelper$1@3d5a1c5f]) and a value of type [com.ebay.kernel.calwrapper.CalTransactionHelper.Stack] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Oct 14, 2013 5:57:54 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Oct 14, 2013 5:57:54 …Run Code Online (Sandbox Code Playgroud) 我目前正在使用hadoop 1.2.1(因为我需要运行仅支持该版本的空间处理软件)。我正在尝试以一个主节点和三个从节点的多节点模式进行部署。
我确定我可以在没有密码(包括他们自己)的所有主机和从机之间切换。每个节点上的主机名也正确。每个节点共享相同的主机文件:
192.168.56.101 master
192.168.56.102 slave1
192.168.56.103 slave2
192.168.56.104 slave3
Run Code Online (Sandbox Code Playgroud)
我在slaves节点上一直有问题,错误日志信息如下,
2015-05-21 23:39:16,841 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: file:///
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:212)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:244)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:236)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:359)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:181
Run Code Online (Sandbox Code Playgroud)
core-site.xml中的配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在mapred-site.xml中:
<configuration>
<property>
<name>mapred.job.tracter</name>
<value>master:8012</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在hdfs-site.xml中:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration
Run Code Online (Sandbox Code Playgroud) Q:当 git 推送在Smart Protocol上没有共同历史的 refs 时,是否可以考虑在本地和origin构建 Thin-pack 时发送的根或子树已经是共同的?
tl;博士
在使用和推送到远程 Git 存储库时,请考虑这种(不常见的)情况。
master指向具有 1110 个后代子树的树a[0-9]/b[0-9]/c[0-9]。origin/master与本地master提交是最新的,即相同的历史记录。它使用ssh协议。squashed。我将该分支设置为一个新的单根提交,但与master. 这可以通过git commit-tree. 所以,这个分支具有一个提交与常见,没有提交master,但根椐哈希值是相同的,它指向同一个树对象中master和origin/master。为了讨论这个问题,这是一个单一/压缩的提交并不重要 - 任何历史重写回根提交,没有共同的历史都可以。git push origin HEAD # push squashed根据对大型存储库的性能以及发送的对象数量的观察,我怀疑push,send-pack以及receive-pack通过智能协议进行的相关瘦包协商会执行以下操作:
squashed与origin当前的任何提交没有共同历史。squashed没有注意到指向一棵树的事实,该树不仅在 中origin,而且是当前HEADref的树。在这种情况下,树是相同的。如果在squashed... …
我正在使用光滑的scala play 2.我有一个Seq喜欢
val customerList: Seq[CustomerDetail] = Seq(CustomerDetail("id", "status", "name"))
Run Code Online (Sandbox Code Playgroud)
我想在此customerList中添加一个CustomerDetail项.我怎样才能做到这一点?我已经试过了
customerList :+ CustomerDetail("1", "Active", "Shougat")
Run Code Online (Sandbox Code Playgroud)
但这没有做任何事情.
TL; DR:如果我使用的pytest还有其他一些仅测试的依赖项,是否可以断言这些仅测试的依赖项没有泄漏到实际的非测试代码中?
在Java中,当我运行测试时,测试本身和被测代码将在不同的类加载器中运行,并且它们的依赖关系在此作用域内。因此,如果无意中引用testng了被测代码,则即使testng正在运行测试,测试也将失败。
可以在Python中实现吗?如果我的非测试代码不小心导入了pytest,我可以抓住它并使测试失败吗?我看不到如何实现这一目标。
虽然setuptools和pip等,使其比较容易保持安装/运行和开发/测试的依赖分开,甚至避免污染当前VENV,他们仍然存在测试运行时。这意味着python setup.py test可以通过模块运行,但是python setup.py install导入该模块之后却很简单。
鉴于:
cat setup.py
from setuptools import setup, find_packages
setup(
name="brettpy",
version="0.0.1",
packages=find_packages(),
setup_requires=["pytest-runner",],
tests_require=["pytest",],
)
Run Code Online (Sandbox Code Playgroud)
cat setup.cfg
[aliases]
test=pytest
Run Code Online (Sandbox Code Playgroud)
cat brettpy/__init__.py
import pytest
Run Code Online (Sandbox Code Playgroud)
cat tests/test_brettpy.py
def test_import_brettpy():
import brettpy
del brettpy
def test_run_main():
from brettpy import __main__ as main
main.main()
Run Code Online (Sandbox Code Playgroud)
... python setup.py test将通过,但python setup.py install && python -m brettpy失败:
ModuleNotFoundError: No …Run Code Online (Sandbox Code Playgroud) 我有兴趣学习解决大团队冲突的最佳方法。
例如,我有一个主分支,团队在其中进行了相当多的更改,然后我正在重新调整来自上游的最新更改(主分支和上游未连接)。我也遇到了冲突。问题在于团队中的某个人更了解如何解决一个文件中的冲突,而其他人则更了解另一个文件中的冲突。
所以问题是:是否可以将未解决的分支推送到远程,等待同事解决本地环境中的冲突并将其推回,然后进行 git rebase --continue。
如果不是,解决这个问题的最佳方法是什么?
git conflict git-rebase merge-conflict-resolution git-branch
此代码不匹配.它是否正确?
List(1, List(2, 3, List(4)), 5) must containTheSameElementsAs(List(5, List(List(4), 2, 3), 1))
Run Code Online (Sandbox Code Playgroud)
错误消息如下:
[error] x be available for elements in a sequence
[error] List(1, List(2, 3, List(4)), 5)
[error] is missing: List(List(4), 2, 3)
[error] must not contain: List(2, 3, List(4)) (specs2test.scala:98)
Run Code Online (Sandbox Code Playgroud) 我在weblogic上启用了“管理端口”,并将双向SSL配置为“请求并强制执行客户端证书”,现在我无法通过管理端口访问weblogic控制台,我想在7001以前使用普通端口,但不能:
控制台/管理请求或指定为“ true”的请求只能通过管理通道进行
如何通过WLST或配置文件禁用管理端口?