mesos cli工具

mesos.cli的Python项目详细描述


===
mesos cli
==


**此项目已被弃用,不再积极维护。请使用**`dcos cli`.


cli工具来处理mesos。

--------
这解决了什么问题?
----


我很乐意从命令行调试程序。我有一套从coreutils中使用的工具,这些工具最终每天都在使用。没有一天我没有使用grep、find或cat。

mesos允许您将数据中心中的所有节点视为匿名资源,但调试仍需要在特定主机上完成。目前,它需要多个工具和上下文切换来收集需要查看特定任务正在执行的部分。大多数现有的工具不能很好地与命令行一起工作,我无法使用我熟悉的工作流。


----


为了解决这个问题,一些coreutil命令被重新实现,以在整个数据中心工作,而不是在单个主机上工作。

-命令和选项被尽可能紧密地复制。他们应该有和你以前一样的选择。
-管道的工作方式和你期望的一样。您应该能够轻松替换大多数特定于主机的调试脚本。
-本地不需要mesos本身。开发人员希望在不安装mesos本地副本的情况下调试其任务。
-一切都是以任务为中心的。如果您不想指定框架,则无需担心,只需输入任务id即可。
-延迟匹配。任务ID很长,通常需要剪切/粘贴才能获得精确匹配。相反,所有"task"参数都是部分匹配的,不需要输入那么长的内容。
-自动完成。大多数参数选项卡都已完成(请参阅"自动完成"一节进行配置),只需在中键入几个字符并获取所需内容即可。
-可扩展性。编写自己的子命令。大多数必需的信息都可以通过访问。现有子命令(通过所以你只需要实现你想要的,而不需要重新发明轮子。

----
install
----


注意,如果你已经在本地安装了"mesos",你可以将它安装到`/usr/local/bin` via以外的位置。pip选项或删除`/usr/local/bin/mesos`。仅仅删除它应该没有坏处。

来自pypi:

…代码块::bash



…代码块::bash


make env
source env/bin/activate

----
build
----


……代码块::bash


----test
----br/>

…代码块::bash

make test

----
command completion
----



task ids?文件名?完成所有的事情!配置命令完成,您将能够选项卡完成大多数内容。

+代码块::bash


++++
zsh
++++


代码块::bash

source mesos zsh completion.sh


请注意,正在使用"bashcompinit"。如果你运行的是旧版本的zsh,它将不起作用。查看"bin/mesos zsh completion.sh"以获取信息。

----
代码块::bash

./.mesos.json
~/.mesos.json
/etc/.mesos.json
/usr/etc/.mesos.json
/usr/local/etc/.mesos.json

您可以通过重写此配置的位置。` mesos_cliu config`.

如果使用的是非本地主机,则需要配置主机的位置,如下所示:

…代码块::bash



或者,您可以自己创建配置文件。

……代码块::json

{
"profile":"default"、
"default":{
"master":"zk://localhost:2181/mesos"、
"logu level":"warning"、
"logu file":"/tmp/mesos cli.log"
}
}

介子通常做的值,例如:

…代码块::bash

localhost:5050
zk://localhost:2181/mesos
文件:///path/to/config/above

+br/>++++++你运气真好!

要更改您的个人资料,您可以运行:

…代码块::bash



旧的配置文件将被维护,并且可以在任何时候切换回。

+br/>+++++++++++代码块::json

{
///在键盘中断时显示堆栈跟踪
"debug":"false",

///要使用日志文件的路径
"日志文件":none,

///日志级别。
"日志级别":"警告",

//master的位置,这可以是mesos
/支持的任何值,其中包括:
//localhost:5050
//zk://localhost:2181/mesos
///file:///path/to/config
"master":"localhost:5050",

//scheme连接到mesos时使用,可以是http或https
"scheme":"http"
}


=
=
命令
==



所有命令都有自己的选项和参数。请确保运行"mesos[command]--help"以获取可能的选项。


大多数命令都将"task id"作为参数。这不需要完全匹配,对于有意义的命令,可以匹配多个任务。假设您的集群正在运行以下任务:

hadoop.myjob.12345-1928731



app-20.9845uih-9823hriu-2938u422

-app的任务id将与app-10和app-20匹配。
-` myjob`将只匹配hadoop任务。
-任务id`1231234'将只匹配rails任务。

--
cat
--


……代码块::bash


----
----
events
----

…代码块::bash


从集群中观察事件。您将看到发生在主服务器和群集中所有从服务器上的事件(包括到达时的新从服务器)。

----
find
----


。代码块:bash

mesos查找任务id[path]


当多个任务匹配任务id时,将在结果之间打印头。

----br/>head
----br/>

代码块::bash

mesos head-n 10任务id文件[文件]

--
ls
--


…代码块::bash



默认视图是"ls-la"。当多个任务匹配任务ID时,将在结果之间打印标题。

--
ps
--


。代码块::bash



当前运行任务的输出时间、内存、CPU、命令、用户和从机/任务ID信息。

--
--
scp
--


代码块::bash

mesos scp文件[文件…]远程路径

每一个奴隶。请注意,您需要对要上载到的每个从属服务器都具有ssh访问权限。

--
ssh
--


。代码块::bash

mesos ssh task id

这将ssh到运行它的从机上指定任务的沙盒中。请注意,您需要有ssh访问此从机/沙箱。

----
tail
----


。代码块::tail

mesos tail-n 10任务id文件[文件]

与普通的tail不同,它将查找在mesos集群上创建的任务/文件,并在这些文件被写入时开始跟踪它们。您可以启动tail-in--follow模式,然后启动您的任务来监视发生的一切。


======
添加命令
====


命令都是单独的脚本。"mesos"脚本检查您的路径并查找以"mesos-"开头的所有内容。若要添加新命令,只需将脚本命名为"mesos new name",您将拥有一个新命令。这使您可以用任何语言编写新的子命令。

而所有这些都可以通过python via获得。此软件包的一个子集可以通过。现有命令。这使您能够专注于希望在命令中使用的新功能(使用您熟悉的语言)。

----
config
----


。代码块::bash




代码块::bash

mesos resolve[master config]

获取现有的已配置主节点或在命令行上传递的主节点,并发现主节点的位置。您可以使用以下格式:

…代码块::bash

localhost:5050
zk://localhost:2181/mesos
文件:///path/to/config/above

-
-
状态
-


代码块::bash



返回主服务器或从服务器的完整json状态(部分匹配有效)。


====
测试
==


有两种测试方法。如果您只想使用本地设置进行测试:


_` dcos cli`:https://github.com/mesosphere/dcos-cli

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为游戏添加声音。需要帮助   java在获取数据时忽略模型类中的forign键映射   java为什么Microsoft JDBC驱动程序忽略failoverPartner主机名   java可以下载mozswing文件   java等价于ObjectOutputStream,不仅保存其状态,还保存整个对象?   Java Android LiveData根据其他LiveData调用房间查询   java如何使用jackson jsonNode实现这一点并获得所需的输出   在web服务器上作为web应用程序运行java应用程序?   groovy中java类的元类属性   返回空指针的java图形对象   标头中包含用户名和密码的java SOAP客户端请求   具有堆栈实现和递归的Hanoi算法塔(Java)   java当我运行这两个类时,我的老鼠不会移动   使用图像进行java相似图像搜索   Java8并行流机制   使用单例对象作为枚举元素的java Scala枚举,是否有可能对它们进行迭代?   java Webview更改高度大小   不可序列化对象和函数的java Spark Scala编程   java my app在eclipse中运行良好,而不是在jar中