小编blu*_*ndr的帖子

使用 Pandas 写文件会产生空行

我正在使用 pandas 库将 mysql 数据库的内容写入 csv 文件。

但是当我写 CSV 时,每隔一行都是空白的:

csv中的空行

此外,它正在向左打印我不想要的行号。第一列应为“帐号”。

这是我的代码:

destination = 'output_file.txt'
read_sql = """ SELECT LinkedAccountId,ProductName,ItemDescription,ResourceId,UnBlendedCost,UnBlendedRate,Name,Owner,Engagement FROM billing_info ;"""
fieldnames = ['Account Number', 'Product Name', 'Item Description', 'Resource ID', 'UnBlended Cost', 'UnBlended Rate', 'Name', 'Owner', 'Engagement']
# Open the file
f = open(destination, 'w')
cursor.execute(read_sql)
while True:
    # Read the data
    df = pd.DataFrame(cursor.fetchmany(1000))
    # We are done if there are no data
    if len(df) == 0:
        break
    # Let's write to the file
    else:
        df.to_csv(f, …
Run Code Online (Sandbox Code Playgroud)

python pandas

13
推荐指数
1
解决办法
1万
查看次数

yum 没有足够的缓存数据来继续。在这一点上,yum 唯一可以做的\n 安全的事情就是失败

我们在我们公司使用自定义 yum 存储库。有些事情导致他们无法执行yum makecache命令。

我在CentOS Linux release 7.7.1908 (Core)

这是我们运行时得到的错误yum makecache

 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this
Run Code Online (Sandbox Code Playgroud)

回购看起来像这样,我需要同时使用它们。

埃佩尔回购:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch …
Run Code Online (Sandbox Code Playgroud)

centos yum

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

未能将munin节点添加到监控中

我正在尝试在munin设置一些新主机进行监控.由于某种原因,它没有发生!

这是我到目前为止所尝试的内容.

在已经监控其他几台主机的munin服务器上,我在/etc/munin/munin.conf中添加了我想要的主机

[db1]
    address   10.10.10.25 # <- obscured the real IP address 
    use_node_name yes
Run Code Online (Sandbox Code Playgroud)

在db1主机上,我在/etc/munin/munin-node.conf中设置了这个

host_name  db1.example.com
allow ^127\.0\.0\.1$
allow ^10\.10\.10\.26$
allow ^::1$
port 4949
Run Code Online (Sandbox Code Playgroud)

我确保在两台机器上重启服务.

从监控主机我可以telnet到我要在munin端口上监控的新服务器:

[root@monitor3:~] #telnet db1.example.com 4949
Trying 10.10.10.26...
Connected to db1.example.com.
Escape character is '^]'.
# munin node at db1.example.com
Run Code Online (Sandbox Code Playgroud)

等几分钟......什么都没有!新服务器不会出现在munin监控主机上的munin仪表板中.

在db1主机(我正在尝试监控的那个)上的/var/log/munin/munin-update.log日志中,我发现:

2015/11/30 03:20:02 [INFO] starting work in 14199 for db1/10.10.10.26:4949.

2015/11/30 03:20:02 [FATAL] Socket read from db1 failed.  Terminating process. at /usr/share/perl5/vendor_perl/Munin/Master/UpdateWorker.pm line 254.

2015/11/30 03:20:02 [ERROR] Munin::Master::UpdateWorker<db1;db1> died with '[FATAL] Socket read …
Run Code Online (Sandbox Code Playgroud)

munin

9
推荐指数
1
解决办法
3648
查看次数

AH01626:要求所有授权的授权结果:已授予

我在我的网站上运行apache 2.4.6.我一直在我的apache错误日志中反复重复这条消息.

[Tue Nov 10 01:42:40.659710 2015] [authz_core:debug] [pid 10727] mod_authz_core.c(809): [client 107.170.139.115:58678] AH01626: authorization result of Require all granted: granted
Run Code Online (Sandbox Code Playgroud)

以下是VHOST中列出此站点的根目录的方式:

    DocumentRoot /var/www/jf-beta
    <Directory /var/www/jf-beta>
      Options  -Indexes  +FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
Run Code Online (Sandbox Code Playgroud)

究竟Apache在这里抱怨什么?那个目录列表对我来说似乎很合理!我如何让它停止抱怨这个错误?

apache mod-auth mod-authz-host

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

检查 Boto3 版本

如何检查我正在运行的 boto3 版本?

我尝试进入 REPL 并运行以下命令:

>>> import boto3
>>> boto3.Version
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'boto3' has no attribute 'Version'
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
3
解决办法
3万
查看次数

在 kibana 中搜索主机名

我尝试使用部分服务器名称在 kibana 中搜索主机名:

B-wit-a2pgw-*
Run Code Online (Sandbox Code Playgroud)

我也试过:

hostname: B-wit-a2pgw-*
Run Code Online (Sandbox Code Playgroud)

和:

instance: B-wit-a2pgw-*
Run Code Online (Sandbox Code Playgroud)

我把时间安排到今天。但是 kibana 控制台中什么也没有出现。我究竟做错了什么?

kibana

7
推荐指数
1
解决办法
227
查看次数

新的cassandra节点不能用种子八卦

我正在尝试使用cassandra 2.0.7启动一个新节点.两个节点都在数字海洋.种子节点已启动并正在运行,我可以从我尝试启动的节点远程登录到该主机上的端口7000.

[root@cassandra02 apache-cassandra-2.0.7]# telnet 10.10.1.94 7000

Trying 10.10.1.94...

Connected to 10.10.1.94.

Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

但是当我在新节点上启动cassandra时,我看到以下异常:

INFO 00:01:34,744 Handshaking version with /10.10.1.94

ERROR 00:02:05,733 Exception encountered during startup

java.lang.RuntimeException: Unable to gossip with any seeds

    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1193)

    at         org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:447)

    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:656)

    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:612)

    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:505)

    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:362)

    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:480)

    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:569)

