linux centos 7ゼロからHadoop+zookeeper高可用性クラスタを構築(6台の仮想マシン)詳細

7271 ワード

6台のlinux centos 7(redhat)仮想マシンを作成し、hadoop 001、hadoop 002、hadoop 003、hadoop 004、hadoop 005、hadoop 006と名付けます.
ユーザーhadoopを作成し、sudoユーザーに設定します.
1、ファイアウォールを閉じる
2、ホスト名の設定
3、ホストの構成
4、パスワードの相互接続を設定する
5、jdk 1をインストールする.8
6、hadoopのインストール
 hadoop ( )
https://blog.csdn.net/starkpan/article/details/85470433

7、zookeeperクラスタを構築する
 zookeeper 
https://blog.csdn.net/starkpan/article/details/85562113

8、hadoop 001の構成
(1)hadoop-envを修正する.sh
 vim 
    vim [hadoop]/etc/hadoop/hadoop-env.sh
 java_home , hadoop-env.sh 27 , export JAVA_HOME=${JAVA_HOME} 。
    export JAVA_HOME=/home/root/app/jdk1.8.0_181
 
    source hadoop-env.sh

(2)hdfs-siteを配置する.xml



dfs.nameservices
ns



dfs.ha.namenodes.ns
nn1,nn2



dfs.namenode.rpc-address.ns.nn1
hadoop001:9000



dfs.namenode.http-address.ns.nn1
hadoop001:50070



dfs.namenode.rpc-address.ns.nn2
hadoop002:9000



dfs.namenode.http-address.ns.nn2
hadoop002:50070



dfs.namenode.shared.edits.dir
qjournal://hadoop004:8485;hadoop005:8485;hadoop006:8485/ns



dfs.journalnode.edits.dir
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/journal



dfs.ha.automatic-failover.enabled
true



dfs.client.failover.proxy.provider.ns
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider



dfs.ha.fencing.methods
sshfence



dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_rsa

 


dfs.namenode.name.dir
file:///home/hadoop/app/hadoop-2.6.0-cdh5.7.0/tmp/namenode



dfs.datanode.data.dir
file:///home/hadoop/app/hadoop-2.6.0-cdh5.7.0/tmp/datanode

 


dfs.replication
3



dfs.permissions
false

 


(3)mapred-siteを配置する.xml
 : /etc/hadoop , mapred-site.xml.template , 
    cp mapred-site.xml.template mapred-site.xml
 vim 
    vim [hadoop]/etc/hadoop/mapred-site.xml
 mapreduce yarn 

  
    
    mapreduce.framework.name
    yarn



(4)yarn-siteを配置する.xml

  

yarn.resourcemanager.ha.enabled
true

 
   

yarn.resourcemanager.ha.rm-ids
rm1,rm2

 
 

yarn.resourcemanager.hostname.rm1
hadoop001

 

yarn.resourcemanager.hostname.rm2
hadoop003

 


yarn.resourcemanager.recovery.enabled
true

 


yarn.resourcemanager.store.class
org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore

 
  

yarn.resourcemanager.zk-address
hadoop001:2181,hadoop002:2181,hadoop003:2181
For multiple zk services, separate them with comma

 


yarn.resourcemanager.cluster-id
yarn-ha

 


yarn.resourcemanager.hostname
hadoop001



yarn.nodemanager.aux-services
mapreduce_shuffle


(5)slavesファイルの構成
hadoop04
hadoop05
hadoop06

9、対応するフォルダを作成する
cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/
mkdir journal
mkdir tmp
cd tmp
mkdir -p tmp/namenode tmp/datanode

10、scpコマンドでhadoopインストールディレクトリを他の5台のマシンにリモートcopyする
# , 
scp -r /home/hadoop/app/hadoop-2.6.0-cdh5.7.0 [email protected]:/home/hadoop/app

 
 
tar -zcvf hadoop-2.6.0-cdh5.7.0.tar.gz hadoop-2.6.0-cdh5.7.0/
scp hadoop-2.6.0-cdh5.7.0.tar.gz  [email protected]:/home/hadoop/sft/
 

以上の構成が完了しました
Hadoopクラスタ起動:
11.zookeeperクラスタを起動する(hadoop 001、hadoop 002、hadoop 003でそれぞれ以下のコマンドを実行する)
 Zookeeper bin :
sh zkServer.sh start

12、zookeeperをフォーマットする
 zk leader :
hdfs zkfc -formatZK

 zookeeper ha (ns )
 
zkServer.sh status

13、journalnodeクラスタの起動
004、005、006ノードで実行:hadoopインストールディレクトリのsbinディレクトリに切り替えて実行:
sh hadoop-daemons.sh start journalnode

14.001ノードをフォーマットするnamenode.001ノードで実行する.
hadoop namenode -format

15、001ノードのnamenodeを起動する
hadoop-daemon.sh start namenode

16.002ノードのnamenodeノードをstandby namenodeノードに変更し、002ノードで実行する.
hdfs namenode  -bootstrapStandby

17、002ノードのnamenodeノードを起動し、002ノードで実行する:
hadoop-daemon.sh start namenode

18、004005006ノードでdatanodeノードを起動する
hadoop-daemon.sh start datanode

19.zkfcを起動し(FalioverControllerActiveを起動する)、001002ノードで実行する:
hadoop-daemon.sh start zkfc

20.001ノードでメインResourceManagerを起動する
start-yarn.sh

起動に成功したら、004005006ノードにnodemanagerのプロセスがあるはずです.
21.003ノードで副ResourceManagerを起動する
yarn-daemon.sh start resourcemanager

以上の起動完了
22、hadoop Namenodeのウェブサイトを表示する
http://[hadoop001 ip]:50070, namenode , active 

http://[hadoop002 ip]:50070, namenode , standby 

hadoop 001 namenodeを閉じて001ノードで実行
hadoop-daemon.sh stop namenode

Webサイトのnamenodeの変化を観察します(001はアクセスできません.002はactiveになります)
23、yarnの管理アドレスを確認する(001正常、003ジャンプ001)
http://[hadoop001 ip]:8088( 01 8088 )
http://[hadoop003 ip]:8088( 03 8088 )

hadoop 001のresourcemanagerを停止
yarn-daemon.sh stop resourcemanager

2つのWebサイトの変化を観察します(001ジャンプ003003正常)
エラー:
1.ファイアウォールの調査
2.ipをチェックし、固定ipでない場合は、ipが交換されているかどうかを確認します
3.ホスト名
4.hosts ipとホスト名が対応しているか
5.zkのプロファイルをチェックする
6.hadoopのプロファイルの確認