cygwinのfstab

/etc/fatabで/homeの変更

cygwinインストール直後のホームは C:¥cygwin64¥home¥${username}になっています。 windowsを使っているときは、c:¥home¥${username}で作業をしているので、 c:¥homeが/homeになるように変更します。

/etc/fstabの編集

下記の行を/etc/fstabに追加し、cygwinを再起動します。

C:/home /home ntfs binary 0 0

windows10でのcygwin環境

cygwinのインストール

windows10で、cygwin環境を構築します。 パッケージはapt-cygで行えるようにします。 見た目もターミナルで、Rictyフォントにしたいと思います。

ダウンロード

Cygwin公式サイトからsetup-x86_64.exeをダウンロードする。

インストール

インストールするパッケージで、下記を追加。理由はapt-cygを使う為です。

見た目の設定

minttyを起動する設定

まず、cygwinをインストールしてできるショートカットを見ると下記のようにminttyを使っているようなので、改めて作業は不要でした。

C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -

Rictyフォントのインストール

Rictyがよいようです。プログラミングに適した等幅フォントのInconsolataと見やすい日本語を組み合わせたフォントとのことです。

RictyDiminishedからDownload ZIPをクリックしてダウンロードして、中に入っているフォントをダブルクリックしてインストールする。

設定

ターミナルを起動して右クリックしてoptionsを選んで適当に設定できます。

apt-cyg

インストール

$ wget https://raw.github.com/kou1okada/apt-cyg/master/apt-cyg
$ chmod +x apt-cyg
$ mv apt-cyg /usr/local/bin

リポジトリを変更

海外サイトだと遅いので、日本のサイトへ変更しておきます。

$ apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update

emacsのdired-mode

主な操作

ショートカット できること
C-x d 起動
f 同じバッファで開く
m マーク
u マークを解除
U 全マークを解除
t マークを反転
g 最新表示
^ 一つ上のディレクトリ
R リネーム、移動
D 削除
C コピー
+ ディクトリ作成

init.elの設定

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; dired-mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;再帰的なコピー
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)
;;diredが2つあったときにもう一方に移動orコピー
(setq dired-dwim-target t)
;;yes or noの選択の簡略化
(fset 'yes-or-no-p 'y-or-n-p)

hadoopのインストール

インストール前

$ brew info hadoop
hadoop: stable 2.7.1
Framework for distributed processing of large data sets
https://hadoop.apache.org/
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/hadoop.rb
==> Caveats
In Hadoop's config file:
  /usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop/hadoop-env.sh,
  /usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop/mapred-env.sh and
  /usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop/yarn-env.sh
$JAVA_HOME has been set to be the output of:
  /usr/libexec/java_home

インストール

$ brew install hadoop

スタンドアロンで動作確認

$ cd ~/tmp
$ mkdir input
$ echo "A B C B B C" > input/file
$ hadoop jar /usr/local/opt/hadoop/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output
$ less output/part-r-00000

擬似分散環境で動作確認

設定ファイルをメンテ

/usr/local/opt/hadoop/libexec/etc/hadoop/core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

/usr/local/opt/hadoop/libexec/etc/hadoop/hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

/usr/local/opt/hadoop/libexec/etc/hadoop/yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

/usr/local/opt/hadoop/libexec/etc/hadoop/mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

NameNodeの起動

$ hadoop namenode -format
$ /usr/local/opt/hadoop/sbin/start-dfs.sh 

http://localhost:50070/dfshealth.html#tab-overview へアクセスして確認できる。

RMとNMの起動

$ /usr/local/opt/hadoop/sbin/start-yarn.sh 

http://localhost:8088/ へアクセスして確認できる。

動作確認

ホームディレクトリを作る

$ hadoop fs -mkdir /Users
$ hadoop fs -mkdir /Users/takada

データを作る

$ hadoop fs -mkdir ~/input
$ echo 'A B C B B C' > file
$ hadoop fs -copyFromLocal file ~/input
$ hadoop fs -cat ~/input/file

実行する

$ hadoop jar /usr/local/opt/hadoop/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount ~/input ~/output