Monkey

Think! And Think Again


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 公益404

  • 搜索

未命名

发表于 2017-01-09 |

推荐方案
Consul + confd
或
Consul + Consul template

https://github.com/ansible/ansible/blob/devel/contrib/inventory/consul_io.py

参考

服务发现:Zookeeper vs etcd vs Consul

关于配置的思考

consul的使用

Consultemplate
EnvConsul

安装

wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip
unzip consul_0.7.2_linux_amd64.zip

sudo cp ‘/home/yh/Downloads/consul’ /usr/bin/consul

下载 webUI
https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_web_ui.zip

  • 启动客户端
    consul agent -dev

curl localhost:8500/v1/catalog/nodes

[
{
“Node”: “fedora.rhel.cc”,
“Address”: “127.0.0.1”,
“TaggedAddresses”: {
“lan”: “127.0.0.1”,
“wan”: “127.0.0.1”
},
“CreateIndex”: 4,
“ModifyIndex”: 5
}
]

dig @127.0.0.1 -p 8600 fedora.rhel.cc

启动server

sudo mkdir /etc/consul.d
echo ‘{“service”: {“name”: “web”, “tags”: [“rails”], “port”: 80}}’ \
| sudo tee /etc/consul.d/web.json

consul agent -dev -config-dir=/etc/consul.d

dig @127.0.0.1 -p 8600 web.service.consul SRV
dig @127.0.0.1 -p 8600 rails.web.service.consul

curl http://localhost:8500/v1/catalog/service/web
[
{
“Node”: “fedora.rhel.cc”,
“Address”: “127.0.0.1”,
“TaggedAddresses”: {
“lan”: “127.0.0.1”,
“wan”: “127.0.0.1”
},
“ServiceID”: “web”,
“ServiceName”: “web”,
“ServiceTags”: [
“rails”
],
“ServiceAddress”: “”,
“ServicePort”: 80,
“ServiceEnableTagOverride”: false,
“CreateIndex”: 6,
“ModifyIndex”: 6
}
]

curl ‘http://localhost:8500/v1/health/service/web?passing‘

启动web-ui

consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -ui-dir=./ -config-dir /etc/consul.d

##查看信息
consul info

Consul 搭建服务框架(使用篇)
Docker结合Consul实现的服务发现(二)参考

https://github.com/jippi/hashi-ui
nomad

未命名

发表于 2016-12-30 |

#elastalert 使用

http://elastalert.readthedocs.io/en/latest/ruletypes.html

可以使用es中的数据做监控

未命名

发表于 2016-12-30 |

Yelp 是个 不错的公司
公司github地址:
https://github.com/Yelp

data-pipeline介绍
http://www.infoq.com/cn/news/2016/12/Yelp-data-pipeline-open-source?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage

