Hadoopデータディレクトリの移行
Hadoopデータディレクトリの移行
(Hadoop)
データを取り込み続けて大きくなると、元のクラスタ展開ではディレクトリのディスク容量が足りなくなるので、データとプログラムを分離して互いに影響し合わないようにするという意図も加えて、hadoopがデータを保存する場所を別の巨大ディスクに移動させることが重要なのです。
ここでは、移行の手順と注意点を説明します。
始める前にクラスタを停止し、hbaseがある場合はそれも停止します。hbaseのストレージはhdfsに依存しており、停止せずにhbaseのディレクトリマイグレーションを行うとエラーが発生するためです。
設定ファイルの修正
hadoopの最も重要なストレージデータの設定は、core-site.xmlファイルに設定されています。core-site.xml の hadoop.tmp.dir の値を新しいディスクへのパスに変更するだけです。
データとプログラムの分離を考え、ログファイル、pidディレクトリ、journalディレクトリなど、今後も増え続けるファイルは全て移行することにしました。
ジャーナルとpidディレクトリはhadoop-env.shで設定され、対応するディスクパスとしてexport HADOOP_PID_DIRとHADOOP_LOG_DIRが設定されています。
hdfs-site.xmlのconfigure dfs.journalnode.edits.dirでjournalディレクトリを指定します。
同様に、yarnとhbaseのログとpidファイルのパスは、*_env.shファイルのエクスポートで設定できます。
Hadoopの設定ファイルを変更したら、hbase/confディレクトリにコピーしてください。
hbaseのログファイルやpidディレクトリは、hbase-daemon.shのHBASE_PID_DIR、HBASE_LOG_DIRで設定します。
sparkのログファイルのpidディレクトリは、spark-env.shのSPARK_PID_DIR, SPARK_LOG_DIRにあります。
設定ファイルを修正後、各子ノードにコピーします。
そして、元のデータディレクトリ、ログディレクトリ、pidディレクトリを新しいディスクに移動し、クラスタを再起動し、出力情報が正しいかどうかを確認します。
を更新します。
hdfs-site.xml の設定が更新されました。
dfs.name.dir
/data2/hadoop/hdfs/name
dfs.data.dir
/data2/hadoop/hdfs/data
は、hdfsのメタデータ情報とデータがそれぞれ格納されるディレクトリで、設定されていない場合はデフォルトでhadoop.tmp.dirに格納されます。
hdfs システムのフォーマット後、hbase は例外的に起動し、HMaster は自動的に終了します。
ログメッセージです。
2016-01-15 14:01:38,231 DEBUG [MASTER_SERVER_OPERATIONS-zx-hadoop-210-11:60000-4] master.DeadServer: Finished processing zx-hadoop-210-24 ,60020,1452828414814
2016-01-15 14:01:38,231 ERROR [MASTER_SERVER_OPERATIONS-zx-hadoop-210-11:60000-4] executor.EventHandler: Caught throwable while processing event M_SERVER_SHUTDOWN
java.io.IOException: failed log splitting for zx-hadoop-210-24,60020,1452828414814, will retry
at org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.resubmit(ServerShutdownHandler.java:322)
at org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.process(ServerShutdownHandler.java:202)
at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error or interrupted while splitting logs in [hdfs://ns1/hbase/WALs/zx-hadoop-210-24,60020,1452828414814- splitting] Task = installed =
1 done = 0 error = 0
at org.apache.hadoop.hbase.master.SplitLogManager.splitLogDistributed(SplitLogManager.java:362)
at org.apache.hadoop.hbase.master.MasterFileSystem.splitLog(MasterFileSystem.java:410)
at org.apache.hadoop.hbase.master.MasterFileSystem.splitLog(MasterFileSystem.java:384)
at org.apache.hadoop.hbase.master.MasterFileSystem.splitLog(MasterFileSystem.java:282)
at org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.process(ServerShutdownHandler.java:195)
... 4 more
2016-01-15 14:01:38,232 INFO [master:zx-hadoop-210-11:60000-EventThread] zookeeper.ClientCnxn: EventThread shut down
2016-01-15 14:01:38,232 INFO [master:zx-hadoop-210-11:60000.oldLogCleaner] zookeeper.ZooKeeper: Session: 0x25243ddd648000a closed
2016-01-15 14:01:38,232 DEBUG [MASTER_SERVER_OPERATIONS-zx-hadoop-210-11:60000-4] master.DeadServer: Finished processing zx-hadoop-210-22 ,60020,1452828414925
2016-01-15 14:01:38,233 ERROR [MASTER_SERVER_OPERATIONS-zx-hadoop-210-11:60000-4] executor.EventHandler: Caught throwable while processing event M_SERVER_SHUTDOWN
java.io.IOException: Server is stopped
at org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.process(ServerShutdownHandler.java:183)
at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
2016-01-15 14:01:38,338 DEBUG [master:zx-hadoop-210-11:60000] catalog.CatalogTracker: Stopping catalog tracker org.apache.hadoop.hbase. catalog.CatalogTracker@6c4b58f0
2016-01-15 14:01:38,338 INFO [master:zx-hadoop-210-11:60000] client.HConnectionManager$HConnectionImplementation: Closing zookeeper sessionid=0x15243ddd6340004
2016-01-15 14:01:38,343 INFO [master:zx-hadoop-210-11:60000] zookeeper.ZooKeeper: Session: 0x15243ddd6340004 closed
2016-01-15 14:01:38,343 INFO [master:zx-hadoop-210-11:60000-EventThread] zookeeper.ClientCnxn: EventThr
解決方法
<ブロッククオート- 1. zookeeperのbinディレクトリに移動します。
- 2. $sh zkCli.shを実行します。
ls /
rmr /hbase
quit
hbaseを再起動します。
作者 ハック
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例