Linux history的详解

经常使用linux内置的history命令查看历史,在当前用户下面有个.bash_history文件用于保存历史命令,另外$HISTSIZE环境变量是保存最大条数。在当前shell环境中,命令放在内存中,退出时将最近$HISTSIZE条命令保存在.bash_history上,也可以使用history -a(从登录起到现在的命令)手工保存,另外history -w将当前命令保存下来。如果想命令立刻保存下来,可以在.bashrc中设置环境变量export PROMPT_COMMAND=’history -a’

spark写入kafka问题

环境:Spark 1.6,  kafka 0.8

Failed to send producer request with correlation id java.io.IOException: Connection reset by peer kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.

由于使用spark读取和写入到kafka中,出现以上问题,一直以为是参数性能调整问题,调整不同的参数。

在producer端

producerConf.put(“retry.backoff.ms”, “8000”);
producerConf.put(“message.send.max.retries”, “10”);
producerConf.put(“topic.metadata.refresh.interval.ms”, “0”);
producerConf.put(“fetch.message.max.bytes”, “5252880”)
producerConf.put(“request.required.acks”, “0”)

在broker端 server.properties

message.max.bytes=5252880
replica.fetch.max.bytes=5252880
request.timeout.ms=600000

都无法解决些问题,后来才了解到producer默认的写入的方式是同步,因此问题就是在这一个参数上

producerConf.put(“producer.type”, “async”)

工作倦怠

最近没啥项目,每天就是上上网看看新闻。过得没啥意思,感觉换工作也解决不了问题。给自己一个感兴趣的目标试试。

hadoop namenode启动问题

环境:CentOS 6.3, hadoop 2.6

由于hadoop集群中的namenode服务器cpu故障造成集群无法使用,重启后启动namenode出现错误提示:java.lang.OutOfMemoryError: GC overhead limit exceeded

 

解决方法:是由于java的内存回收机制造成的, 在hadoop/dfs/name/current有namenode的大量的日志文件,需要修改etc/hadoop/hadoop-env.sh中增加“-Xms30G -Xmx50G”

export HADOOP_NAMENODE_OPTS=”-Xms30G -Xmx50G -Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS”

Tensorflow安装一个小问题

环境: Ubuntu 14.04

 

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

sudo pip install –upgrade $TF_BINARY_URL

python

import tensorflow

出现AttributeError: type object ‘NewBase’ has no attribute ‘is_abstract’

 

解决方法:

python

import six

print(six.__file__) 查看路径

重新安装

sudo pip uninstall six

sudo pip install six –upgrade –target=”/usr/lib/python2.7/dist-packages”

tmp目录下隐藏文件

环境: CentOS 6.2

由于/tmp目录下只有一个g的容量,但发现有600M的空间被占用。在tmp目录下du -sm却只有不到10M的文件。最后发现是运行的应用程序写日志文件被删除了,

通过命令查看  lsof /tmp | grep deleted

解决方法,关闭相应的应用程序并记住不要轻易删除tmp目录下的文件。