hadoopインストール(Centos7)

プレリュード

1.次に、ホスト名を変更して、クラスター間のアクセスを容易にします

変更:hostnamectl set-hostname centos1

ビュー:ホスト名

2.ドメイン名解決マッピングファイルを変更し(新しい行を追加)、将来ホスト名から直接アクセスできるようにします。

vi / etc / hosts

#Contentは最後に新しい行を追加します

192.168.190.130 cenos1

192.168.190.131 centos2

192.168.190.132 centos3

 

service network restart#ネットワークカードサービスを再起動します

再起動#再起動

ping centos1#テストは効果的です

3.ファイアウォールをオフにし、起動を禁止します

firewall-cmd --state#ファイアウォールのステータスを表示する

systemctl stop firewalld.service#ファイアウォールを停止

systemctl disable firewalld.service#ファイアウォールの起動を禁止する

4. selinuxを閉じます

vim / etc / sysconfig / selinux

コンテンツの変更SELINUX =無効

SELINUXTYPE =コメントアウトされたターゲット

scp / etc / sysconfig / selinux centos2:/ etc / sysconfig /

scp / etc / sysconfig / selinux centos3:/ etc / sysconfig /

ダウンロード

http://mirrors.shu.edu.cn/apache/hadoop/common/

hadoop-2.7.7.ta​​r.gz

後でoozieをインストールするためにhadoop-2.6.5.tar.gzに変更されました

インストールする

cd / usr / local

rz

tar xzvf hadoop-2.7.7.ta​​r.gz

rm -rf hadoop-2.7.7.ta​​r.gz

mv hadoop-2.7.7.ta​​r.gz Hadoop

環境変数を構成する

vim / etc / profile#環境変数を設定し、下部を入力して設定を開始します:

エクスポートHADOOP_HOME = / usr / local / hadoop

エクスポートPATH = $ PATH:$ JAVA_HOME / bin:$ HADOOP_HOME / bin:$ HADOOP_HOME / sbin

wq

hadoop-env.sh、yarn-env.sh、mapred-env.shを構成します(3つのシステムすべてが変更されました)。

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

修改:export JAVA_HOME = $ {JAVA_HOME}意味:export JAVA_HOME = / usr / local / jdk

wq

 

vim /usr/local/hadoop/etc/hadoop/yarn-env.sh

JAVA_HOME = / usr / local / jdkをエクスポートします

 

vim /usr/local/hadoop/etc/hadoop/mapred-env.sh

JAVA_HOME = / usr / local / jdkをエクスポートします

 

ソース/ etc /プロファイル#すぐに有効

テスト中

hadoop分散構成をテストした後、Hadoopが開始されており、対応するディレクトリーがあることを確認してください。

hadoop version

現時点では、最も基本的なhadoop環境(これは開発環境ではありません)で、hadoopに付属のテストプログラムをテストします(wordcount "hello word in hadoop world"を実装)。

cd / usr / local / hadoop

mkdir入力

echo hello sm hello zhangsan hello lisi hi sm> input / info.txt

CD入力

猫のinfo.txt

cd / usr / local / hadoop

 

hadoop jar share / hadoop / mapreduce / sources / hadoop-mapreduce-examples-2.7.7-sources.jar org.apache.hadoop.examples.WordCount入力出力

 

CD出力

ll

0

 

hdfsでテストします。

hadoop fs -put /songtemptest/worldcount.txt / test / input

cd / usr / local / hadoop / share / hadoop / mapreduce

hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount / test / input / test / output

分散システムのhadoopの構成

SSHログインフリー処理

ll〜#sshを削除するように設定している場合

rm -rf〜/ .ssh

 

ssh-keygen -t rsa#centos1ホストにSSH鍵を生成する

ずっとデフォルトの処理に入る

cat〜/ .ssh / id_rsa.pub >>〜/ .ssh / authorized_keys#公開鍵を認証ファイルにコピーします

ssh root @ centos1#ログイン

終了#ログアウト

 

注:他のマシンを同期します:ssh-copy-id centos2

 

構成:core-site.xml Hadoopコア情報(一時ディレクトリ、アクセスアドレスなど)

構成:yarn-site.xml構成に関連するジョブ処理

構成:hdfs-site.xmlは非常に重要です。ファイルバックアップの数とデータフォルダーのパスを決定できます

構成:core-site.xml(3つのシステムすべてが変更されます)

