1.仮想マシンの構成
バージョン:Centos7はVM15にインストールされ、ミラー:CentOS-7-x86_64-Minimal-1908; hadoop2.10.0、jdk1.8.0_241
1.1CentOSシステムをインストールする
CentOSの最新バージョンをインストールすることはお勧めしません。
注:この記事では、構成にVMWareを使用します。構成にVirtualBoxを使用する場合、わずかに異なる仮想マシンネットワーク構成を除いて、他は同じです。
1.2ネットワーク接続の概要
1.ブリッジモード:仮想マシンと物理マシンは同じネットワークに接続されており、仮想マシンと物理マシンは並列関係にあり、ステータスは同等です。仮想システムであろうと実システムであろうと、同じネットワークセグメント上にある限り、相互にpingを実行できます。
2. NATモード:物理的な機会は「ルーター」として機能します。仮想マシンがインターネットにアクセスする場合は、物理マシンを通過する必要があります。物理マシンがインターネットにアクセスできない場合、仮想マシンはインターネットにアクセスできません。他の構成は必要ありません。物理マシンのみがインターネットにアクセスできます。仮想システムには、仮想マシンがセットアップされているホストとの双方向でのみアクセスでき、同じネットワークセグメント上の他の実際のホストにはアクセスできません。
3.ホスト専用モード:ネットワークケーブルを使用して物理マシンと仮想マシンを直接接続するのと同じです。すべての仮想システムは相互に通信できますが、仮想システムと実際のネットワークは分離されています。
1.3仮想マシンのネットワーク構成
1. VMWareで仮想ネットワークエディタを開き、VMnet8(NAT)モードを選択し、[NAT設定]をクリックして、ゲートウェイアドレスを構成します(デフォルト値を選択できます)。
2.コントロールパネル、ネットワークセンターを開き、アダプターを変更し、VMnet8のプロパティを開き、TCP / IPv4プロパティを構成します。
3.ゲートウェイアドレスはVMWareと一致しています。占有IPアドレスを構成しないでください。
4. CentOSシステムにログインし、etc / sysconfig / network-scriptsと入力して、NATネットワークカード構成ファイルを編集します。
vi ifcfg-ens33
5.次の変数を構成します
BOOTPROTO=static #关闭DHCP,可以不做,不影响
ONBOOT=yes #开机启动
IPADDR=192.168.223.100 #该虚拟机的ip地址
GATEWAY=192.168.223.2 #网关地址
DNS1=192.168.223.2 #DNS可根据自己网络进行配置
NATMASK=255.255.255.0 #子网掩码
1.4ネットワークカードを再起動すると、ネットワーク構成が有効になります
service network restart
または
systemctl restart network
1.5ネットワーク検証
CentOSでIPアドレスを表示します。
ip a
WindowsでIPアドレスを表示します(cmdを実行します)。
ipconfig
次の操作が正しければ、ネットワーク構成は成功です。
- 仮想マシンのpingゲートウェイ
- 仮想マシンが物理ホストにpingを実行する
- 物理ホストping仮想マシン
- 仮想マシンがBaiduにpingを実行します(外部ネットワークアドレスにpingを実行できない場合は、前の手順のネットワーク構成ファイルで他のDNS1アドレスを変更できます)
1.6CentOSファイアウォールをオフにします
分散クラスターでは、各ノード間の通信がファイアウォールによって妨げられるため、ファイアウォールがオフになります(セキュリティの問題は、周辺の専門ソフトウェアと統合管理によって実装されます)
systemctl stop firewalld.service
ファイアウォールの起動を禁止する
systemctl disable firewalld.service
ネットワークに問題がある場合は、ネットワーク構成ファイルが間違っていないか確認してください
vi /etc/sysconfig/network-scripts/ifcfg-ens33
1.7 XShell、XFtpをインストールします
XShellとXFtpは有料のソフトウェアであり、英語の公式Webサイトから無料の教育バージョンをダウンロードできます(中国の公式Webサイトにはこのバージョンはありません)
インストールが成功したら、新しい接続を作成し、接続する仮想マシンのマスターIPアドレスを入力し、接続するユーザー名とパスワードを入力します
ログインに成功したら、XShellを使用して、シェル操作用の仮想マシンインターフェイスを置き換えます
2.基本的な環境構成
2.1ユーザーをrootユーザーに切り替える
su root
2.2クロック同期を構成する
ntpdateをオンラインでインストールし、Alibaba Cloud ntpサーバーを使用して時刻を同期し、dateコマンドを使用して現在の時刻を表示します
yum install ntpdate
ntpdate ntp.aliyun.com
date
外部ネットワークに接続できない場合は、ntpdateをオフラインでインストールできます。ntpdateのダウンロードアドレス:https://pkgs.org/
rpm -ivh 'ntpdate包的路径'
ntpdate ntp.aliyun.com
date
2.3ホスト名を構成する
ホストはネットワーク内で一意に識別できます。IPアドレスと同様に、このホストにはIPアドレスとネットワークホスト名を介してアクセスできます。役割は単純化と促進です。
ホスト名を変更します。
hostnamectl set-hostname node1
変更されたホスト名を表示します。
hostname
2.4ホストリストを構成する
ホストリストの機能は、クラスター内の各サーバーに互いのホスト名とIPアドレスを知らせることです。
vi /etc/hosts
ホストのIPとホスト名を追加します
192.168.223.100ノード1
192.168.223.101ノード2
192.168.223.102ノード3
検証、ping ipアドレス、ホスト名、結果は同じで、違いはありません
ping 192.168.223.100
ping node1
2.5Java環境をインストールする
個人データディレクトリ、javaディレクトリを作成します
mkdir /usr/wallasunrui
mkdir /usr/java
mkdir /usr/hadoop
XFtpを使用して、javaインストールパッケージをwallasunruiディレクトリにコピーし、解凍して、javaディレクトリに移動します。
tar -zxvf jdk-8u241-linux-x64.tar.gz
mv jdk1.8.0_241 /usr/java/jdk1.8.0_241
システム構成ファイルを入力します
vi /etc/profile
ファイルの最後に次の2行を追加します
export JAVA_HOME=/usr/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
構成を効果的にします。
source /etc/profile
java -version
2.6Hadoop環境をインストールする
XFtpを使用してhadoopインストールパッケージをwallasunruiフォルダーにアップロードし、Hadoopインストールパッケージを解凍して、新しいフォルダーに移動します
tar -zxvf hadoop-2.10.0.tar.gz
mv hadoop-2.10.0 /usr/hadoop/hadoop-2.10.0
Hadoop環境変数を構成する
vi /etc/profile
構成ファイルの最後に次の2行を追加します
export HADOOP_HOME=/usr/hadoop/hadoop-2.10.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
hadoop構成を有効にして、確認します
source /etc/profile
hadoop version
whereis hdfs
エラーメッセージが表示されないということは、hadoopがCentOSシステム環境に正常に追加されたことを意味します。
2.7 hadoopとjavaのバインド(多くの学生はこのステップを忘れます)
hadoop構成ファイルを設定します
cd /usr/hadoop/hadoop-2.10.0/etc/hadoop
vi hadoop-env.sh
次のコード行を見つけます。
export JAVA_HOME=${JAVA_HOME}
このコード行を次のように変更します
export JAVA_HOME=/usr/java/jdk1.8.0_241
3.Hadoopを構成します
3.1Hadoopコアファイルの構成
hadoopのetcフォルダーに入り、core-site.xmlファイルを構成し、次のコンテンツを追加します
<configuration>
<!--指定文件系统的入口地址,可以为主机名或ip -->
<!--端口号默认为8020 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!--指定hadoop的临时工作存目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hadoop-2.10.0/hadoop-data</value>
</property>
</configuration>
糸-env.shファイルを構成し、次の行を見つけます。
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
以下を修正し、コメントを削除してください#
:
export JAVA_HOME=/usr/java/jdk1.8.0_241
hdfs-site.xmlファイルを構成し、次のコンテンツを追加します。
<configuration>
<!--指定hdfs备份数量,小于等于从节点数目-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 自定义hdfs中namenode的存储位置-->
<!-- <property>-->
<!-- <name>dfs.namenode.name.dir</name>-->
<!-- <value>file:/usr/hadoop/dfs/name</value>-->
<!-- </property>-->
<!-- 自定义hdfs中datanode的存储位置-->
<!-- <property>-->
<!-- <name>dfs.datanode.data.dir</name>-->
<!-- <value>file:/usr/hadoop/dfs/data</value>-->
<!--</property>-->
</configuration>
サフィックスtemplate
ファイルなしでcpコマンドによって生成されたMapred-site.xml構成ファイル
cp mapred-site.xml.template mapred-site.xml
mapred-site.xmlファイルを編集して、次のコンテンツを追加します。
<configuration>
<!--hadoop的MapReduce程序运行在YARN上-->
<!--默认值为local-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
ヤーンサイト.xmlファイルを構成します
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!--nomenodeManager获取数据的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
スレーブファイルを変更し、元のコンテンツを削除し、データノードノードのホスト名を追加します。自分で設定できます。ここでは3つ作成します。
node1
node2
node3
3.2複数のスレーブのクローンを作成する
node1を使用して3つの仮想マシンをミラーリングおよびクローン化します(完全なクローンを作成します)。名前はnode2およびnode3です。番号はコンピューターの構成に応じて自由に設定できます。次の手順は上記と同じです。
-
各スレーブのホスト名を変更します。方法は
2.3hostnamectl set-hostnamenode2と同じです。 -
etc / sysconfig / network-scriptsと入力し、各スレーブのIPアドレスを変更します。方法は1.3と同じです。
3.3オプション-同期hadoop構成(マスター構成とスレーブ構成が異なる場合にのみ使用)
マスターマシンのhadoopフォルダーを3台のスレーブマシンに送信します
scp -r /usr/hadoop node2:/usr/hadoop
scp -r /usr/hadoop node3:/usr/hadoop
4.SSHログインを構成します
4.1公開鍵と秘密鍵を生成する
マスターと各スレーブで、rsaアルゴリズムを使用して公開キーと秘密キーを生成します(インストールプロセスでは、「Enter」キーを使用して確認します)
ssh-keygen -t rsa
生成された秘密鍵id_rsaと公開鍵id_rsa.pubを表示します
cd /root/.ssh/
ls
4.2公開鍵を送信する
マスターで共通の公開キーauthorized_keysを作成し、authorized_keys権限を変更して、この公開キーを各スレーブに送信します
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
systemctl restart sshd.service
scp /root/.ssh/authorized_keys node2:/root/.ssh
scp /root/.ssh/authorized_keys node3:/root/.ssh
4.3Linuxファイルのアクセス許可の概要
これが知識の紹介、hadoop以外の設定手順です
-
1〜3桁は、ファイル所有者の権限を表します
-
4〜6桁は、同じグループ内のユーザーの権限を表します
-
7〜9桁は、他のユーザーの権限を表します
-
読み取り許可は4に等しく、rで表されます
-
書き込み許可は2に等しく、wで表されます
-
実行権限は1に等しく、xで表されます
444 r–r--r–
600 rw -------
644 rw-r–r--
666 rw-rw-rw-
700 rwx ------
744 rwxr–r--
755 rwxr-xr -x
777 rwxrwxrwx
4.4SSHを確認する
SSHログイン検証、ログインパスはパスワードなしで「〜/ .ssh」から「〜」に変更でき、ログアウトは終了です
ssh node1
ssh node2
exit
ssh node3
exit
注:マスターからスレーブへの一方向の無料ログインのみが実現されます!!!
5.ハドゥープを実行する準備ができました
5.1フォーマットHDFS
マスターマシンで、hadoopの下のbinフォルダーに入り、次のコードを実行します。
hdfs namenode -format
注:フォーマットする必要があるのは1回だけです!複数のフォーマットを行うと、NameNodeとDataNodeのクラスターID値が一致しなくなります。フォーマットする前に、NameNode、DataNode、およびログフォルダーを削除する必要があります。
5.2ハドゥープを開始する
hadoopにsbinフォルダーを入力して、以下を実行します。
start-dfs.sh
start-yarn.sh
5.3ハドゥーププロセスの表示
jps
5.4Webを介したhadoopへのアクセス
ビュー名前ノード、データノード:
http://192.168.223.100:50070
ビューSecondaryNameNode情報:
http://192.168.223.100:50090
表示YARNインタフェース:
http://192.168.223.100:8088