ポーターの学習、ソースはノート: 実験室の建物のコースを
ディレクトリ
オペレーティングシステム環境の設定2.2.2(実験棟環境はオペレータなしに、設定されています)
2.3.1をダウンロードし、インストールパッケージHadoopの解凍
2.3.2のHadoop-1.1.2ディレクトリの下にサブディレクトリを作成します
各バックグラウンド・プロセスが正常に起動するかどうかJPSテストと2.3.10
1、Hadoopの導入
ApacheのHadoopのソフトウェアライブラリは、クラスタサーバ上の単純なプログラミングモデルを使用して大規模なデータセットの分散処理を可能にするフレームワークです。Hadoopのは、数千台のサーバーに単一のサーバーから延びるように設計され、各サーバは、ローカルコンピューティングおよびストレージリソースを持っています。Hadoopのは、高可用性のハードウェアに依存しない、独自のコードベースは、アプリケーション層でハードウェア障害を検出し、処理することができます、それは、高可用性サービスベースのサーバークラスタを提供することができます。
1.1 Hadoopのエコシステム
HDFS
: Hadoopのエコシステムの基本的なコンポーネントは、Hadoopの分散ファイルシステム(HDFS)です。HDFSは、分散ファイルシステムであり、データがコンピュータクラスタに格納され、HDFSは、HBaseのようなツールのための基礎を提供します。MapReduce
: Hadoopの実装のための主要なフレームワークは、MapReduceのある、それはマップ(MAP)相に分散、並列処理プログラミングモデル、MapReduceのタスクであり、(簡略化)段階を減らします。MapReduceのを作品の性質上では、Hadoopのデータへの高速アクセスを可能にする、並列にデータにアクセスすることができます。Hbase
: HBaseのは、HDFS、データの高速な読み取り/書き込み、大量、HBaseの利用飼育係の管理のための列指向のNoSQLデータベースの上に構築されています。Zookeeper
:サービスの連携のためのHadoop分散。多くのコンポーネントは、Hadoopの飼育係に依存し、それはHadoopクラスタを管理するために、コンピュータのクラスタで実行されます。Pig
:それは、抽象のMapReduceプログラミングの複雑さです。豚プラットフォームのランタイム環境とコンパイラが豚ラテン語のMapReduceプログラムシーケンスに変換しますHadoopのデータセット(豚ラテン語)を分析するために使用されるスクリプト言語が含まれています。Hive
: Hadoopのに保存されているを実行するクエリのためのハイレベル言語SQL-のように、MapReduceの開発者とのハイブ不慣れでも、書き込みデータのクエリは、その後、これらの記述は、上記のHadoopのMapReduceタスクに変換されていることができます。多くのおなじみのSQLの代わりに、Javaのプログラミングデータアナリストを集めて抽象化レイヤツールとして豚、ハイブなどのような、。-
Sqoop
:リレーショナルデータベース、データウェアハウスとHadoopの間でデータを転送するためのAの接続手段。Sqoopは、技術を用いて導入し、データベース・スキーマ、データ/エクスポートを説明し、並列MapReduceの動作およびフォールトトレランスを使用。 Flume
:大規模なデータ転送にデータとHDFSへの単一のコンピュータを大量にまとめ、収集するための分散、信頼性の高い効率的なサービスを提供します。これは、企業内でのHadoopに複数のコンピュータにデータを転送するためのシンプルかつスケーラブルなデータモデルとシンプルで柔軟なアーキテクチャに基づいています。
1.2 Apacheのバージョン派生
ApacheのHadoopのバージョンが二世代に分けて、私たちは、HadoopのHadoopを1.0、HadoopのHadoopの2.0と呼ばれる第二世代の第一世代と呼ばれます。
Hadoopの第一世代は、3つの大きなバージョン、すなわち0.20.x、0.21.xと0.22.x.が含ま これは、0.20.xは最終的に新しい0.21.xや0.22.xの主要な特性名前ノードHAなどを含め、安定したバージョンに、1.0.xのへと進化します。
第二世代のHadoopは、2つのバージョン、すなわち0.23.xと2.xを含み、それらはHadoopの1.0全く異なる、新たなアーキテクチャであり、0.23.xに比べてHDFS連盟糸2つのシステムを、含ま2.xでは名前ノードHAおよびワイヤ互換二つの主要な特徴を追加します。
2、Hadoop1.Xダミーインストールを分散しました
Hadoopのは、以下の3つの方法をマウント:
单机模式
:インストールが唯一のデバッグ目的のために、ほぼすべての設定なしで、簡単です。伪分布模式
:同時に名前ノード、データノード、JobTracker、TaskTracker、起動と単一のノード上の他の5つのプロセス、分散シミュレーション実行中の各ノード。完全分布式模式
:ノーマルHadoopクラスタ、その職務の複数のノードで構成される。
実験環境の制約のために、このレッスンは、ダミーパターン分布のインストールを説明し、展開テストの他のコンポーネントのための基礎としての環境へのその後の過程でます。以下はCentOS6のHadoop-1.1.2における擬似分散環境の構成であり、構成は、他のLinuxシステムとHadoopの展開参照のその他のエディションとして使用することができます。
2.1ハードウェアおよびソフトウェア環境の説明
(実験構築環境は、オペレータなしに他の構成JDKバージョンを変更する必要性に加えて、構成されています)
CentOSのシステムノード、およびファイアウォールが無効にSElinuxが必要には、ユーザーを作成し、ルートシステムの/ appディレクトリを作成し、Hadoopのは、パッケージを実行格納するための他のコンポーネントshiyanlou。ディレクトリは部品などのHadoopプログラムを実装するために使用されているので、ユーザーはshiyanlou rwxの権限を与える必要があります(一般的な方法は、ルートディレクトリの下にrootユーザ/ appディレクトリを作成し、shiyanlouが所有するディレクトリを変更する(chownコマンド-R shiyanlou:shiyanlou /アプリ)。
Hadoopのビルド環境:
- 仮想マシンのオペレーティングシステム:CentOS6.6 64ビットシングルコア、1Gメモリ
- JDK:1.7.0_55 64ビット
ビルドに2.2環境
このセクションで展開したときの実験環境の仮想マシンでは、インストール環境の設定を完了している環境の構造のための他のマシンを参照してください。
注: ダイレクトビューの右側にあるSSHのデスクトップツールバーをshiyanlouユーザのパスワードをクリックします。
2.2.1設定ローカル環境
2.2.1.1設定のマシン名(実験室オペレーターずに、設定されている環境を構築)
使用sudo vi /etc/sysconfig/network
設定ファイルを開き、実際の状況に応じて、サーバのマシン名を設定し、新しいマシン名を再起動後に有効になりますし
2.2.1.2設定ホストマッピングファイル(あなたが実験棟での動作環境が必要)
1.設定マシン名とIPアドレスのマッピングは、以下の情報を提供しています。
# 配置主机名对应的IP地址
$ sudo vi /etc/hosts
# sudo需要输入shiyanlou用户的密码,shiyanlou用户的密码点击桌面右边工具栏的SSH直连查看。
注:Hadoopのオープン/ etc / hostsファイルで最後の行では、それを使用することを覚えているtab键
スペースの代わりに
2.設定を確認するには、pingコマンドを使用して成功しています
ping hadoop
オペレーティングシステム環境の設定2.2.2(実験棟環境はオペレータなしに、設定されています)
ファイアウォールを無効にする2.2.2.1
Hadoopのインストールプロセスは、ファイアウォールとSELinuxをオフにする必要がありますでは、例外が存在することになります
1.使用 sudo service iptables status
以下に示すように、ファイアウォールの状態をチェックしてiptablesが開かれている表し
(注:ポップ十分な権限がファイアウォールを停止する可能性がある場合は、コマンドを入力します。chkconfig iptables --list
ビューファイアウォールの状態を)
2.停止iptablesのには、次のコマンド
sudo chkconfig iptables off
2.2.2.2閉じるSElinuxが
1. getenforce
閉じたかどうかを確認するためのコマンド
2. [変更/ etc / selinux / configファイル
ウィル SELINUX=enforcing
変更すること SELINUX=disabled
を有効にするには、マシンを再起動するコマンドの実行後
2.2.2.3 JDKのインストールと設定
1.ダウンロード、インストールパッケージJDK1.7 64
オープンJDK1.7 64ビットのインストールパッケージのダウンロードリンクは次のとおりです。http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
下に示すように、オープニング画面の後、ハイライトは、ライセンス契約に同意し、[JDK-7u55-linuxの-x64.tar.gzをダウンロードしてください。
2 [作成/ appディレクトリを、ディレクトリの所有者は、shiyanlouに変更されます
sudo mkdir /app
sudo chown -R shiyanlou:shiyanlou /app
3.作成/アプリ/ libディレクトリには、次のコマンドを使用します。
mkdir /app/lib
4.ダウンロードアンパックおよび移行/アプリ/ libディレクトリにインストールパッケージ
cd /home/shiyanlou/install-pack
tar -zxf jdk-7u55-linux-x64.tar.gz
mv jdk1.7.0_55/ /app/lib
ll /app/lib
5. sudoのviのは/ etc / profileコンフィギュレーションコマンドファイルを開くには、JDKのパスを設定します
export JAVA_HOME=/app/lib/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
6.コンパイルして確認します
source /etc/profile
java -version
需要注意的是:由于实验楼虚拟机原因使用java -version显示JDK版本为1.5,该版本并不影响后续实验
2.2.2.4更新のOpenSSL(実験棟環境はオペレータなしに、設定されています)
CentOSのには、OpenSSLが存在するバグ、次のコマンドを使用して更新されています:
yum update openssl
パスワード認証の設定なし2.2.2.5 SSH(実験棟環境はオペレータなしに、設定されています)
1. sudo vi /etc/ssh/sshd_config
以下のように開き、設定ファイルのsshd_config、3つのオープン設定、:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.サービスをリセット
sudo service sshd restart
3. shiyanlouユーザーログオン秘密鍵と公開鍵を生成するには、次のコマンドを使用して、
ssh-keygen -t rsa
4.入力し /home/shiyanlou/.ssh
、次のコマンドを使用して、公開鍵のauthorized_keysという名前のディレクトリを:
cp id_rsa.pub authorized_keys
5.読み取りおよび書き込みアクセス権が設定されているauthorized_keys
sudo chmod 400 authorized_keys
6.テストSSHパスワードなしのログインが有効になっています
- Hadoopの:1.1.2
ビルドに2.3のHadoop環境
2.3.1をダウンロードし、インストールパッケージHadoopの解凍
Hadoopの-1.1.2-bin.tar.gzインストールパッケージにもにすることができApacheのアーカイブディレクトリをダウンロードし /home/shiyanlou/install-pack
、インストールパッケージディレクトリを見つけるために、パッケージを解凍し、インストールをコピーするためにパッケージをインストールし /app
たディレクトリを
cd /home/shiyanlou/install-pack
tar -xzf hadoop-1.1.2-bin.tar.gz
rm -rf /app/hadoop-1.1.2
mv hadoop-1.1.2 /app
2.3.2のHadoop-1.1.2ディレクトリの下にサブディレクトリを作成します
cd /app/hadoop-1.1.2
mkdir -p tmp hdfs hdfs/name hdfs/data
ls
ディレクトリにHDFS、使用chmod -R 755 data
755に設定HDFS /データにコマンドを、それ以外の場合は、データノードを起動に失敗します
2.3.3 hadoop-env.sh
1.、Hadoopの-1.1.2 / confディレクトリを入力し、設定ファイルのhadoop-env.shを開きます
cd /app/hadoop-1.1.2/conf
vi hadoop-env.sh
2.設定、設定はJDKとのHadoop Hadoopの/ binパスの内容を追加します。
export JAVA_HOME=/app/lib/jdk1.7.0_55
export PATH=$PATH:/app/hadoop-1.1.2/bin
3.コンパイルプロファイルhadoop-env.sh、および効果的な確認
source hadoop-env.sh
hadoop version
2.3.4 配置 core-site.xml
1.コア-site.xmlのプロファイルを開くには、次のコマンド
sudo vi core-site.xml # 如果 sudo 需要密码,可以点击桌面右侧工具栏的ssh直连,其中的密码就是这里需要输入的密码
設定ファイル2.以下に従って構成
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop-1.1.2/tmp</value>
</property>
</configuration>
2.3.5設定HDFS-site.xmlの
1.オープンプロファイルHDFS-site.xmlのには、次のコマンド
sudo vi hdfs-site.xml
設定ファイル2.以下に従って構成
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/app/hadoop-1.1.2/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/app/hadoop-1.1.2/hdfs/data</value>
</property>
</configuration>
2.3.6 配置 mapred-site.xml
1.オープンプロファイルmapred-site.xmlのには、次のコマンド
sudo vi mapred-site.xml
設定ファイル2.以下に従って構成
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
</property>
</configuration>
2.3.7設定のマスターとスレーブのファイル
1.サブマスタノードが設けられています
vi masters
2.スレーブノード
vi slaves
2.3.8フォーマットの名前ノード
名前ノードマシンのHadoop上で次のコマンドを使用してフォーマット
cd /app/hadoop-1.1.2/bin
./hadoop namenode -format
Hadoopの起動2.3.9
./start-all.sh
各バックグラウンド・プロセスが正常に起動するかどうかJPSテストと2.3.10
使用 jps
のHadoop開始され、関連するプロセスを表示するコマンドを