HadoopクラスタのHA高可用性アーキテクチャの構築(超詳細ステップ+検証済み)
11301 ワード
一、クラスタの計画
Zookeeperクラスタ:
Hadoopクラスタ:
二、準備
1、JDKの取り付け:各機器に取り付けが必要
私がここで使っているのはjdk-8 u 152-linux-x 64です.tar.gzインストールパッケージ
解凍JDK:
2、環境変数の構成:
1)java環境変数の構成:
2)有効な環境変数:
3)インストールが成功したかどうかを確認する:
3、IPアドレスとホスト名のマッピング関係を配置する原因:SSH呼び出し便利Ping通
入力:
4、パスワードフリーログインの設定
1)各機器に公開鍵と秘密鍵を生成する
意味:sshプロトコルによって非対称暗号化アルゴリズムのrsaアルゴリズムを用いて鍵ペアのセットを生成する:公開鍵と秘密鍵
2)各機器で自分の公開鍵を他の機器にコピーする
注意:次の4つのコマンドは、各マシンで実行する必要があります.
三、Zookeeperクラスタのインストール(bigdata 12にインストール)
プライマリノード(bigdata 12)へのZooKeeperのインストールと構成
私がここで使っているのはzookeeper-3.4.10です.tar.gzインストール
1、解凍Zookeeper:
2、環境変数の構成と有効化:
3、zooを修正する.cfgプロファイル:
変更:
最後の行に追加:
4、myidプロファイルの修正
/root/training/zookeeeper-3.4.10/tmpディレクトリの下にmyidの空のファイルを作成します.
5、構成されたzookeeperを他のノードにコピーし、それぞれのmyidファイルを修正する
bigdata 13とbigdata 14の2台のマシンに入り、myidファイルを見つけ、そのうちの1をそれぞれ2と3に変更します.
bigdata 13に入力:2 bigdata 14に入力:3
四、Hadoopクラスタのインストール(bigdata 12にインストール)
1、hadoop-envを修正する.sh
2、core-siteを修正する.xml
3、hdfs-siteを修正する.xml(このnameserviceにいくつかのnamenodeがあるように構成)
4、mapred-siteを修正する.xml
YarnのHAの設定
5、yarn-siteを修正する.xml
6、slavesスレーブノードのアドレスを修正する
7、構成されたhadoopを他のノードにコピーする
五、Zookeeperクラスタの起動
各マシンに入力:
六、journalnodeを起動する
bigdata 12とbigdata 13の2つのノードでjournalnodeノードを起動します.
七、HDFSとZookeeperのフォーマット(bigdata 12で実行)
HDFSのフォーマット:
/root/training/hadoop-2.7.3/tmpをbigdata 13の/root/training/hadoop-2.7.3/tmpにコピー
zookeeperのフォーマット:
ログ:INFO ha.ActiveStandbyElector: Successfully created/hadoop-ha/ns1 in ZK.
以上のログは、Zookeeperのファイルシステムに/hadoop-ha/ns 1のサブディレクトリが作成され、Namenodeの構造情報を保存していることを示しています.
八、Hadoopクラスタの起動(bigdata 12で実行)
Hadoopクラスタを起動するコマンド:
bigdata 13でResourceManagerを手動でYarnの代替マスターノードとして起動します.
これで,HadoopクラスタのHAアーキテクチャの構築に成功した.
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.
Zookeeperクラスタ:
192.168.182.12 (bigdata12)
192.168.182.13 (bigdata13)
192.168.182.14 (bigdata14)
Hadoopクラスタ:
192.168.182.12 (bigdata12) NameNode1 ResourceManager1 Journalnode
192.168.182.13 (bigdata13) NameNode2 ResourceManager2 Journalnode
192.168.182.14 (bigdata14) DataNode1 NodeManager1
192.168.182.15 (bigdata15) DataNode2 NodeManager2
二、準備
1、JDKの取り付け:各機器に取り付けが必要
私がここで使っているのはjdk-8 u 152-linux-x 64です.tar.gzインストールパッケージ
解凍JDK:
tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training
2、環境変数の構成:
1)java環境変数の構成:
vi ~/.bash_profile
export JAVA_HOME=/root/training/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
2)有効な環境変数:
source ~/.bash_profile
3)インストールが成功したかどうかを確認する:
java -version
3、IPアドレスとホスト名のマッピング関係を配置する原因:SSH呼び出し便利Ping通
vi /etc/hosts
入力:
192.168.182.13 bigdata13
192.168.182.14 bigdata14
192.168.182.15 bigdata15
4、パスワードフリーログインの設定
1)各機器に公開鍵と秘密鍵を生成する
ssh-keygen -t rsa
意味:sshプロトコルによって非対称暗号化アルゴリズムのrsaアルゴリズムを用いて鍵ペアのセットを生成する:公開鍵と秘密鍵
2)各機器で自分の公開鍵を他の機器にコピーする
注意:次の4つのコマンドは、各マシンで実行する必要があります.
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata12
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata13
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata14
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata15
三、Zookeeperクラスタのインストール(bigdata 12にインストール)
プライマリノード(bigdata 12)へのZooKeeperのインストールと構成
私がここで使っているのはzookeeper-3.4.10です.tar.gzインストール
1、解凍Zookeeper:
tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training
2、環境変数の構成と有効化:
export ZOOKEEPER_HOME=/root/training/zookeeper-3.4.10
export PATH=$ZOOKEEPER_HOME/bin:$PATH
source ~/.bash_profile
3、zooを修正する.cfgプロファイル:
vi /root/training/zookeeper-3.4.10/conf/zoo.cfg
変更:
dataDir=/root/training/zookeeper-3.4.10/tmp
最後の行に追加:
server.1=bigdata12:2888:3888
server.2=bigdata13:2888:3888
server.3=bigdata14:2888:3888
4、myidプロファイルの修正
/root/training/zookeeeper-3.4.10/tmpディレクトリの下にmyidの空のファイルを作成します.
mkdir /root/training/zookeeper-3.4.10/tmp/myid
echo 1 > /root/training/zookeeper-3.4.10/tmp/myid
5、構成されたzookeeperを他のノードにコピーし、それぞれのmyidファイルを修正する
scp -r /root/training/zookeeper-3.4.10/ bigdata13:/root/training
scp -r /root/training/zookeeper-3.4.10/ bigdata14:/root/training
bigdata 13とbigdata 14の2台のマシンに入り、myidファイルを見つけ、そのうちの1をそれぞれ2と3に変更します.
vi myid
bigdata 13に入力:2 bigdata 14に入力:3
四、Hadoopクラスタのインストール(bigdata 12にインストール)
1、hadoop-envを修正する.sh
export JAVA_HOME=/root/training/jdk1.8.0_144
2、core-siteを修正する.xml
fs.defaultFS
hdfs://ns1
hadoop.tmp.dir
/root/training/hadoop-2.7.3/tmp
ha.zookeeper.quorum
bigdata12:2181,bigdata13:2181,bigdata14:2181
3、hdfs-siteを修正する.xml(このnameserviceにいくつかのnamenodeがあるように構成)
dfs.nameservices
ns1
dfs.ha.namenodes.ns1
nn1,nn2
dfs.namenode.rpc-address.ns1.nn1
bigdata12:9000
dfs.namenode.http-address.ns1.nn1
bigdata12:50070
dfs.namenode.rpc-address.ns1.nn2
bigdata13:9000
dfs.namenode.http-address.ns1.nn2
bigdata13:50070
dfs.namenode.shared.edits.dir
qjournal://bigdata12:8485;bigdata13:8485;/ns1
dfs.journalnode.edits.dir
/root/training/hadoop-2.7.3/journal
dfs.ha.automatic-failover.enabled
true
dfs.client.failover.proxy.provider.ns1
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.fencing.methods
sshfence
shell(/bin/true)
dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_rsa
dfs.ha.fencing.ssh.connect-timeout
30000
4、mapred-siteを修正する.xml
mapreduce.framework.name
yarn
YarnのHAの設定
5、yarn-siteを修正する.xml
yarn.resourcemanager.ha.enabled
true
yarn.resourcemanager.cluster-id
yrc
yarn.resourcemanager.ha.rm-ids
rm1,rm2
yarn.resourcemanager.hostname.rm1
bigdata12
yarn.resourcemanager.hostname.rm2
bigdata13
yarn.resourcemanager.zk-address
bigdata12:2181,bigdata13:2181,bigdata14:2181
yarn.nodemanager.aux-services
mapreduce_shuffle
6、slavesスレーブノードのアドレスを修正する
bigdata14
bigdata15
7、構成されたhadoopを他のノードにコピーする
scp -r /root/training/hadoop-2.7.3/ root@bigdata13:/root/training/
scp -r /root/training/hadoop-2.7.3/ root@bigdata14:/root/training/
scp -r /root/training/hadoop-2.7.3/ root@bigdata15:/root/training/
五、Zookeeperクラスタの起動
各マシンに入力:
zkServer.sh start
六、journalnodeを起動する
bigdata 12とbigdata 13の2つのノードでjournalnodeノードを起動します.
hadoop-daemon.sh start journalnode
七、HDFSとZookeeperのフォーマット(bigdata 12で実行)
HDFSのフォーマット:
hdfs namenode -format
/root/training/hadoop-2.7.3/tmpをbigdata 13の/root/training/hadoop-2.7.3/tmpにコピー
scp -r dfs/ root@bigdata13:/root/training/hadoop-2.7.3/tmp
zookeeperのフォーマット:
hdfs zkfc -formatZK
ログ:INFO ha.ActiveStandbyElector: Successfully created/hadoop-ha/ns1 in ZK.
以上のログは、Zookeeperのファイルシステムに/hadoop-ha/ns 1のサブディレクトリが作成され、Namenodeの構造情報を保存していることを示しています.
八、Hadoopクラスタの起動(bigdata 12で実行)
Hadoopクラスタを起動するコマンド:
start-all.sh
:
Starting namenodes on [bigdata12 bigdata13]
bigdata12: starting namenode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-namenode-hadoop113.out
bigdata13: starting namenode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-namenode-hadoop112.out
bigdata14: starting datanode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-datanode-hadoop115.out
bigdata15: starting datanode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-datanode-hadoop114.out
bigdata13: starting zkfc, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-zkfc- bigdata13.out
bigdata12: starting zkfc, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-zkfc-bigdata12.out
bigdata 13でResourceManagerを手動でYarnの代替マスターノードとして起動します.
yarn-daemon.sh start resourcemanager
これで,HadoopクラスタのHAアーキテクチャの構築に成功した.
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.