java.lang.RuntimeException: Unable to gossip with any seeds

    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1193)

    at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:447)

    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:656)

    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:612)

    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:505)

    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:362)

    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:480)

    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:569)

Exception encountered during startup: Unable …
Run Code Online (Sandbox Code Playgroud)

cassandra-2.0

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

不能'替换死cassandra节点,因为它不存在于八卦中

cassandra集群中的一个节点已经死亡.

我一直在使用cassandra 2.0.7.

当我执行nodetool状态时,这就是我所看到的(实际地址已被假10网取代)

[root@beta-new:/opt] #nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns   Host ID                               Rack
UN  10.10.1.94  171.02 KB  256     49.4%  fd2f76ae-8dcf-4e93-a37f-bf1e9088696e  rack1
DN  10.10.1.98     ?          256     50.6%  f2a48fc7-a362-43f5-9061-4bb3739fdeaf  rack1
Run Code Online (Sandbox Code Playgroud)

我尝试通过执行nodetool ring命令获取down节点的令牌ID,为IP打算并执行head -1以获取初始节点.

[root@beta-new:/opt] #nodetool ring | grep 10.10.1.98 | head -1
10.10.1.98     rack1       Down   Normal  ?               50.59%              -9042969066862165996
Run Code Online (Sandbox Code Playgroud)

然后我开始关注如何替换节点的文档:

[ http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_replace_node_t.html?scroll=task_ds_aks_15q_gk] [1 ]

所以我在新节点上安装了cassandra但没有启动它.

设置以下选项:

cluster_name: 'Jokefire Cluster'
seed_provider:
      - seeds: "10.10.1.94"
listen_address: 10.10.1.94
endpoint_snitch: SimpleSnitch
Run Code Online (Sandbox Code Playgroud)

并将新安装的初始标记设置为我要在cssandra.yaml中替换的节点的标记-1:

initial_token: -9042969066862165995
Run Code Online (Sandbox Code Playgroud)

确认之后还没有数据:/ var/lib/cassandra

我启动了数据库:

[root@web2:/etc/alternatives/cassandrahome] …
Run Code Online (Sandbox Code Playgroud)

cassandra-2.0

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

AWS Secret无法转换为键名和值对

我有一个 python 脚本,它在 AWS 中创建一些访问密钥并将它们存储在机密管理器中。

但是,当我存储密钥时,我收到一条错误消息:

The secret value can't be converted to key name and value pairs
Run Code Online (Sandbox Code Playgroud)

秘密在秘密管理器中像这样存储(混淆秘密密钥):

[{'Access Key': 'AKIA5AODVC64THTZNML7'}, {'Secret Key': 'SecretSecretsecretSecretSecretSecretSecr'}]
Run Code Online (Sandbox Code Playgroud)

我的脚本使用这些行来创建秘密:

secret_name = 'my_secret'
secret_description = 'describing the secret'
kms_key_id = create_kms_key()
key_info = str([{"Access Key":access_key},{"Secret Key":secret_key}])
aws_secret = `secrets_client.create_secret(Name=secret_name,Description=secret_description,KmsKeyId=kms_key_id,SecretString=key_info,Tags=[{'Key': 'Name','Value': user_name}])`
Run Code Online (Sandbox Code Playgroud)

如何将访问/秘密密钥转换为秘密管理器足以理解的格式以转换为键/值对?

aws-secrets-manager

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

将元素添加到现有数组 Bash

我需要分几个步骤处理一些数据。

我首先在 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)

arrays bash

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