$ cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
$ uname -r
3.10.0-1062.18.1.el7.x86_64
$ hadoop version
Hadoop 2.9.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 826afbeae31ca687bc2f8471dc841b66ed2c6704
Compiled by ajisaka on 2018-11-13T12:42Z
Compiled with protoc 2.5.0
From source with checksum 3a9939967262218aa556c684d107985
This command was run using /home/vagrant/hadoop-2.9.2/share/hadoop/common/hadoop-common-2.9.2.jar
$ pyspark --version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.4.5 /_/Using Scala version 2.11.12, OpenJDK 64-Bit Server VM, 1.8.0_242Branch HEADCompiled by user centos on 2020-02-02T19:38:06ZRevision cee4ecbb16917fa85f02c635925e2687400aa56bUrl https://gitbox.apache.org/repos/asf/spark.gitType --help for more information.
この製品は Mac などのパソコンに USB 端子でつなぐと、有線の Ethernet デバイスとして認識する。
つまり、USB Ethernet アダプタを挿して LAN ケーブルをつないだような状態になる。
また、使う上でとくに専用のドライバを入れる必要もない。
テザリングに比べると無線 LAN チャネルの混雑状況に関係なく安定した通信ができるので意外と重宝している。
>>> defreadword(f):
... """単語を読み込むための関数"""
... word = []
... whileTrue:
... c = f.read(1)
... if c == b' ':
... break
... if c == b'':
... raiseEOFError()
... if c != b'\n':
... word.append(c)
... return b''.join(word)
...
ファイルオブジェクトを読むと、単語として '</s>' が得られた。
いや、これ HTML のタグだから、本来は除外すべき単語だと思うんだけどね。
ほとんどの NAS は、HDD (Hard Disk Drive) や SSD (Solid State Drive) といったストレージを複数搭載できる。
そのため、RAID (Redundant Arrays of Inexpensive Disks) を組むことでストレージの物理的な故障に対する冗長性を確保できる。
RAID の方式に関しては、とりあえずストレージが 2 本積めるものなら RAID1 さえ選んでおけば良い。
その他
その他にも、メーカーやモデルによっては NAS という枠にとらわれず多種多様な機能を提供している。
たとえば、アドオンで機能を追加することで仮想マシンや Docker コンテナが動いたりするようなものまである。
もはや、管理のしやすい Linux サーバという感じ。
NAS の選び方について
ここからは、NAS を買うために見るべきポイントについて書いていく。
スマホ・タブレット向けアプリの有無
今どきの NAS は、たいていリモートアクセスのできるスマホ・タブレット向けのアプリが用意されている。
ただし、以下の点については、あらかじめ確認しておいた方が良い。
自分が求めているユースケースに合致するか
使うまでに必要なステップが複雑でないか
ストレージに関して
NAS には、あらかじめストレージが内蔵されているものと、自分で買ってきて入れるものがある。
日本国内のメーカーが作っている製品や、ライトユーザー向けの製品ほどストレージを内蔵している傾向がある。
ストレージを内蔵しているモデルは手間がかからない一方で、ストレージの種類が自分で選べなかったり自分で同じモデルを買うよりも割高な傾向がある。
なお、ストレージには NAS で使うことを想定して作られた専用のシリーズがある。
専用のモデルは、一般的なモデルよりも信頼性が高かったり、ファームウェアにチューニングが施されている。
たとえば Western Digital であれば Red シリーズ、Seagate なら IronWolf シリーズがそれに当たる。
DTCP-IP はサーバとクライアントの相性問題が強くある。
たとえば特定のレコーダーと NAS ではうまく記録できない、NAS に記録した内容を特定のアプリでは再生できない、というもの。
そのため、実際に使ってみたりレビューで確認できる環境でないと記録・再生できるかはわからないというレベルにある。
一度入れたら取り出せない?!
ほとんどの製品は、NAS に記録したら最後、別の製品には録画した番組を移動できない。
そのため、その NAS が故障したら記録した番組はあきらめる他ない、という状態になる。
テレビ・レコーダーに NAS の機能がついたものであれば、ブルーレイに焼くような選択肢もある。
また、一部の国内製品は同じシリーズ間でのみ番組を転送できるものがある。
前述したとおり、国外の製品では特に、アドオン機能を使って機能を NAS に追加できるものが多い。
サードパーティーのメーカーがアドオンを配布するストアなども整備されていて、エコシステムが構築されている。
アドオンで追加できる機能が豊富にあると、NAS という用途に限らない使い方が楽しめる。
管理用 UI の使いやすさ
たいていの NAS は、管理用の Web UI で全て設定が完結する。
この点は自前のサーバマシンに Linux を入れてネットワークファイルシステムを構築するのとは比べ物にならないほど楽。
最近は台湾の NAS 専業メーカー (QNAP や Synology) が、この管理用 UI の分かりやすさという点で一歩リードしているようだ。
パフォーマンス
一般的なパソコンと比べると、お世辞にも NAS に積んである CPU やメモリのパフォーマンスは優れているとは言えない。
たとえば、エントリーグレードの CPU はシングルコアでメモリは 512MB とかになっている。
意外とここらへんは実際に使っているときのパフォーマンスに影響してくる。
基本的に上位のグレードを使うほどスループットなどのパフォーマンスに悩まされることは少ないと考えて良い。
主要メーカーと特徴など
Synology
台湾の NAS 専業メーカー
主な製品はストレージ非内蔵タイプ
DTCP-IP に対応するときはアドオン機能で対応する
あまり期待しない方が良い
DiXiM Media Server が使えるのは DS218j だけ
QNAP
台湾の NAS 専業メーカー
主な製品はストレージ非内蔵タイプ
DTCP-IP に対応するときはアドオン機能で対応する
あまり期待しない方が良い
NETGEAR
ネットワーク機器を手広く手掛けるアメリカのメーカー
主な製品はストレージ非内蔵タイプ
DTCP-IP には対応していない
I-O DATA
IT 機器を手広く手掛ける国内メーカー
主な製品はストレージ内蔵タイプ
DTCP-IP には標準で対応しているモデルがある
バッファロー
IT 機器を手広く手掛ける国内メーカー
主な製品はストレージ内蔵タイプ
DTCP-IP には標準で対応しているモデルがある
(メーカーではないけど) テレビ・レコーダーに NAS 機能がついたもの (Panasonic ほか)
Synology の NAS では、リモートアクセスに QuickConnect という機能が用意されている。
これは、専用のアプリ (DS File や DS Video など) や Web ページから NAS にアクセスできるというもの。
もちろん、ルータなどに特に設定をしなくても NAT 越えできる。
設定も NAS の管理用 Web UI で接続に使う識別子を確保して、あとはユーザのアカウントを用意するだけで使える。
この製品はストレージが非内蔵タイプとなっている。
うちでは Amazon のセールで購入した Western Digital の外付けハードディスクを殻割りして取り出した HDD を使っている。
この HDD については以下を参照のこと。
>>> model = gensim.models.KeyedVectors.load_word2vec_format('cc.ja.300.vec.gz', binary=False)
>>> model
<gensim.models.keyedvectors.Word2VecKeyedVectors object at 0x127797310>