ansibleのroleのサンプルを公開

自宅の開発環境がいつ壊れても復旧できるようにAnsibleでroleやらplaybookやらを作っていたのですが、自宅のSVNで管理していても結局SVNサーバが壊れたら終わりなのでroleのサンプルをGithubで公開しました。

https://github.com/you-t/ansible-role-samples

ライセンスはMITです。

まあ、サンプルなんで利用は自己責任で。。。暇のある時にロールの追加をしていきたいと思います。

ssh-copy-idで公開鍵を登録

たまにしか使わないのでメモです。
sshで公開キーをターゲットホストに登録する際にssh-copy-idコマンドを使えば一発です。


$ssh-copy-id -o StrictHostKeyChecking=no -i $HOME/.ssh/id_rsa.pub [ターゲットホスト名|IPアドレス]

ターゲットホストは「ユーザ名@ホスト名|IPアドレス」と書くこともできます。

ssh-agentでパスフレーズを省略

ssh-agentを使ってSSH接続時にパスワード(パスフレーズ)を省略する方法に関するメモ。

ssh-agentの起動


$eval `ssh-agent`

秘密鍵ssh-agentに登録


$cd $HOME
$ssh-add ~/.ssh/id_rsa

登録したキーを確認する


$ssh-add -l

ssh-agentの停止


$eval `ssh-agent -k`

ssh-agentはログアウトしてもプロセスが残るので停止させたい場合は必ず停止コマンドを実行するか~/.bash_logoutに下記コードを記述する。


ssh-agent -k

CentOS7にAnsibleをインストール

Chefは一時期興味があって調べてたけど最近はAnsibleが気になる。

とりあえずCentOS7にansibleとsshpassをインストールした時のコマンドを記録。
yumでインストールするにはEPELレポジトリを先に追加する必要があるみたい。


$sudo yum install -y epel-release.noarch
$sudo yum install -y sshpass
$sudo yum install -y ansible

Pyhton2.6か2.7があればいいらしいのでCentOS6でもインストール可能だと思います。

Hadoop-2.6.4をスタンドアローンモードで動作させてみる

かなり久しぶりの投稿です。いい加減2系を利用しようと重い腰を上げ少しずつ検証中。とりあえずメモ程度に記録します。(といってもほぼ昔の1系の記事からのパクリです。)

対象バージョンはhadoop-2.6.4 JavaはJDK1.8を利用。JAVA_HOMEは/usr/local/java8とします。

その他各種パラメータは以下の通り。

ユーザホーム /home/hadoop/local
インストール ${HOME}/local
hadoop.tmp.dir ${HOME}/local/opt/hadoop2
HADOOP_PID_DIR ${HOME}/local/var/run/hadoop2

Hadoopのインストール


cd $HOME/local
tar -zxvf hadoop-2.6.4.tar.gz
ln -s hadoop-2.6.4/ hadoop2

その後各種ディレクトリの作成。


cd $HOME/local
mkdir -p opt/hadoop2
mkdir -p var/run/hadoop2

スタンドアロンモードの時にpidファイル格納用のディレクトリは不要かも?

下記ディレクトリに移動して設定ファイルの修正を行います。


cd $HOME/local/hadoop2/etc/hadoop

core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/local/opt/hadoop2</value>
        <description>A base for other temporary directories.</description>
    </property>
</configuration>

mapred-site.xml
mapred-site.xml.tmeplateをmapred-site.xmlという名前でコピーもしくはリネームして下記を追加。

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>local</value>
    </property>
</configuration>

hadoop-env.sh


export JAVA_HOME=/usr/local/java8
export HADOOP_PID_DIR=/home/hadoop/local/var/run/hadoop2

動作確認


cd /home/hadoop/local/opt/hadoop2
mkdir -p input/grep_example
cd ${HOME}/loca/hadoop2
cp ./etc/hadoop/*.xml $HOME/local/opt/hadoop2/input/grep_example/
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep \
/home/hadoop/local/opt/hadoop2/input/grep_example \
/home/hadoop/local/opt/hadoop2/output/grep_example 'dfs[a-z.]+'
cat /home/hadoop/local/opt/hadoop2/output/grep_example/*

正常終了すると最後のcatコマンドでgrep処理の結果が出力される。

Redisインストールメモ

Redisをインストールした際のメモ。

redisのインストール


tar -zxvf redis-2.8.17.tar.gz
cd redis-2.8.17
make
make install

※このままインストールすると/usr/local/binにRedisの実行ファイルがインストールされてしまうため、別のディレクトリにインストールしたい場合はredis-2.8.17/src配下のMakefileのPREFIX?を修正してからmake、make installを実行すること。

redisの起動


cd $REDIS_HOME/bin
redis-server path_to/redis.conf