コンテナログのrotateについて コンテナを実際の環境で運用しようと思うと、各種ログをローカルに保存する必要があります。 しかし、そのままにしておくとログが肥大化してしまいますのでlogrotateが必要です。 参考にしたページ 環境 rhel 7.1 docker 1.6.2 手順 格納先を作成する
前回作成したKafkaクラスタをテストするために、簡単なNode.jsのproducerとconsumer用のコンテナを作成します。追加コンテナもKafkaとZooKeeperと同じdocker-compose.ymlに含めたかったのですが、うまく動かせませんでした。producerとconsumerのコンテナは通常のdocker runコマンドで起動することにします。 kafka-node Node.jsのKafkaクライアントはいくつかGitHubにあがっています。 kafka-node Prozess 今回のKafkaのバージョンは0.8.2.1です。Prozessは0.6のままので、0.8に対応しているkafka-nodを使うことにします。 プロジェクト 最初に作成したファイルのディレクトリ構造です。適当なディレクトリを作成します。 $ cd ~/docker_apps $ tre
I've been working on a few projects at the moment and scaling keeps coming to a head. So let's take a look on how to scale a Docker web services stack with Docker-Compose. Before we get started we need to lay a bit of ground work. What we are building is a web service with three components that are built, configured, and deployed via docker-compose. HAProxy which provides us with round-robin load
こんにちは! CTOの島田(@tatsushim)です。 先日mamari tech nightというエンジニア向けのLTイベントを社内で開催しました。 その際にママリのインフラ構成について発表したのですが、当時を振り返り大事だなと思うことがあったので、今回はその学びを共有したいと思います。 完璧なインフラ構成は必要ない 結論からお伝えするとサービスの立ち上げ時に「完璧なインフラ構成は必要ない」というお話です。 ママリの最初のインフラ構成 実はママリの最初のインフラ構成は以下のような構成になっていました。*1 構成は1台のEC2インスタンスのみで、もちろん、DB(MySQL), Apacheなどは全部入りです。 しかしインフラ構成はしばらく変えず、アプリケーションの機能開発にリソースを割きました。 そのインフラ、本当に今必要? サービスを創る際、1エンジニアとしてはそのサービスを滞りなく運
以上の特徴を踏まえた上で、それでは実際に秘密鍵、公開鍵の鍵ペアを作りましょう。 Macの場合の公開鍵認証のやり方 ターミナルを開いた状態では、現在のパスはユーザーのホームディレクトリ( /Users/(ユーザーID) )になっていると思います。 ls -a コマンドでファイルのリストを表示し、もし .ssh ディレクトリが無ければ作成してください。 ディレクトリのアクセス権限は本人しか読み書きできない権限(700)にします。 $ mkdir .ssh $ chmod 700 .ssh .ssh ディレクトリに移動し、ssh-keygenコマンドを実行して秘密鍵と公開鍵のペアを作ります。 パスフレーズは自分が決めた適当な文字列を使用してください。 $ cd .ssh $ ssh-keygen Generating public/private rsa key pair. Enter file
データマネージャ このステップで、クエリマネージャはクエリを実行するので、テーブルとインデックスからデータを取得する必要があります。そこでデータマネージャに対してデータを取得するよう要求するのですが、ここで次の2つの問題が発生します。 リレーショナルデータベースはトランザクションモデルを使用しています。この場合、「いつでも・どんなデータも取得できる」というふうにはいきません。どこか別の場所で、ここに格納されているデータを同時に使用したり更新したりしている可能性があるからです。 データの取得は、データベース内で実行する処理の中で最も時間のかかるもの です。従ってデータマネージャはそれを見越して、メモリバッファにデータを取得しておき、それを保持しなければなりません。 このセクションでは、リレーショナルデータベースがこの2つの問題にどう対処しているかを説明します。なお、データマネージャがデータを
最近触り始めたので調べたことをまとめてみる・・・!(長くなった!) DynamoDBとは ・AWSの提供する完全マネージドNoSQL DBサービス →KVS的に使うもよし →インデックスを張って軽いクエリも可能 →最近ではJSONドキュメントもサポートされ、ドキュメントストアとしても使えるとのこと ※まだ自分で試してないのでなんともですが、JSONドキュメントの中を検索とかできるのかな… ・ストレージ無限 ・パフォーマンスも無限 →ただしある一定以上に設定する場合はAmazon側に上限緩和申請が必要 →とはいえ項目サイズを1KBとした場合、10000req/sec以上までは申請不要なので通常は十分 ・ユーザが気にするのはスループット値の設定のみ →ReadもWriteも設定値を増やすのは1日何回でも可能だが、減らすのは1日4回までなので注意 →ReadとWriteの設定値減を同時に1リクエ
いきなり番外編。 tl;dr そらまめ君のデータを定期的に集めて DynamoDB に投入する流れを作るにあたってどこかのサーバーを常時起動しておくのもなあということで Datapipeline の ShellCommandActivity を cron として利用してみた。 尚、Datapipeline の ShellCommandActivity を cron のように利用されている方が既に以下のように記事にされており大変参考になった。有難うございました。 hoppie.hatenablog.com sil.hatenablog.com ShellCommandActivity は必ず EC2 が起動してしまうが、そらまめ君のデータを収集する間だけ(厳密には起動時点で一時間分が課金される)起動すれば良いということで起動しっぱなしのサーバーよりはコスト削減につながるのでは考えている。 尚
前回のJAWSUG千葉ネタですが、Amazon API GatewayのMock機能を使ってみようというお話です。時代は、2-Tierアーキテクチャやサーバレス・アーキテクチャだと勇ましいですが、足元をみるとレガシーから脱却できずに苦労しているという現実もあると思います。そんな時に、API Gatewayのモック機能を使って、部分的にでも文明の利器を感じるのは良いのではないでしょうか? Amazon API GatewayのMock機能とは? 最初期のAPI Gatewayには4つの機能がありました。Lambda連携とAWS Proxy,Http Proxyの3つです。4つ目の機能として追加されたのが、Mock機能です。最初の3つの機能は、API Gatewayを通じて別のリソースを呼び出す機能です。これに対して、Mock機能はAPI Gateway自身が直接的に値を返す機能です。名前の通
前回投稿でインストールしたSparkを、pysparkから軽く触ってみる。 環境はAmazon ec2上のCentOS 6.5、CDH5(beta2)。 その前にテストデータを用意しておく。過去記事にも書いたダミーデータ生成ライブラリでこんなCSVを作った。データは10000行。ダミーデータ作るのも面倒だったらログファイルとか、テキストデータなら何でもいいと思う。 29297,Ms. Jolie Haley DDS,2014-03-19 09:43:20 23872,Ayana Stiedemann,2014-03-03 10:31:44 23298,Milton Marquardt,2014-03-26 22:19:41 25038,Damian Kihn,2014-03-23 03:30:08 23743,Lucie Stanton,2014-03-14 20:53:33 28979,
はじめに Pythonでデータ分析を扱う上で必須となる、Pandasでのデータ操作方法の 初歩についてまとめました。 ついつい忘れてしまう重要文法から、ちょっとしたTipsなどを盛り込んでいます。 こんな人にオススメ → Pandasを初めて触ってみたい! → Rが使えることをPythonでもやってみてーなー → Pandasの文法覚えきれねー どっかに一覧があれば便利なのに... → そもそもPythonでデータハンドリングってどれくらいできるものなのさ こちらも合わせてどうぞ ◆Pandasでデータ操作:Pandas_plyを使う http://qiita.com/hik0107/items/3dd260d9939a5e61c4f6 データを作ってみよう import pandas as pd df_sample =\ pd.DataFrame([["day1","day2","day
本日はPyCon mini Sapporoの開催の日です。Pythonの日といっても過言のない(??)本日、Amazon Redshiftに、User-Defined Functions 追加のアナウンスが行われました。 Amazon Web Services ブログ: 【AWS発表】Amazon RedshiftにUDF(ユーザ定義関数)が追加されました Creating User-Defined Functions - Amazon Redshift User-Defined Functions とは いわゆるひとつのユーザー定義関数です。RedshiftのUser-Defined Functions(以下UDF)はSQLではなく Python で書くことが出来ます。RedshiftにUDFを追加して欲しいというユーザーの要望は以前から多く存在していました。今回のアップデートはこの期待
よく訓練されたアップル信者、都元です。今回はローカル・セカンダリ・インデックス(LSI)について深堀りしてみましょう。 ここまでの復習 その前に、色々復習しておきましょう。 DynamoDBのインデックス3種類 まず、DynamoDBが持てるインデックス3種類をあらためてまとめておきます。 暗黙的な、キー(ハッシュキーのみ、または、ハッシュキー+レンジキー)による検索のためのインデックス 明示的に定義した、ローカル・セカンダリ・インデックス(LSI) 明示的に定義した、グローバル・セカンダリ・インデックス(GSI) このうち、暗黙的なインデックスは1テーブルにつき1つだけ、LSI及びGSIは1テーブルにつき各5個まで定義できます。つまり、1つのテーブルには最小で1個、最大で11個のインデックスがあります。検索を行う場合は、まず「どのインデックスを使って検索をするか」を指定し、その上で検索条
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く