最近找到一个计算机语言的性能对比网站
https://benchmarksgame.alioth.debian.org/
量化自我和极简主义的窝藏点
技术
最近找到一个计算机语言的性能对比网站
https://benchmarksgame.alioth.debian.org/
环境: hadoop 1.2, python
有这样的数据,两列,中间是用\\t分隔的,需要按第二列从大到小的顺序排列。
02款雅阁 0.00611111111111
04款奥德赛 0.00813131313131
06ms201 0.000866666666667
06ms201图集 0.00704678362573
06雅阁 0.0145098039216
07常服大衣 0.00915032679739
08年本田思域 0.00111111111111
1.5d弯头 0.0211538461538
1.5匹空调 0.00929292929293
1.5米衣柜设计图 0.01640625
hadoop streaming的python程序写法如下:
hadoop streaming -input datain -output dataout -mapper cat -reducer cat -jobconf mapred.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator -jobconf stream.num.map.output.key.fieds=2 -jobconf stream.map.output.field.separator=”\\t” -jobconf mapred.text.key.comparator.options=”-k2,2nr” -jobconf mapred.reduce.tasks=1
其中map, reduce都是操作系统命令cat,org.apache.hadoop.mapred.lib.KeyFieldBasedComparator 来自定义使用key中的部分字段做比较,stream.map.output.field.separator指定map出来的数据按\\t来分隔,stream.num.map.output.key.fieds是指map出来的数据的key/value分隔符在哪,这里将第一列和第二列都作为key部分,mapred.text.key.comparator.options指key中对比的方式, -k2, 2nr是指从第二列到第二列按数值反转排序。
环境:windows 7, python 2.7
写python文件格式.py的程序需要将其打包成可执行的文件形式,可以使用PyInstaller来打包。
下载PyInstaller-3.1文件,使用打包命令如下:
D:\\program\\PyInstaller-3.1>pyinstaller.py -F ../../qs123/s3test.py –upx-dir upx391w
此命令将其打包成一个可执行文件并进行压缩。
参数:
-F
指定打包后只生成一个exe格式的文件
-D
–onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c
–console, –nowindowed 使用控制台,无界面(默认)
-w
–windowed, –noconsole 使用窗口,无控制台
-p
添加搜索路径,让其找到对应的库。
-i
改变生成程序的icon图标
git clone https://github.com/confluentinc/schema-registry.git
cd schema-registry
git checkout tags/v2.0.0
mvn clean package -DskipTests
vi config/schema-registry.properties
设置kafkastore.connection.url为zookeeper的连接地址
nohup ./bin/schema-registry-start ./config/schema-registry.properties &
查看schema-registry进程
[adadmin@s11 ~]$ jps
26995 NodeManager
74580 Kafka
61079 SchemaRegistryMain
62615 Jps
126392 Worker
26843 DataNode
118141 QuorumPeerMain
#producer 注意:输入一条数据才enter一次,退出使用ctrl + C
./bin/kafka-avro-console-producer –broker-list 10.121.93.50:9092 –topic test –property value.schema='{“type”:”record”,”name”:”myrecord”,”fields”:[{“name”:”f1″,”type”:”string”}]}’
{“f1”: “value1”}
{“f1”: “value2”}
{“f1”: “value3”}
./bin/kafka-avro-console-consumer –broker-list 10.121.93.50:9092 –topic test-avro –from-beginning
经常使用linux内置的history命令查看历史,在当前用户下面有个.bash_history文件用于保存历史命令,另外$HISTSIZE环境变量是保存最大条数。在当前shell环境中,命令放在内存中,退出时将最近$HISTSIZE条命令保存在.bash_history上,也可以使用history -a(从登录起到现在的命令)手工保存,另外history -w将当前命令保存下来。如果想命令立刻保存下来,可以在.bashrc中设置环境变量export PROMPT_COMMAND=’history -a’
环境: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”)
from pytz import timezone
from datetime import datetime
from time import mktime
import time
t1 = ‘2016-08-04T02:58:29Z’
tt1 = time.strptime(t1, “%Y-%m-%dT%H:%M:%SZ”)
dt1 = datetime.fromtimestamp(mktime(tt1))
tzchina = timezone(‘Asia/Chongqing’)
utc = timezone(‘UTC’)
dt1.replace(tzinfo=utc).astimezone(tzchina)
环境: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”
环境: 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”
环境: Ubuntu 14.04
sudo apt-get update
sudo apt-get -y install docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
sudo sed -i ‘$acomplete -F _docker docker’ /etc/bash_completion.d/docker.io
sudo update-rc.d docker.io defaults