core-site.xmlは、一時ディレクトリ、アクセスアドレスなど、Hadoopのコア情報です。

vim /usr/local/hadoop/etc/hadoop/core-site.xml

<構成>

    <プロパティ>

        <name> hadoop.tmp.dir </ name>

        <値> / home / root / hadoop_tmp </ value>

        <description>他の一時ディレクトリのベース。</ description>

    </プロパティ>

    <プロパティ>

        <name> fs.defaultFS </ name>

        <値> hdfs:// centos1:9000 </値>

    </プロパティ>

</構成>

"/ Home / root / hadoop_tmp"情報が最も重要です。このファイルパス構成の一時ファイル情報が構成されていない場合、 "tmp"ファイルがhadoopフォルダーに生成されます(多くの人が "/ user / local / hadoop / tmp ")、このように構成されている場合、再起動するとすべての情報が消去されます。つまり、現時点ではHadoopの環境は無効になります。

centos1:9000」メッセージは、将来開かれるページマネージャのパスを示しています。

hadoop 2.xバージョンのデフォルトはポート9000です。1.xバージョンを使用する場合、デフォルトは8020です。

全体的な操作でエラーが発生しないようにするために、「/ home / root / hadoop_tmp」ディレクトリを直接作成できます。

cd〜

mkdir hadoop_tmp

構成:yarn-site.xml(マスターノードのみを変更)

Yarn-site.xml設定関連のジョブ処理

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

<構成>

    <プロパティ>

        <name> yarn.resourcemanager.admin.address </ name>

        <value> centos1:8033 </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.nodemanager.aux-services </ name>

        <value> mapreduce_shuffle </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.nodemanager.aux-services.mapreduce_shuffle.class </ name>

        <value> org.apache.hadoop.mapred.ShuffleHandler </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.resourcemanager.resource-tracker.address </ name>

        <value> centos1:8025 </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.resourcemanager.scheduler.address </ name>

        <value> centos1:8030 </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.resourcemanager.address </ name>

        <value> centos1:8050 </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.resourcemanager.webapp.address </ name>

        <value> centos1:8088 </ value>

    </プロパティ>

    <プロパティ>

        <name> yarn.resourcemanager.webapp.https.address </ name>

        <value> centos1:8090 </ value>

    </プロパティ>

</構成>

構成:hdfs-site.xml(3つのシステムすべてが変更されます)

hdfs-site.xmlは非常に重要です。ファイルバックアップの数とデータフォルダーのパスを決定できます

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<構成>

    <プロパティ>

        <name> dfs.replication </ name>

        <値> 1 </値>

    </プロパティ>

    <プロパティ>

        <name> dfs.namenode.name.dir </ name>

        <値> file:/// usr / local / hadoop / dfs / name </ value>

    </プロパティ>

    <プロパティ>

        <name> dfs.datanode.data.dir </ name>

        <値> file:/// usr / local / hadoop / dfs / data </ value>

    </プロパティ>

    <プロパティ>

        <name> dfs.namenode.http-address </ name>

        <value> centos1:50070 </ value>

    </プロパティ>

    <プロパティ>

        <name> dfs.namenode.secondary.http-address </ name>

        <value> centos1:50090 </ value>

    </プロパティ>

    <プロパティ>

        <name> dfs.permissions </ name>

        <値>偽</値>

    </プロパティ>

<プロパティ>

             <name> dfs.namenode.datanode.registration.ip-hostname-check </ name>

             <値>偽</値>

</プロパティ>

</構成>

"Dfs.replication":ファイルのコピー数。通常の状況では、ファイルは3つのコピーでバックアップされます。

"Dfs.namenode.name.dir":名前ノードのパスを定義します。

"Dfs.datanode.data.dir":データファイルノードのパスを定義します。

"Dfs.namenode.http-address":ネームサービスのhttpパスアクセス。

"Dfs.namenode.secondary.http-address":2番目の名前ノード。

"Dfs.permissions":許可認証の問題。設定すると、将来ファイルにアクセスできなくなる可能性があるためです。

dfs.namenode.datanode.registration.ip-hostname-check is falseこれを設定するhadoopバージョン2.7.7、またはファイルのアップロードが要求されます:「ホスト名を解決できないため、データノードはnamenodeとの通信を拒否しました(ip = 192.168.190.138、hostname = 192.168.190.138) "tmはipv6を読み取ります。実際にはipv4 ipである必要があります。

