Cannot open your terminal '/dev/pts/0' - please check.

本文介绍了解决在server上使用screen时出现的终端错误Cannot open your terminal '/dev/pts/0'的方法。通过使用script命令记录终端会话并执行script /dev/null后,即可正常启动screen。
在server上使用screen的时候出现了如下错误:
Cannot open your terminal '/dev/pts/0' - please check.

万能的google告诉我:
可以使用script命令来记录这个终端会话,执行
script /dev/null

然后就可以打开screen了
root@lee-virtual-machine:/opt/kafka_2.12-3.7.2# nohup bin/zookeeper-server-start.sh config/zookeeper.properties > ~/zookeeper.log 2>&1 & [1] 7497 root@lee-virtual-machine:/opt/kafka_2.12-3.7.2# ps aux | grep 7497 root 7497 1.1 2.1 2939368 83484 pts/3 Sl 18:09 0:00 java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true -Xloggc:/opt/kafka_2.12-3.7.2/bin/../logs/zookeeper-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dkafka.logs.dir=/opt/kafka_2.12-3.7.2/bin/../logs -Dlog4j.configuration=file:bin/../config/log4j.properties -cp /opt/kafka_2.12-3.7.2/bin/../libs/activation-1.1.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/aopalliance-repackaged-2.6.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/argparse4j-0.7.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/audience-annotations-0.12.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/caffeine-2.9.3.jar:/opt/kafka_2.12-3.7.2/bin/../libs/checker-qual-3.19.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-beanutils-1.9.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-cli-1.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-collections-3.2.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-digester-2.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-io-2.14.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-lang3-3.8.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-logging-1.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/commons-validator-1.7.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-api-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-basic-auth-extension-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-json-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-mirror-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-mirror-client-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-runtime-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/connect-transforms-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/error_prone_annotations-2.10.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/hk2-api-2.6.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/hk2-locator-2.6.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/hk2-utils-2.6.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-annotations-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-core-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-databind-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-dataformat-csv-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-datatype-jdk8-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-jaxrs-base-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-jaxrs-json-provider-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-module-jaxb-annotations-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jackson-module-scala_2.12-2.16.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.activation-api-1.2.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.annotation-api-1.3.5.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.inject-2.6.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.validation-api-2.0.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.ws.rs-api-2.1.6.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jakarta.xml.bind-api-2.3.3.jar:/opt/kafka_2.12-3.7.2/bin/../libs/javassist-3.29.2-GA.jar:/opt/kafka_2.12-3.7.2/bin/../libs/javax.activation-api-1.2.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/javax.annotation-api-1.3.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/javax.servlet-api-3.1.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/javax.ws.rs-api-2.1.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jaxb-api-2.3.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-client-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-common-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-container-servlet-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-container-servlet-core-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-hk2-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jersey-server-2.39.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-client-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-continuation-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-http-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-io-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-security-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-server-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-servlet-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-servlets-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-util-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jetty-util-ajax-9.4.56.v20240826.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jline-3.25.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jopt-simple-5.0.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jose4j-0.9.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/jsr305-3.0.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka_2.12-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-clients-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-group-coordinator-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-log4j-appender-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-metadata-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-raft-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-server-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-server-common-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-shell-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-storage-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-storage-api-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-streams-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-streams-examples-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-streams-scala_2.12-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-streams-test-utils-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-tools-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/kafka-tools-api-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/lz4-java-1.8.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/maven-artifact-3.8.8.jar:/opt/kafka_2.12-3.7.2/bin/../libs/metrics-core-2.2.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/metrics-core-4.1.12.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-buffer-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-codec-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-common-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-handler-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-resolver-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-transport-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-transport-classes-epoll-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-transport-native-epoll-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/netty-transport-native-unix-common-4.1.115.Final.jar:/opt/kafka_2.12-3.7.2/bin/../libs/opentelemetry-proto-1.0.0-alpha.jar:/opt/kafka_2.12-3.7.2/bin/../libs/osgi-resource-locator-1.0.3.jar:/opt/kafka_2.12-3.7.2/bin/../libs/paranamer-2.8.jar:/opt/kafka_2.12-3.7.2/bin/../libs/pcollections-4.0.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/plexus-utils-3.3.1.jar:/opt/kafka_2.12-3.7.2/bin/../libs/protobuf-java-3.25.5.jar:/opt/kafka_2.12-3.7.2/bin/../libs/reflections-0.10.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/reload4j-1.2.25.jar:/opt/kafka_2.12-3.7.2/bin/../libs/rocksdbjni-7.9.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/scala-collection-compat_2.12-2.10.0.jar:/opt/kafka_2.12-3.7.2/bin/../libs/scala-java8-compat_2.12-1.0.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/scala-library-2.12.18.jar:/opt/kafka_2.12-3.7.2/bin/../libs/scala-logging_2.12-3.9.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/scala-reflect-2.12.18.jar:/opt/kafka_2.12-3.7.2/bin/../libs/slf4j-api-1.7.36.jar:/opt/kafka_2.12-3.7.2/bin/../libs/slf4j-reload4j-1.7.36.jar:/opt/kafka_2.12-3.7.2/bin/../libs/snappy-java-1.1.10.5.jar:/opt/kafka_2.12-3.7.2/bin/../libs/swagger-annotations-2.2.8.jar:/opt/kafka_2.12-3.7.2/bin/../libs/trogdor-3.7.2.jar:/opt/kafka_2.12-3.7.2/bin/../libs/zookeeper-3.8.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/zookeeper-jute-3.8.4.jar:/opt/kafka_2.12-3.7.2/bin/../libs/zstd-jni-1.5.6-4.jar org.apache.zookeeper.server.quorum.QuorumPeerMain config/zookeeper.properties root 7909 0.0 0.0 12188 2432 pts/3 S+ 18:09 0:00 grep --color=auto 7497
最新发布
09-05
从输出信息来看,Zookeeper 进程(PID 7497)已成功启动,但需要进一步验证其是否正常运行。以下是详细分析和操作建议: --- ### **1. 当前状态分析** #### **1.1 进程信息** - **命令行参数**: ```bash java -Xmx512M -Xms512M ... org.apache.zookeeper.server.quorum.QuorumPeerMain config/zookeeper.properties ``` - 确认 Zookeeper 已以 `QuorumPeerMain` 主类启动,说明是标准单机模式。 - 内存配置为 512MB(`-Xmx512M`),适合测试环境。 #### **1.2 资源占用** - **CPU/内存**: ```bash root 7497 1.1 2.1 2939368 83484 pts/3 Sl 18:09 0:00 ... ``` - CPU 使用率 `1.1%`,内存 `83484KB`(约 81.5MB),资源占用正常。 --- ### **2. 验证 Zookeeper 是否正常运行** #### **2.1 检查日志** ```bash tail -f ~/zookeeper.log | grep -i "error\|exception\|binding" ``` - **关键日志**: - 成功启动应包含: ``` INFO [main:QuorumPeerMain@129] - Starting quorum peer INFO [main:ServerCnxnFactory@146] - binding to port 0.0.0.0/0.0.0.0:2181 ``` - 若出现 `Address already in use`,说明端口冲突。 #### **2.2 测试连接** ```bash # 使用 telnet 或 nc 测试端口 echo "ruok" | nc localhost 2181 # 预期返回 "imok" ``` - 或使用 Zookeeper 四字命令: ```bash echo "stat" | nc localhost 2181 ``` #### **2.3 检查进程状态** ```bash bin/zookeeper-server-status.sh config/zookeeper.properties # 或直接查看进程树 pstree -p 7497 ``` --- ### **3. 常见问题排查** #### **3.1 端口占用** ```bash netstat -tulnp | grep 2181 # 或 ss -tulnp | grep 2181 ``` - 如果端口被占用,需终止冲突进程或修改 `zookeeper.properties` 中的 `clientPort`。 #### **3.2 数据目录权限** ```bash grep "dataDir" config/zookeeper.properties # 示例输出:dataDir=/tmp/zookeeper ls -ld /tmp/zookeeper ``` - 确保目录存在且当前用户(如 `root`)有读写权限。 #### **3.3 配置文件错误** ```bash # 检查配置文件语法 grep -v "^#" config/zookeeper.properties | grep -v "^$" ``` - 关键配置项: ```properties dataDir=/tmp/zookeeper clientPort=2181 maxClientCnxns=0 # 无连接限制 ``` --- ### **4. 优化建议** #### **4.1 使用非 root 用户运行** ```bash # 创建专用用户 sudo useradd -r -M -s /sbin/nologin zookeeper sudo chown -R zookeeper:zookeeper /tmp/zookeeper # 以 zookeeper 用户启动 sudo -u zookeeper nohup bin/zookeeper-server-start.sh config/zookeeper.properties > ~/zookeeper.log 2>&1 & ``` #### **4.2 配置日志轮转** 在 `/etc/logrotate.d/zookeeper` 中添加: ``` /home/root/zookeeper.log { daily rotate 7 compress missingok notifempty } ``` #### **4.3 启用 JMX 监控(可选)** 修改启动命令,添加 JMX 参数: ```bash export JMX_PORT=9999 nohup bin/zookeeper-server-start.sh config/zookeeper.properties > ~/zookeeper.log 2>&1 & ``` --- ### **5. 完整启动脚本示例** ```bash #!/bin/bash # 清理旧进程 pkill -f 'QuorumPeerMain' # 准备目录 mkdir -p /tmp/zookeeper chown -R root:root /tmp/zookeeper # 启动 Zookeeper nohup bin/zookeeper-server-start.sh config/zookeeper.properties > ~/zookeeper.log 2>&1 & # 验证 sleep 5 if echo "ruok" | nc localhost 2181 | grep -q "imok"; then echo "Zookeeper 启动成功!" else echo "启动失败,请检查日志:" tail -n 20 ~/zookeeper.log fi ``` --- ### **6. 总结** - **当前状态**:Zookeeper 进程已启动(PID 7497),需通过日志或端口测试确认是否正常运行。 - **关键操作**: 1. 检查日志中的错误信息。 2. 使用 `nc` 或 `telnet` 测试 `2181` 端口连通性。 3. 确保数据目录权限正确。 - **后续步骤**: - 如果仅用于测试,当前状态已足够。 - 生产环境建议: - 使用独立用户运行。 - 配置日志轮转。 - 监控关键指标(如 `ruok` 响应)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值