サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
kikai.hatenablog.jp
最近少し広めの部屋に引っ越しをしたので、自室にプロジェクターを導入してみました。 賃貸マンションでプロジェクター導入する人の参考になれば・・・。 購入したもの プロジェクターはエプソンのTW5350を購入しました。 9万を切る価格で2200ルーメンの明るさとフルHDの解像度をもつコスパの良さがいいですね。 ↓製品 EPSON dreamio ホームプロジェクター(35000:1 2200lm) 3D対応 EH-TW5350 出版社/メーカー: エプソン発売日: 2015/08/27メディア: Personal Computersこの商品を含むブログ (1件) を見る スクリーンはオーエスのSMH-100HNを購入。 100インチの吊り下げタイプで13000円弱という安さ。 スクリーンはどうせ下げっぱなしにする予定だったので、巻き上げ機能もないシンプルなものにしました。 ↓製品 オーエス 掛
Smokepingとは 遅延やパケットロスを測定し、その結果をRRDToolを利用してグラフ化するツールです。デフォルトではpingのみの測定ですが、設定によってcurlでhttpの応答時間を測定することも可能なのでwebサービスのサービス品質の測定にも活用できそうです。 手順 前提としてapacheがインストール済みの事。 smokepingのインストール wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -ihv rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -ihv http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noar
参照が外せるDBがない状態で、MySQLのスレーブを増やしたいときは 以下のコマンドでdumpを取得する。 mysqldump -uroot --single-transaction --master-data=2 --all-databases\--single-transactionは dump時にsnapショットを取得してそこかデータを取得するため、 ダンプ時のデータのトランザクションの一貫性を保つことができる。 その際、更新や参照にロックがかからない。 \--master-data=2は CHANGE MASTER TOコマンドをdumpファイルの先頭に付加する。 –master-data=2を指定するとCHANGE MASTER TOがコメントアウトされた状態。 –maser-data=1と指定するとコメントアウトされずにダンプされる。
MySQL5.1からdumpしたデータをMySQL5.5に入れてレプリを組んで、試しに更新クエリ流したらスレーブが死にました。 Last_SQL_Error: Query caused different errors on master and slave. Error on master: message (format)='Cannot load from mysql.%s. The table is probably corrupted' error code=1548 ; Error on slave: actual message='no error', error code=0. Default database: 'testtest2'. Query: 'drop database testtest2'原因: mysql_upgradeやってなかった。 mysql -uro
概要 S3+CloudFrontで認証付きURL発行して、認証なしのアクセスを弾きたい。 設定手順 S3バケットの作成 コンテンツ格納先のS3の作成をします マネージメントコンソールからS3をクリック バケットの作成をクリック 任意のバケット名を入力して作成をクリック 作成されたらプロパティをおして、アクセス許可の項目を確認 現在はなにも設定されていないので、 「バケットポリシーの追加」などしか表示されていない CloudFrontの設定 S3のファイルを配信するCloudFrontを設定します マネージメントコンソールからCouldFrontをクリック CreateDistributionをクリック デリバリーメソッドの選択 今回はWebコンテンツの配信なのでWebの項目から「Get Started」をクリック Origin Domain Nameの項目をクリックして、 先程作成したS3
PUTとかDELETEとかまぁ普通使わないし、とりあえず防いでおこう。 <Limit PUT DELETE> Order deny,allow Deny from all </Limit>バーチャルホスト切ってたら、こんな感じにLocationの中へ <Location /> <Limit PUT DELETE> Order deny,allow Deny from all </Limit> </Location>確認方法 libwww-perlを使うのでインストール yum -y install perl-libwww-perlDELETEメソッドやってみる GET -f -m DELETE http://hogehoge/hogehoge.htmlアクセスログ確認 192.168.*.* - hoge [13/Jun/2013:09:56:39 +0900] "DELETE /hoge
Apache Solr http://lucene.apache.org/solr/ Apache Solr(ソーラー)はApacheコミュニティによってオープンソースで開発されている全文検索エンジンです。 Apache LuceneのHTTPラッパーのようなものです。 Luceneでは全文検索を行う為にはそれなりにコードを書かなければいけないですが、Solrを使うとSolrに対してHTTPのリクエストを行うだけで指定したデータをHTTPレスポンスで返してきてくれます。 利用するにはTomcatなどのサーブレットコンテナを利用する必要があります。 MySQLのデータベースにあるデータをSolrにインポートしてデータを検索するといったことも可能です。 現時点(2011/09/16)で最新のSolrは3.4.0です。1.4.xの時は同梱されていたJettyのバージョンは6.13でしたが、Sol
MySQLのバックアップとリストア データベースの運用においてバックアップは必要不可欠な存在です。 今回はmysqldumpを用いたバックアップとそのリストア方法を書きます。 mysqldump 標準で添付されている最もポピュラーなバックアップ方法です。 MySQL Serverに格納されているテーブルデータを、そのテーブルを構築する為のSQL文として出力します。 バックアップしたデータはSQL文で構成されているので、テキストデータとして確認修正することが可能です。 また、MySQL Serverを停止することなくバックアップすることも可能です。 デメリットとして、ダンプファイルのサイズが大きくなりやすいことと、リストア時には大量のINSERTコマンドが走るため、実行に時間がかかることです。 mysqldumpの記述 mysqldump [オプション] データベース [テーブル] > ダン
静的コンテンツ配信の為だけのサーバでnginxを利用。 公開前のサーバだったのでLDAPの認証をかけて確認したところ、 cssとかjsとか画像ファイルとかの静的ファイルの応答時間が10秒かかって、 HTTPステータスコード000になるという状態になった。 /var/log/nginx/access.log 24**:****: - hoge_fuga [30/Jul/2014:13:53:48 +0900] "GET /pc/ HTTP/1.1" 200 2244 "http://[24**:****:]/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko Firefox/28.0" "-" 0.005 24**:****: - hoge_fuga [30/Jul/2014:13:53:50 +0900] "GET /img/head
毎回忘れる・・・。 show variables like '%max%'; my.cnf変更 vim /etc/my.cnf max_connections = 4000 オンラインで変更 set global max_connections = 6000; ついでに過去の最大使用コネクション show status like 'max%';
先日記事に書いたように、無停止のALTER文実行では Percona-ToolkitのOnline-schema-changeを利用しています。 無停止でALTERできるPercona-Toolkitのonline-schema-change オンラインでのカラム追加 私が担当しているサービスでは、ALTER文実行時にレプリケーションの遅延を出来るだけ発生させたくないので、 以下の様な手順でOnline-schema-changeを実行しています。 (1) スレーブ全台でOnline-schema-changeの実行 (2) マスターでOnline-schema-changeの実行(--set-vars="sql_log_bin=0"のオプション指定) "sql_log_bin=0"オプションをつけて実行すると、binlogを出さずに実行できるので、 マスターで実行してもそのクエリはスレー
MySQL5.5をまだまだ絶賛利用中な私です。 サービスを運用しているとINDEX追加やカラム追加を行いたい要望が多々発生します。 それも無停止で。 MySQL5.6からは無停止でINDEX追加やカラム追加ができるオンラインDDLが実装されました。 カラム追加はまだ色々制約があるみたいですが…。 http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html pt-online-schema-change MySQL5.5でも似たようなことをやりたいので、 有名な「Percona-Toolkit」に同梱されているpt-online-schema-changeを利用しています。 http://www.percona.com/software/percona-toolkit 通常はロックが掛かってしまうALTER
トランザクションとは 1つの作業単位として扱われるSQLクエリの集まりです。 複数のUPDATEやINSERTをひとつの集まりとして、 それらのクエリがすべて適用できた場合のみデータベースに反映します。 ひとつでも適用に失敗したクエリがあった場合は、そのまとまりすべてのクエリの結果は反映しません。 ACID特性 トランザクション処理に求められる4つの特性です。 原子性 (Atomicity) トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。 一貫性 (Consistency) どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。 分離性 (Isolation) トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。 永続性 (Durability) トランザクションが完了したら、シス
RedmineとはRuby on Railsで作られたオープンソースのプロジェクト管理ソフトウェアです。 タスク管理や進捗管理、グループでの情報共有が可能です。 事前準備 Ruby Enterprise Editionのダウンロード http://www.rubyenterpriseedition.com/download.html tar zxvf ruby-enterprise-1.8.7-2011.03.tar.gz ruby-enterprise-1.8.7-2011.03/installer --dont-install-useful-gems --no-dev-docs --dont-install-useful-gemsは、必要なgemパッケージはあとで手動でいれるので自動インストールをはずします。 --no-dev-docsは開発者ドキュメントなのでいらないです。 インスト
ある日 ioDriveを積んでるMySQLスレーブサーバが突然の死。 というか、レプリケーションが止まっていました。 サービスから参照されていないDBではあったので、 特に死んでいても問題にはなりませんでした。 今回つかっていたのはioDrive Duoです。 /var/log/messages確認 とりあえずシステムのログを確認してみると、 Jan 27 05:39:36 hoge-dbs kernel: fioinf HP 640GB MLC PCIe ioDrive Duo for ProLiant Servers 0000:09:00.0: groomer read had error -1024 Jan 27 05:39:36 hoge-dbs kernel: fioerr HP 640GB MLC PCIe ioDrive Duo for ProLiant Servers 00
Cassandraとは オープンソースの分散データベース。 元々Facebook社が開発し、現在はApache Software Foundationが開発中で、2013年12月現在の最新版は2.0.3です。 ノードがP2P通信でクラスタを組む非中央管理型のシステムであり、 スケーラビリティ、高可用性、耐障害性に優れていると 言われています。 以下勉強メモ ■Cassandraのインストール ■用語集 Cassandraのインストール JDKインストール OracleJDKをダウンロードしてくる http://www.oracle.com/technetwork/java/javase/downloads/index.html rpm -ivh /tmp/jdk-7u45-linux-x64.rpmCassandraダウンロード wget http://ftp.tsukuba.wide.a
サービス運用している時にレプリケーション遅延が発生してアプリケーションがバグった。 という事態にならないように、開発環境のDBは遅延を発生させてを遅延を考慮したアプリケーションが開発できるようにします。 ※MySQL5.6の場合は↓をするだけです。 STOP SLAVE; CHANGE MASTER TO MASTER_DELAY=360; START SLAVE;Percona Toolkit 今回はPercona Toolkitのpt-slave-delayを利用します。 Percona Toolkitのインストール wget http://www.percona.com/redir/downloads/percona-toolkit/LATEST/RPM/percona-toolkit-2.2.5-2.noarch.rpm ※依存パッケージ yum install perl-DBI
MySQLのログについて適当に。 エラーログ もっとも参照する情報であるログファイル。 なにかトラブルに遭遇した場合、ほとんどの出来事はエラーログに記録されていることでしょう。 エラーログは特に指定していなかった場合、データディレクトリ内にホスト名.errというファイル名で生成されています。 基本的にエラーメッセージそのものが問題点を表しているのでその部分を確認すればいいのです。 エラーログの中には「ERROR 2」のようにエラー番号がのっている時があります。。 この時MySQLに付属しているperrorコマンドを使うと、エラーコードの意味を表示してくれます。 perror 2 OS error code 2: No such file or directoryスロークエリログ クエリの実行に時間がかかった時に記録されるログです。 データディレクトリにホスト名-slow.logというファイ
確認 # cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2096472 96 -1SWAPに当てる領域のファイルを作成する bs=が単位 count=がサイズ 以下の例だと2GB(2048MB) dd if=/dev/zero of=/swap_file.extended bs=1M count=2048SWAP領域の作成 mkswap /swap_file.extendedSWAP領域に追加する swapon /swap_file.extended確認 # cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2096472 96 -1 /swap_file.extended file 2097144 0 -2 #
Webサービスを運用していると、メンテナンス時にDBサーバの再起動が必要になるケースがいつか出てきます。 その際、再起動後そのままの状態でDBサーバをサービスインしてしまうと障害が起きてしまうことがあるので、 その対処法をメモしておきます。(InnoDB利用時編) ■InnoDB buffer pool MySQLのストレージエンジンであるInnoDBはinnodb buffer poolに書込/読込データを一時的に保管していて、 定期的にibdataに書き込みを行うことでI/O性能を向上させています。 my.cnfのinnodb_buffer_pool_sizeでバッファサイズの指定ができるので、搭載メモリの50%〜70%ぐらいを指定します。 ■ウォームアップ対象の洗い出し buffer poolのサイズは有限なので、できるだけ多い回数呼び出されてるテーブルやINDEXをバッファに乗せて
MySQL5.6GAが出てから大分経っちゃいましたが、 皆様プロダクト環境でガンガン使っておりますでしょうか。 今更ながら手順を整理したので記述しておきます。 ■GTIDとは Global Transaction Identifiers 今までのMySQLのレプリケーションで行なっていた、「Masterのbinlogファイル名 + ポジション番号」による情報ではなく、 トランザクションごとにGTIDを持たせる事で管理できるようになるという機能です。 mysqlfailoverを利用すると、マスター障害時に各スレーブで最も進んでいるGTIDを持つスレーブがマスターに自動昇格します。 ・メリット ・CHANGE MASTER文を打つ際にポジション番号を指定しなくてよくなる ・MySQL-MHAを利用しなくてもGTID+mysqlfailoverでSPOFをなくせる ・デメリット ・慣れるのが大
先日、monでデッドロック検知をする記事を書きました。 monによるMySQLのデッドロック検知とロギング ちょっとスクリプトの内容を改修して、 クエリによるロックの秒数が〜秒超えたらアラート検知する ということをできるようにしました。 基本的な準備とかは↑の記事を参照してください。 ロック検知スクリプトの作成(改修版) vim /usr/local/sbin/mysql_lock_check.sh#!/bin/sh #--------------------# # Define ENV # #--------------------# export PATH=$PATH:/usr/local/mysql/bin:/usr/bin/mysql HOST=`hostname` LOCK_SECOND=2 #ロックを検知する秒数 MYSQL_USER=ユーザ名 #MySQLのユーザ名 MYSQ
更新が激しいDB(MySQL)でInnoDBのロック競合が発生し、アプリケーションサーバが詰まる状況が発生してしまいました。 障害監視はmonというアプリケーションで行なっているのですが、 今回はこのmonを使ってMySQLデッドロックの検知とロギングを行いたいと思います。 monについては下記の資料をご参照ください。 Mon, Muninによる楽々監視生活 デッドロック解析は下記サイトのSQLを利用しています。 MySQL InnoDBにおけるロック競合の解析手順 前提 ・MONのサーバは既に構築済みであること ・DBサーバはMySQL5.5であること(MySQL5.1+InnoDB pluginでも可) 〜〜〜 以下、監視対象のDBサーバにて作業 〜〜〜 SNMPインストール yum install net-snmplockを検知するスクリプト作成 vim /usr/local/sbi
いざというときに役立ちました。 omreport system summary Chassis Model : PowerEdge R710dmidecode |egrep 'Product' Product Name: PowerEdge R710かっこいい!!
ioDriveは、Fusion-io社のNANDフラッシュメモリ搭載の次世代ストレージです。爆速です。 DellのR710とHPのDL380に導入する機会があったのでメモとして記録します。 使用機器 Dell R710 HP DL380 Fusion-io ioDrive Duo 640GB 使用OS CentOS6.2 ダウンロード Fusion-ioのサポートサイトでドライバとファームウェアをダウンロード https://support.fusionio.com/downloads (要ユーザ登録) 今回はCentOS6なので以下をダウンロード。 iomemory-vsl-2.3.10.110-1.0.el6.src.rpm fio-common-2.3.10.110-1.0.el6.x86_64.rpm fio-sysvinit-2.3.10.110-1.0.el6.x86_64.r
DBサーバでとある日を境にswapが発生していることに気がつきました。 サーバはメモリ32GB搭載していて、そのうちの24GBをinnodb_buffer_pool_sizeに割り当てています。 他のthread毎のメモリ設定値を見てもおかしそうな点はなかったのでググってみました。 MySQL と NUMA アーキテクチャと Swap Insanity MySQL InnoDBストレージエンジンのチューニング(後編) なるほど…。 それぞれのCPUがローカルでメモリを管理しているので、 2CPU積んでいるサーバだと、AというCPUで実行されているスレッドが、BというCPUが確保しているメモリ領域にアクセスするには、AのCPUを経由しないといけないわけですね。 このメモリアクセスが不均一になる方式をNUMAアーキテクチャというみたいです。 NUMAアーキテクチャのメモリ管理が、ノードという単
一部の通信の疎通がうまくできなかったので、iptablesでログを出力する必要があった時の作業メモ。 やること 1.iptablesでログ出力設定 2.syslog.confのログ出力先設定 3.ログファイル作成 4.syslogdの再起動 1.iptablesでログ出力設定 iptables -A INPUT -j LOG --log-prefix "IPTABLES_INPUT_LOG : " --log-level=info2.syslog.confのログ出力先設定 vim /etc/syslog.conf # iptables log *kern.debug /var/log/iptablesついでに/var/log/messageにiptablesのログ出さないようにしとく 同じくsyslog.conf内の *.info;mail.none;news.none;authpriv.
KyotoTycoonとは データベースライブラリであるKyoto Cabinetをネットワーク越しに利用出来るようにしたKVS。memcached違いファイルに書き込むことができるのでデータを永続化して利用できます。 DBのホットバックアップやレプリケーションも出来るため高可用DBとして利用できます。 kyoto cabinetインストール wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.74.tar.gz tar zxvf kyotocabinet-1.2.74.tar.gz ./configure make make installkyoto tycoonインストール tar zxvf kyototycoon-0.9.54.tar.gz wget http://fallabs.com/kyototycoon/pkg/
PXEブートサーバを構築すると、OSのインストールが楽チンになります。 Kickstartファイルもつくると、自動でOSインストールを行うことが可能になります。 TFTPサーバ準備 yum install tftp-server tftp rpm -qa | grep tftp tftp-server-0.49-2.el5.centos tftp-0.49-2.el5.centos xinetdの設定変更 vi /etc/xinetd.d/tftp# default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, do
次のページ
このページを最初にブックマークしてみませんか?
『FAT47の底辺インフラ議事録』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く