标签: redis

锁定、忽略 SIGKILL 的进程是可运行的(不是僵尸进程或处于不间断睡眠状态)。它处于什么状态?

我有一个进程,现在多次停止响应并且似乎完全锁定。它不会响应任何尝试 strace 或偷看 gdb(gdb 只是挂在 wait4() 系统调用上)。该进程是可运行的,并且不等待系统调用 (/proc/X/syscall:)running或处于不间断睡眠状态 (/proc/X/status:) State: R (running)

这个过程究竟处于什么状态?这可能是某种类型的内核错误吗?

进程是redis,这种情况现在已经发生过几次了。似乎唯一可以终止进程的是重新启动。操作系统是 Cent 7。

编辑:内核版本是 3.10.0-123.13.2.el7.x86_64。尝试更新到 3.10.0-229.11.1.el7 以查看是否有任何区别。

process linux-kernel redis

18
推荐指数
1
解决办法
1064
查看次数

systemd 拒绝“多个 ExecStart= 设置”

我正在尝试为 redis 编写一个 systemd 服务文件。

这是我的文件:

[Unit]
PartOf=smp-data-services.target
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/opt/eg/share/redis/bin/redis-server
ExecStop=/opt/eg/share/redis/bin/redis-cli
Restart=on-failure
User=eg
Group=eg

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都不断得到:

# systemctl daemon-reload

systemd: redis.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
Run Code Online (Sandbox Code Playgroud)

我可以在命令行上启动 redis,没有像这样的问题:

/opt/eg/share/redis/bin/redis-server
Run Code Online (Sandbox Code Playgroud)

我读过 redis 的守护进程分叉过程是非标准的,我应该避免 Type=forking 或 oneshot。

systemd redis

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

进程挂载是只读的

我有一个 rw 文件系统/myraid0

# cat /proc/mounts | grep myraid0
/dev/mapper/isw_cfdbejjgdi_myraid0p1 /myraid0 ext4 rw,relatime,stripe=8,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

我以/myraid0任何用户的身份写信都没有问题。

redis@host:~$ echo hi > /myraid0/tmp/redis/test
redis@host:~$ cat /myraid0/tmp/redis/test
hi
Run Code Online (Sandbox Code Playgroud)

但是,/myraid0由于EROFS(只读文件系统),我的进程无法在 上写入文件。

open("temp-4036.rdb", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EROFS (Read-only file system)
Run Code Online (Sandbox Code Playgroud)

这表明该进程将挂载视为 ro。

# cat /proc/15920/mounts | grep myraid0
/dev/mapper/isw_cfdbejjgdi_myraid0p1 /myraid0 ext4 ro,relatime,stripe=8,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

为什么进程只有挂载的只读视图?

谢谢!

额外细节

  • Ubuntu 16.04
  • Linux jeff-apartment-2015 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • 应用程序是redis-server …

filesystems systemd redis

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

无法安装redis服务器

尝试使用 Kubuntu 16.04 64 位版本安装 redis-server:

sudo apt install redis-server
Run Code Online (Sandbox Code Playgroud)

但是在安装时收到此消息:

Setting up redis-server (2:3.0.7-1~dotdeb+6.1) ...
Job for redis-server.service failed because a timeout was exceeded. See "systemctl status redis-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript redis-server, action "start" failed.
dpkg: error processing package redis-server (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 redis-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

尝试运行“journalctl -xe”并发现:

redis-server.service: PID file /var/run/redis/redis-server.pid not readable (yet?) after start-post: …
Run Code Online (Sandbox Code Playgroud)

apt redis

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

无法为 Redis 桌面管理器创建合适的 PEM

在 Ubuntu 上,我在使用 SSH 隧道SSH 密钥与 Redis 桌面管理器 (RDM)建立到 redis 服务器的连接时遇到问题。

有什么症状?

  • 我可以使用“plain”ssh和我的id_rsa,连接到运行 redis 的服务器
  • 其他使用 SSH 代理或密钥的实用程序.ssh可以连接到此服务器并创建隧道(例如数据库应用程序),
  • 我可以使用 SSH 隧道密码将 RDM 连接到 redis 服务器(因此问题不是Unable to build an SSH tunnel using Redis Desktop Manager的重复);但这不是一个完美的解决方案,因为我宁愿使用私钥/公钥授权,
  • 我无法将密钥转换为 RDM 所需.ssh工作PEM 格式:我使用我在 google 上搜索的不同方法生成的任何 PEM 文件都被 RDM 拒绝并显示一条消息Connection: Disconnect on error: SSH Connection error(Authentication Error): Unable to extract public key from private key file: Unable to open …

ubuntu ssh-tunneling redis

4
推荐指数
1
解决办法
778
查看次数

安装了redis但在nmap的扫描中看不到它

Redis 已安装并且看起来正在运行:

\n\n
[me@hsredistest01 ~]$ sudo systemctl status redis\n\xe2\x97\x8f redis.service - Redis persistent key-value database\n   Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)\n  Drop-In: /etc/systemd/system/redis.service.d\n           \xe2\x94\x94\xe2\x94\x80limit.conf\n   Active: active (running) since Mon 2019-04-22 19:03:35 +03; 34min ago\n Main PID: 8780 (redis-server)\n   CGroup: /system.slice/redis.service\n           \xe2\x94\x94\xe2\x94\x808780 /usr/bin/redis-server 127.0.0.1:6379\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里说正在运行端口 6379,但是当我扫描正在运行的服务端口时,我看不到它。

\n\n
[me@hsredistest01 ~]$ sudo nmap -sT -O localhost\n\nStarting Nmap 6.40 ( http://nmap.org ) at 2019-04-22 19:40 +03\nNmap scan report for localhost (127.0.0.1)\nHost is up (0.000078s latency).\nOther addresses for localhost (not scanned): 127.0.0.1\nNot shown: …
Run Code Online (Sandbox Code Playgroud)

centos redis

0
推荐指数
1
解决办法
1205
查看次数