Hadoop:実分布配置
8256 ワード
システムおよび環境
ネットワーク環境:ローカルエリアネットワークの下にある一部の機器(>=4)システムバージョン:win 10の比較的新しいバージョン、サブシステムのサブシステムバージョンをサポートする:ubuntu 18.04その他のソフトウェア:Xshell 6、Xftp 6実験要求:複数の機器にhadoopをインストールし、配置が完了した後、公式demoのwordcount機能を完成し、その他の機能を実現することができる
ダウンロードインストールwsl(ubuntu)システム要件:win 10の新しいバージョン コンピュータ名を変更する(ubuntuでどのコンピュータかを識別するには、後で他のノードで構成を変更することを推奨します):このコンピュータを右クリック-プロパティ-設定の変更-コンピュータ記述(ustc+シーケンス番号)-変更-コンピュータ名(ustc+シーケンス番号)-後で を再起動します.ファイアウォールを閉じる:コントロールパネル-ネットワークとInternet-ネットワークと共有センター-wdファイアウォール(左下隅)-wdファイアウォールを有効または閉じる-後で を再起動します. wsl機能をオンにする:コントロールパネルを開く-プログラム-windows機能をオンまたはオフにする-Linuxに適したWindowsサブシステムをチェックする-コンピュータを再起動する Microsoft Storeを開き、ubuntuを検索し、18.04を選択して をダウンロードします.まずustcユーザを作成し、パスワードもustc(覚えやすいためだけ) hadoopユーザ を作成する
sshをインストールし、パスワードなしログインを設定 sshをインストールし、公開鍵と秘密鍵 を生成する.は、鍵および公開鍵を生成し、他の機器 に公開鍵をコピーする.
Javaのインストールと環境変数の構成 xshellとxftpをインストールし、インストールを直接確認すれば になります.は、xshellを使用して自分のマシンを接続しようとします.以下のコマンドはxshellで実行できます.もちろん、元のインタフェースも可能です(接続手順略) . javaをインストールし、環境 を構成します.
その他のノード構成(重要)
プライマリノードはhadoopをインストールし、他のノードに配布します.
(本構成は主要なnamenodeのみで構成でき、他のdatanodeは後で配布すればよい) javaのアップロードのようにhadoop圧縮パッケージをcディスクの下に置いて許可し、アップロードします.今回のアップロードパスは/home/hadoop(コマンドは省略します.java構成を参照してください) です. hadoopの4つのxmlファイルと1つのサブノード識別ファイルを構成します(すべてのノードの情報は一致してください) core-site.xml を修正 hdfs-site.xml を修正 mapred-site.xmlを変更します.このファイルにはありません.次のコマンド を実行する必要があります. yarn-site.xml を修正 slavesファイルを変更datanodeノード名を格納します.ホストノード名は追加しないでください. などです.
は他のノードに配布する、 を構成する.オン/オフおよび検証 ドキュメント(@TODOフォワードグローゴレゴリンゴing) 余剰配置(@TODOヤンキースフォワードコーニング)2019-11-20 電源を入れます. wsl を開く実行ssh(ここでは設定がおっくう) 電源を入れるとhostsは戻ってきますが、これはまだ解決していません(修復待ち)
ネットワーク環境:ローカルエリアネットワークの下にある一部の機器(>=4)システムバージョン:win 10の比較的新しいバージョン、サブシステムのサブシステムバージョンをサポートする:ubuntu 18.04その他のソフトウェア:Xshell 6、Xftp 6実験要求:複数の機器にhadoopをインストールし、配置が完了した後、公式demoのwordcount機能を完成し、その他の機能を実現することができる
ダウンロードインストールwsl(ubuntu)
$sudo useradd -m hadoop -s /bin/bash # hadoop , /bin/shell shell
$sudo passwd hadoop # hadoop
$sudo adduser hadoop sudo # hadoop
$su - hadoop # hadoop
$sudo apt-get update # hadoop apt, ssh
sshをインストールし、パスワードなしログインを設定
$ sudo apt-get install openssh-server # SSH server
$ cd /home/hadoop # hadoop
$ ssh-keygen -t rsa # , .ssh , , sudo,
$ sudo /etc/init.d/ssh start # ssh
,
$ sudo ssh-keygen -t rsa -f /etc/xxx
$ ps -e |grep ssh # ssh , ssh
: id_rsa.pub( ), authorized_keys,
: id_rsa.pub authorized_keys, auth
$ cd /home/hadoop/.ssh # .ssh
$ cat id_rsa.pub>>authorized_keys
.ssh authorized_keys ,
$cd /home/hadoop/.ssh #
$sudo chmod 600 authorized_keys
$cd ..#
$sudo chmod 700 .ssh
$cd ..#
$sudo chmod 700 hadoop # .ssh 700
$sudo vim /etc/ssh/sshd_config
Port xxx ( )
PermitRootLogin yes
yes
PasswordAuthentication yes( )
$ sudo /etc/init.d/ssh restart # ssh
~/.ssh/id_rsa.pub ssh-copy-id -i ( master datanode , )
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p xxxx
user Linux ,xxx.xxx.xxx.xxx , :
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p xxxx
, hadoop hadoop
,
$ ssh -p 6666 [email protected] #-p Port
, ,
Javaのインストールと環境変数の構成
$ sudo mkdir /usr/local/java# /usr/local java
jdk-8xxxx-linux-x64 c , , wsl
$ cd /mnt/c # win c
$ cp jdk-8xxxx-linux-x64.tar.gz /usr/local/java
java ,
$cd java/
$tar -zxvf jdk-8xxxx-linux-x64.tar.gz#
java jdk1.8xxxx
java , /usr/local
$ sudo chmod 777 /usr/local/java
$ sudo vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8xxxx
export PATH=${PATH}:${JAVA_HOME}/bin
:“=”
$ source /etc/profile
: sudo,source bash ,
java
$ java -version
, :
Ubuntu Java JDK
$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_231/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_231/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_231/bin/javaws" 1
:
$ sudo update-alternatives --set java /usr/local/java/jdk1.8.0_231/bin/java
$ sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_231/bin/javac
$ sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_231/bin/javaws
:https://blog.csdn.net/weixin_42001089/article/details/81865101
その他のノード構成(重要)
host , ip ,
$sudo vim /etc/hosts
192.168.1.100 ustc01
192.168.1.158 ustc02
192.168.1.58 ustc03
192.168.1.75 ustc04
( ) ip , #, , hadoop datanode 。
win hosts
192.168.1.100 ustc01
192.168.1.158 ustc02
192.168.1.58 ustc03
192.168.1.75 ustc04
win
Java ,
hadoop
$scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc02:/home/hadoop #-P , 。
$scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc03:/home/hadoop #-P 。
$scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc04:/home/hadoop #-P 。
java , ,
プライマリノードはhadoopをインストールし、他のノードに配布します.
(本構成は主要なnamenodeのみで構成でき、他のdatanodeは後で配布すればよい)
fs.default.name
hdfs://ustc01:9000
dfs.replication
3
, 3, datanode
dfs.namenode.dir
file:/home/hadoop/hadoop-2.7.7/tmp/dfs/name
datanode
dfs.datanode.dir
file:/home/hadoop/hadoop-2.7.7/tmp/dfs/data
dfs.name.data.registration.ip-hostname-check
false
mv mapred-site.xml.template mapred-site.xml #
#
mapreduce.framework.name
yarn
mapred.job.tracker
hdfs://ustc01:9001
yarn.nodemanager.aux-services
mapreduce_shuffle
ustc02
ustc03
ustc04
,
$ cd /home/hadoop
$ tar -zcf hadoop-2.7.7.tar.gz hadoop-2.7.7/
$ scp -P 6666 hadoop-2.7.7.tar.gz ustc02:/home/hadoop # hadoop,-P 。
java
$ sudo vim /etc/profile # java
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export HADOOP_HOME=/home/hadoop/hadoop-2.7.7
export PATH=${PATH}:${JAVA_HOME}/bin:{HADOOP_HOME}/bin:{HADOOP_HOME}/sbin:
$ source /etc/profile
: sudo,source bash ,
hadoop
$ hadoop
22 6666, Hadoop
hadoop-2.7.7/etc/hadoop hadoop-env.sh 。
$sudo vim /home/hadoop/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
export HADOOP_SSH_OPTS="-p 6666"
JAVA_HOME /usr/local/java/jdk1.8.0_231
JAVA_HOME=/usr/local/java/jdk1.8.0_231
$ hadoop namenode -format # , ,
# , namenode ,
$ start-all.sh #
$ stop-all.sh #
$ start-dfs.sh # hdfs
$ start-dfs.sh # hdfs
,
$ jps
namenode namenode, datenode datanode
win , http://ustc01:50070, namenode datanode
,
wsl , ssh
$sudo service ssh --full-restart
$sudo vim /etc/hosts
192.168.1.100 ustc01
192.168.1.158 ustc02
192.168.1.58 ustc03
192.168.1.75 ustc04