構成:mapred-site.xml(マスターノードのみを変更)

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<構成>

    <プロパティ>

              <name> mapreduce.framework.name </ name>

              <値>糸</値>

</プロパティ>

</構成>

その他の構成

ファイルのマスター、スレーブを作成する

vim / usr / local / hadoop / etc / hadoop / masters#加入“ centos1”

 

vim / usr / local / hadoop / etc / hadoop / slaves#「localhost」を

centos2

centos3

 

クラスターが将来構築されることを考えると、hadoopは分散開発環境に属しています。

「/ usr / local / hadoop / etc / hadoop /」ディレクトリにマスターファイルを作成し、ホストの名前を書き込み、内容はcentos1(以前のhostsファイルで定義されたホストの名前)にすることをお勧めします。関係ない

 

フォルダ名、データを作成

cd / usr / local / hadoop

mkdir dfs dfs / name dfs / data

 

現時点では、namenodeおよびdatanodeストレージパスはすべてhadoopディレクトリに設定されているため、安全を確保したい場合は、独自のパスを作成できます。

注:hadoopに問題があり、再構成されている場合は、これら2つのフォルダーを完全に削除してください。

フォーマット

cd / usr / local / hadoop / bin

hdfs intentode -format

フォーマットされたファイルシステム "INFO util.ExitUtil:ステータス0で終了しました"が成功しました

開始/確認/アクセス/停止

1.スタート

cd / usr / local / hadoop / bin

start-all.sh #start hadoop

2.検証

jps#以下の6がある場合は、Javaプロセスを確認します

2536 DataNode

2408 NameNode

3034 NodeManager

2907 ResourceManager

3339 Jps

2748 SecondaryNameNode

注:クラスタデプロイメントの場合、4つしかなく、他の2つのNodeManagerとDataNodeはスレーブマシン上にあります。

3.訪問

http://192.168.190.130:50070

centos1名を外部でも使用する場合(Windows)、hostsファイルを変更してマッピング構成を追加する必要があります。

C:\ Windows \ System32 \ drivers \ etc \ hosts増加:192.168.190.130 centos1

 

http://192.168.190.130:8088/cluster

4.停止

stop-all.sh

パスワードなしのログインをテストする

ssh centos2

hdfsファイルシステムアクセス

http://192.168.190.130:50070/explorer.html#/

 

ホスト名へのアクセスが必要な場合は、ホスト名のマッピングをC:\ Windows \ System32 \ drivers \ etc \ hostsで行う必要があります。

タイハン

1. secondarynamenodeが起動しない

バージョンを変更した後、Hadoopを削除する必要があります:/ home / root / hadoop_tmpこのディレクトリ、

ディレクトリ/ root / hadoop_tmpと混同しないでください

 

別のログファイルは次のとおりです。

/usr/local/hadoop/logs/hadoop-root-secondarynamenode-centos1.log

これではありません:/usr/local/hadoop/logs/hadoop-root-secondarynamenode-centos1.out

2. hdfs-site.xml設定

dfs.namenode.datanode.registration.ip-hostname-check is falseこれを設定するhadoopバージョン2.7.7、またはファイルのアップロードが要求されます:「ホスト名を解決できないため、データノードはnamenodeとの通信を拒否しました(ip = 192.168.190.138、hostname = 192.168.190.138) "tmはipv6を読み取ります。実際にはipv4 ipである必要があります。

Hadoopの一般的な操作

hadoop fsとhdfs dfsは同じです

 

ディレクトリ操作

hadoop dfsadmin -safemode leave #Exit safe mode

hadoop fs -mkdir -p / test / test1 #Cascadeでディレクトリを作成

hadoop fs -ls /#ルートディレクトリを表示

hadoop fs -ls #View / user / root /

hadoop fs -rm -r -f / test #Cascade削除ディレクトリ

ファイル操作

hadoop fs -put / usr / local / hadoop / output / part-r-00000 / test / #upload local files to hdfs / test directory

hadoop fs -put / usr / local / hadoop / output / part-r-00000 hdfs:// centos1:9000 / test#または次のように記述

hadoop fs -rm / test / part-r-00000#ファイルを削除

hadoop fs -get / test / part-r-00000 #hdfs上のファイルを現在のディレクトリにダウンロードします

 

おすすめ

転載: www.cnblogs.com/yingjie926/p/12689151.html