lftp tips

lftpを使用してサイトにアクセスしようとしたところ、

lftp -u kernel023 station1.example.com
lftp kernel023@station1.example.com:~> ls
ls: Fatal error: Certificate verification: Not trusted

のようになり、うまくいかない。

manページを見ながら設定を試したたところ、~/.lftp/rc に以下の設定を行えば回避できる。

set ssl:verify-certificate no

以前Fedoraを使った時には問題なかった気がするが、忘れないようにメモ。

Posted in Uncategorized

hadoop 疑似分散モード (Pseudo distributed mode)のTips

某所で書いた記事の使い回しです:

「疑似分散環境では、HDFSはいつフォーマットするの?」

Hadoopをインストールした後、正しくインストールされているかどうかを確認するために、HDFSにアクセスすることが多いでしょう。

通常 HDFSのフォーマットは hadoop namenode -format コマンドを実行して行いますが、CDH3のパッケージを使用した疑似分散環境ではコマンドを実行する必要はありません。

例えばRedHat系のRPMパッケージ、hadoop-0.20-conf-pseudo RPMを使ってインストールすると、疑似分散環境用の設定ファイルを提供するのと同時に、HDFSのフォーマットも行います。

インストールされるファイル

[root@localhost ~]# rpm -ql hadoop-0.20-conf-pseudo
/etc/hadoop-0.20/conf.pseudo
/etc/hadoop-0.20/conf.pseudo/README
/etc/hadoop-0.20/conf.pseudo/capacity-scheduler.xml
/etc/hadoop-0.20/conf.pseudo/configuration.xsl
/etc/hadoop-0.20/conf.pseudo/core-site.xml
/etc/hadoop-0.20/conf.pseudo/fair-scheduler.xml
/etc/hadoop-0.20/conf.pseudo/hadoop-env.sh
/etc/hadoop-0.20/conf.pseudo/hadoop-metrics.properties
/etc/hadoop-0.20/conf.pseudo/hadoop-policy.xml
/etc/hadoop-0.20/conf.pseudo/hdfs-site.xml
/etc/hadoop-0.20/conf.pseudo/log4j.properties
/etc/hadoop-0.20/conf.pseudo/mapred-queue-acls.xml
/etc/hadoop-0.20/conf.pseudo/mapred-site.xml
/etc/hadoop-0.20/conf.pseudo/masters
/etc/hadoop-0.20/conf.pseudo/slaves
/etc/hadoop-0.20/conf.pseudo/ssl-client.xml.example
/etc/hadoop-0.20/conf.pseudo/ssl-server.xml.example
/etc/hadoop-0.20/conf.pseudo/taskcontroller.cfg
/var/lib/hadoop-0.20 /var/lib/hadoop-0.20/cache

フォーマットを行うスクリプト部分

[root@localhost ~]# rpm -q --scripts hadoop-0.20-conf-pseudo
postinstall scriptlet (using /bin/sh):
alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.pseudo 30
if [ ! -e /etc/hadoop-0.20/conf ]; then
ln -s /etc/hadoop-0.20/conf.pseudo /etc/hadoop-0.20/conf
fi

nn_dfs_dir="/var/lib/hadoop-0.20/cache/hadoop/dfs"
if [ -z "$(ls -A $nn_dfs_dir 2>/dev/null)" ]; then
HADOOP_NAMENODE_USER=hdfs hadoop-0.20 --config /etc/hadoop-0.20/conf.pseudo namenode -format 2>/dev/null 1>/dev/null || :
fi
preuninstall scriptlet (using /bin/sh):
if [ "$1" = 0 ]; then
alternatives --remove hadoop-0.20-conf /etc/hadoop-0.20/conf.pseudo
rm -f /etc/hadoop-0.20/conf
fi
# non-noarch files (aka architectural specific files)

従って、少々わかりにくいですが、CDH3のパッケージを使用した疑似分散環境の構築では、明示的にHDFSのフォーマットを行う必要はありません。同様に、CDH3のパッケージを利用した場合には、インストール時にhdfsユーザーやmapredユーザー等の作成等、hadoop環境の構築に必要な作業を行っています。tarballからのインストールやコミュニティ版のhadoopを利用する場合、これらの作業はユーザ自身が行う必要がありますので注意してください。

ほとんどのユーザーにとって、パッケージを利用したインストールやKickstartなどの自動インストール、PuppetやChefを使った設定ファイルの管理、Cloudera Enterpriseなどのような大規模構成管理ツールの利用はヒューマンエラーを防ぐために望ましい方法ですが、その内部で何が行われているのかを知っておくと、きっと役立つことがあるでしょう。

Posted in Uncategorized

A Happy New Year 2012!

昨年は転機となった一年でした。
今年は、業務では技術情報をわかりやすく提供することを目標とし、業務以外ではパッチをコミットしつつOSSに貢献したいと思っています。

本年もよろしくお願いいたします。

Posted in Uncategorized