我在ec2上创建了一些用于hadoop的ebs文件系统.我已经在hadoop环境中设置了JAVE_HOME.但是当我去格式化第一个卷时,它将使用以下消息中止
[root@hadoop-node01 conf]# sudo -u hdfs hadoop namenode -format
13/02/06 15:33:22 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = hadoop-node01.mydomain.com/10.xx.xx.201
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.2-cdh3u5
STARTUP_MSG: build = file:///data/1/tmp/topdir/BUILD/hadoop-0.20.2-cdh3u5 -r 30233064aaf5f2492bc687d61d72956876102109; compiled by 'root' on Fri Oct 5 18:45:46 PDT 2012
************************************************************/
Re-format filesystem in /mnt/hdfs/1/namenode ? (Y or N) y
Format aborted in /mnt/hdfs/1/namenode
13/02/06 15:33:27 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop-node01.mydomain.com/10.xx.xx.201
************************************************************/
Run Code Online (Sandbox Code Playgroud)
这是我的namenode配置:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- …Run Code Online (Sandbox Code Playgroud) 我忘了我在我的一个网络服务器上启用了SELinux.因此,当我使用我的用户帐户和ssh密钥登录主机时,我收到了权限被拒绝的错误.
[TimothyDunphy@JEC206429674LM:~] #ssh bluethundr@web1.somedomain.com
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Run Code Online (Sandbox Code Playgroud)
嗯...所以我安慰了服务器并且能够登录.我把审核日志记录下来,这就是我所看到的:
type=USER_LOGIN msg=audit(1429981690.809:394593): pid=17074 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=login acct="bluethundr" exe="/usr/sbin/sshd" hostname=? addr=47.18.111.100 terminal=ssh res=failed'
Run Code Online (Sandbox Code Playgroud)
在谷歌上搜索答案,我得到了运行此命令的建议:
[root@web1:~] #restorecon -R -v /home/bluethundr/.ssh
[root@web1:~] #
Run Code Online (Sandbox Code Playgroud)
但是当我再次登录时,在做完之后,我得到了相同的结果.权限被拒绝,日志中也出现相同的错误.
我能想到的唯一另一件事是用户的主目录是从NFS共享挂载的.可能有一些SELinux咒语我可以用来允许SSH到NFS共享上的主目录吗?
或者也许我错过了别的什么?
蒂姆,谢谢
我需要分几个步骤处理一些数据。
我首先在 AWS 中创建一个托管策略列表,并将该列表放入一个数组中:
readarray -t managed_policies < <(aws iam list-attached-user-policies --user-name tdunphy --output json --profile=company-nonprod | jq -r '.AttachedPolicies[].PolicyArn')
Run Code Online (Sandbox Code Playgroud)
但随后我需要在我的脚本中向该数组添加更多信息。我的问题是,我可以使用 readarray 来做到这一点吗?或者我是否只需要使用以下命令将数据修改到列表中:
managed_policies+=($(aws iam list-attached-group-policies --group-name grp-cloudops --profile=compnay-nonprod | jq -r '.AttachedPolicies[].PolicyArn'))
Run Code Online (Sandbox Code Playgroud) 有没有办法将带有过滤器的AWS cli输出为csv格式?
例如,如果我想采用此命令并将其输出到 csv:
aws ec2 describe-images --owner self --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType}'
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?通常我会使用 jq 将 aws cli 输出到 csv。但在这种情况下,我可以使用过滤器选项而不是 jq 更轻松地获取我想要的信息。
这是我想要输出到 CSV 的完整命令:
aws ec2 describe-images --owner self --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType,Architechture:Architecture,Hypervisor:Hypervisor,State:State,ImageID:ImageId,"Device Names":BlockDeviceMappings[].DeviceName,"Snapshot IDs":BlockDeviceMappings[].Ebs.SnapshotId,"Delete On Termination":BlockDeviceMappings[].Ebs.DeleteOnTermination,"Voluem Type":BlockDeviceMappings[].Ebs.VolumeType,"Volume Size":BlockDeviceMappings[].Ebs.VolumeSize,Encrypted:BlockDeviceMappings[].Ebs.Encrypted,"Image Location":ImageLocation,"Root Device Type":RootDeviceType,"Owner ID":OwnerId,"Creation Date":CreationDate,Public:Public,"Image Type":ImageType,Name:Name}'
Run Code Online (Sandbox Code Playgroud) 我需要列出 AWS 中特定 VPC 中的子网。
当我这样做时,我收到此错误:
Traceback (most recent call last):
File ".\aws_create_ec2.py", line 253, in <module>
main()
File ".\aws_create_ec2.py", line 249, in main
create_instances()
File ".\aws_create_ec2.py", line 146, in create_instances
subnet_list = ec2_client.describe_subnets(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 272, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 548, in _make_api_call
request_dict = self._convert_to_request_dict(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 596, in _convert_to_request_dict
request_dict = self._serializer.serialize_to_request(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\validate.py", line 297, in serialize_to_request
raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "VpcIds", must be …Run Code Online (Sandbox Code Playgroud) 我正在尝试cqlsh在 Windows 10 上使用 python 3运行 cassandra命令。
当我运行命令时,我收到此错误:
cqlsh
File "C:\Program Files\apache-cassandra-3.11.6\bin\\cqlsh.py", line 248
CONFIG_FILE = os.path.join(HISTORY_DIR, 'cqlshrc')
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
这就是它在脚本中抱怨的地方:
if hasattr(options, 'cqlshrc'):
CONFIG_FILE = options.cqlshrc
if not os.path.exists(CONFIG_FILE):
print('\nWarning: Specified cqlshrc location `%s` does not exist. Using `%s` instead.\n' % (CONFIG_FILE, HISTORY_DIR)
CONFIG_FILE = os.path.join(HISTORY_DIR, 'cqlshrc')
Run Code Online (Sandbox Code Playgroud)
Cassandra 似乎运行得很好,我只需要一种方法来连接它。
我使用的是 Python 3.8.3,如果可以的话,我不想降级到 2.7。
我怎样才能让它工作?
我有一个在早期版本的 python (3.8) 下编写的脚本。
当我现在运行该脚本时,该脚本会因堆栈跟踪而崩溃:
python .\ec2_mongo.py
Traceback (most recent call last):
File "C:\Users\tdun0002\OneDrive - Synchronoss Technologies\Desktop\important_folders\Jokefire\git\jf_cloud_scripts\aws_scripts\python\aws_tools\ec2_mongo.py", line 11, in <module>
from pymongo import MongoClient, errors
File "C:\Users\tdun0002\OneDrive - Synchronoss Technologies\Desktop\important_folders\Jokefire\git\jf_cloud_scripts\aws_scripts\python\aws_tools\venv\lib\site-packages\pymongo\__init__.py", line 87, in <module>
from pymongo.collection import ReturnDocument
File "C:\Users\tdun0002\OneDrive - Synchronoss Technologies\Desktop\important_folders\Jokefire\git\jf_cloud_scripts\aws_scripts\python\aws_tools\venv\lib\site-packages\pymongo\collection.py", line 20, in <module>
from bson.code import Code
File "C:\Users\tdun0002\OneDrive - Synchronoss Technologies\Desktop\important_folders\Jokefire\git\jf_cloud_scripts\aws_scripts\python\aws_tools\venv\lib\site-packages\bson\code.py", line 18, in <module>
from bson.py3compat import abc, string_type, PY3, text_type
ImportError: cannot import name 'abc' from 'bson.py3compat'
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我仅使用 bson 包中的 ObjectId。这是我的导入行:
from …Run Code Online (Sandbox Code Playgroud) 我正在尝试提供从两周以上的logstash服务器清除日志的最佳方法.
对于那些不知道的人,Logstash将它的日志存储在Elasticsearch中.我有一个非常好的稳定ELK堆栈(Elasticsearch/Logstash/Kibana).
删除logstash索引的典型方法是使用像这样的curl命令:
#curl --user admin -XDELETE http://localhost:9200/logstash-2015.06.06
Enter host password for user 'admin':
{"acknowledged":true}
Run Code Online (Sandbox Code Playgroud)
现在我正在寻找的是一种以编程方式更改logstash索引中的日期以自动清除任何超过两周的索引.
我正在考虑使用bash来完成这项工作.
我很欣赏任何有关如何做到这一点或你可能有的建议的例子!
谢谢
谢谢!!但是你认为你可以帮助我使用auth来实现这一目标吗?
这是我到目前为止所尝试的:
[root@logs:~] #curator --help | grep -i auth
--http_auth TEXT Use Basic Authentication ex: user:pass
[root@logs:~] #curator delete indices --older-than 14 --time-unit days --timestring %Y.%m.%d --regex '^logstash-' --http_auth admin:secretsauce
Error: no such option: --http_auth
[root@logs:~] #curator delete indices --older-than 14 --time-unit days --timestring %Y.%m.%d --regex '^logstash-' --http_auth admin:secretsauce
Error: no such option: --http_auth
[root@logs:~] #curator delete indices --http_auth admin:secretsauce --older-than …Run Code Online (Sandbox Code Playgroud) 我在syslog中看到这些消息弹出:
Mar 10 12:51:35 db1 kernel: [5851729.958138] type=1400 audit(1457614295.823:2925931): avc: denied { name_connect } for pid=801 comm="haproxy" dest=7778 scontext=system_u:system_r:haproxy_t:s0 tcontext=system_u:object_r:interwise_port_t:s0 tclass=tcp_socket
Run Code Online (Sandbox Code Playgroud)
这是否意味着SELinux拒绝与haproxy的连接?
谢谢
很长一段时间以来,我一直在使用 XAMPP 对我的开发工作站进行升级,从各个版本 7s 一直到 8.012。
我升级到 8.1 似乎遇到了障碍。
我已经编辑了 apache 配置以使用新版本的 php。将php.ini-development并将其重命名为php.ini,然后取消注释 openssl 扩展在我重新启动 apache 后不起作用:
extension=openssl
Run Code Online (Sandbox Code Playgroud)
php 信息页面中未启用 Openssl:
如果我尝试通过从以前的安装中移动我的扩展来启用 mongodb,然后取消注释扩展php.ini并再次重新启动 apache,我会收到错误:
extension=php_mongodb.dll
更新:我现在发现启用任何 PHP 模块在 PHP 8.1 下都不起作用。
我可以回滚到以前的版本php-8.0.12并再次拥有功能齐全的 php。当我回滚到以前的版本时,启用和禁用 PHP 模块仍然有效。它在 PHP 8.1 下不起作用。
如果可能的话,我想及时了解最新版本!
我使用这个版本的 PHP 做错了什么?为什么我无法启用任何功能?