第一篇:一天几十亿条消息:Yelp的实时数据管道。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-data-pipeline-part01)
第二篇:Yelp的实时流技术之二:将MySQL表数据变更实时流到Kafka中。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-data-pipeline-part02)
第三篇:Yelp的实时流技术之三:不止是模式存储服务的Schematizer。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-stream-technology-part03)
第四篇:Yelp的实时流技术之四:流处理器PaaStorm。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-data-pipeline-part04)
第五篇:Yelp的实时流技术之五:数据管道之Salesforce Connector。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-data-pipeline-part05)
第六篇:Yelp的实时流技术之六:近实时地将Kafka中的数据流入Redshift。(英文)(http://www.infoq.com/cn/articles/yelp-real-time-data-pipeline-part06)

这个貌似可以解决 部署问题:
https://github.com/Yelp/virtualenv-tools
https://github.com/Yelp/requirements-tools

项目部署:
https://www.zhihu.com/question/38081354
http://www.cnblogs.com/shuliang/p/3536264.html

未命名

发表于 2016-12-30 |

http://javascript.ruanyifeng.com/tool/phantomjs.html

未命名

发表于 2016-12-30 |

rabbit-mp
celery
redis

结束时间-12月7日写完

  1. 判断哪个简单
  2. 功能主要是
    使用scrapy 是否支持动态页面
  3. 美元指数的获取

无框架浏览器,phantomjs

##
BeautifulSoup4 解析html (scrapy 的xpath解析可替换掉它)
scrapy 爬虫主体框架

selenium 调用phantomjs
phantomjs 无框架浏览器

未命名

发表于 2016-12-29 |

yield 生成器

  • 列表推导式和元组推导式的区别

In [1]:lt = [1, 2, 3, 4]
In [2]:gen = [i for i in lt]
In [3]: gen
Out[3]:Out[3]: [1, 2, 3, 4]

In [4]:gen = (i for i in lt)
In [5]:gen
Out[5]: at 0x7fd271c488c0>

参考

  • iter(obj) 转换成可迭代对象
    In [6]: lt = [1, 2, 3, 4]

In [7]: iter(lt)
Out[7]:

for 其实式迭代的语法糖,for循环本质如下:

1
2
3
4
5
6
7
it = iter(lst)
while True:
try:
val = it.next()
print val
except StopIteration:
pass

支持迭代

  • 自定义对象可以支持迭代

  • 示例:
    for x in conuntdown(10):
    print x

    10 9 8 7 6 5 4 3 2 1

  • 需要实现上面的功能,需要你的对象 支持 iter() and netx() 方法

  • 示例:
    ```
    class countdown(object):
    def init(self,start):

    self.count = start
    

    def iter(self):

    return self
    

    def next(self):

    if self.count <= 0:
        raise StopIteration
    r = self.count
    self.count -= 1
    retun r
    

c = countdown(5)
for i in c:
print i

5 4 3 2 1

def countdown(n):
while n > 0:
yield n
n -= 1

for i in countdown(5):
print i
5 4 3 2 1

未命名

发表于 2016-12-27 |

1.
svn add –force * –auto-props –parents –depth infinity -q

  1. svn commit -m “add”

未命名

发表于 2016-12-22 |

cdn-viewlog-hls
cdn-viewlog-pc

bin/kafka-topics.sh –zookeeper localhost:2181 –list

bin/kafka-console-consumer.sh –zookeeper localhost:2181 –from-beginning –topic cdn-viewlog-hls

未命名

发表于 2016-12-15 |

查询rpm包

rpm -qpR ansible-2.2.0.0-3.el6.noarch.rpm

rpm –query –package –requires ansible-2.2.0.0-3.el6.noarch.rpm

查询某个命令是哪个软件包提供的 比如:rz

yum provides */rz

[root@localhost ansible]# yum provides */rz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • epel: mirrors.aliyun.com
  • extras: mirrors.aliyun.com
  • updates: mirrors.aliyun.com
    base/filelists_db | 6.4 MB 00:47
    extras/filelists_db | 38 kB 00:00
    updates/filelists_db | 2.5 MB 00:28
    lrzsz-0.12.20-27.1.el6.x86_64 : The lrz and lsz modem communications programs
    Repo : base
    Matched from:
    Filename : /usr/bin/rz

如上可知,rz命令是由 lrzsz-0.12.20-27.1.el6.x86_64这个包提供的

未命名

发表于 2016-12-15 |

概念问题
kafaka和zookeeper的群集,使用samsa的时候生产者和消费者都连接了zookeeper,但是我跟峰云(大数据大牛,运维屌丝逆转)沟通,他们使用的时候是生产者直接连接kafaka服务器列表,消费者才用zookeeper。这也解决了我看pykafka文档,只有消费者才连接zookeeper的困惑,所以问题解决,直接按照文档搞起。

生产者

from pykafka import KafkaClient
client = KafkaClient(hosts=”192.168.1.1:9092, 192.168.1.2:9092”) # 可接受多个Client这是重点
client.topics # 查看所有topic
topic = client.topics[‘my.test’] # 选择一个topic
producer = topic.get_producer()
producer.produce([‘test message ‘ + str(i ** 2) for i in range(4)]) # 加了个str官方的例子py2.7跑不过

消费者

balanced_consumer = topic.get_balanced_consumer(
consumer_group=’testgroup’,
auto_commit_enable=True, # 设置为Flase的时候不需要添加 consumer_group
zookeeper_connect=’myZkClusterNode1.com:2181,myZkClusterNode2.com:2181/myZkChroot’ # 这里就是连接多个zk
)

1…131415…21
kikiyou

kikiyou

越努力越幸运

204 日志
20 标签
GitHub Quora 知乎 豆瓣 果壳 Facebook Twitter 新浪微博
Links
  • Awesome
© 2015 - 2017 kikiyou
由 Hexo 强力驱动
主题 - NexT.Mist