虛擬機器裝Hadoop叢集完全分散式
環境
系統:ContOS 8
虛擬機器:VMware 16
hadoop:hadoop-3.3.0.tar.gz
JDK:jdk-8u241-linux-x64.tar.gz
檔案上傳工具 :WinSCP
連線Linux:XShell
可以在官網下載也可以在百度網盤下載:
作業系統:
連結:https://pan.baidu.com/s/1DuzjRqxwvMXjDsBXeXDObQ
提取碼:kdmn
虛擬機器:
連結:https://pan.baidu.com/s/1JVjnjvctpR-LaCC-iwRktQ
提取碼:9cp5
Hadoop相關:
連結:https://pan.baidu.com/s/1dFLL3PcWsZmGSg1Ex5EzYA
提取碼:7ony
要求
安裝虛擬機器時有三種網路模式:Bridged(橋接模式)、NAT(網路地址轉換模式)、 Host-Only(僅主機模式)
安裝橋接或者NAT模式
安裝橋接或者NAT模式
安裝橋接或者NAT模式
網路配置
三種網路模式的網路設定:https://blog.csdn.net/Noob_f/article/details/51099040
我的另一個文章:https://blog.csdn.net/qq_45638264/article/details/111027588
裡面涉及IP、閘道器、掩碼、DSN等的詳細設定
設定域名
用root使用者設定,兩個系統都要弄
命令:vim /etc/hosts
儲存即可
叢集情況
系統名 | 系統域名 | 系統IP | 使用者名稱 |
---|---|---|---|
master | master | 192.168.163.10 | hadoop |
worker01 | worker01 | 192.168.163.11 | hadoop |
上傳檔案
-
使用root在根目錄下建一個bigdata目錄:
mkdir /bigdata
-
給目錄加其它使用者寫的許可權:
chmod -R o+w /bigdata
-
使用WinScp軟體上傳檔案
這裡的主機名填Linux系統的IP,使用者名稱:root
建立hadoop使用者
建立組:groupadd -r hadoop
建立使用者:useradd -d /home/hadoop -s /bin/bash -g hadoop hadoop
設密碼:passwd hadoop
解壓包到bigdata目錄中
切換到hadoop使用者操作
解壓JDK:tar -zxvf jdk-8u241-linux-x64.tar.gz -C /bigdata/
解壓Hadoop:tar -zxvf hadoop-3.3.0.tar.gz -C /bigdata/
重新命名:
cd /bigdata
mv jdk-8u241-linux-x64 jdk
mv hadoop-3.3.0 hadoop
建立新增環境變數
使用root使用者
命令: vim /etc/profile
##JAVA_HOME
export JAVA_HOME=/bigdata/jdk
export PATH=$JAVA_HOME/bin:$PATH
##HADOOP_HOME
export HADOOP_HOME=/bigdata/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
隨後使用命令:source /etc/profile
檢視是否成功:java -verison
免密登入
切換到hadoop使用者
master機器:
S1:使用命令:ssh master
輸入密碼後
要是沒有下面這種出現情況---hadoop@master
重啟系統,切換到使用者hadoop,再使用命令S1
你也可以重啟ssh服務試試:命令:systemctl restart sshd
S2:使用命令:ssh-keygen -t rsa
後面都是預設,一直回車
S3:使用命令:cd .ssh
S4:使用命令:cat id_rsa.pub >> authorized_keys
worker01機器:完成步驟:S1~S3
這裡的S1:ssh worker01
在hadoop的.ssh目錄下
S5:將worker01的公鑰發給master:scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.worker01
master機器:
S6:使用命令:cat id_rsa.pub.worker01 >> authorized_keys
master將authorized_keys檔案傳給worker01
S7:使用命令:scp authorized_keys hadoop@worker01:/home/hadoop/.ssh/
S8:在兩臺機器上分別測試
都是在Hadoop使用者下
命令:ssh master、ssh worker
master:
worker01:
authorized_keys :
authorized_keys 檔案是對的,但是就是不能免密登入,看我的另一文章:https://blog.csdn.net/qq_45638264/article/details/109114939
配置Hadoop檔案
注意:完全分散式的Hadoop配置內容和偽分散式不同!! 利用hadoop搭偽分散式環境需要配置4個xml檔案,這4個xml檔案都在/bigdata/hadoop/etc/hadoop資料夾中。
先在master上配置,再通過scp命令複製到worker01
使用hadoop使用者操作
(1)修改hadoop-env.sh配置檔案
配置hadoop-env.sh過程 |
---|
S1:開啟hadoop-env.sh檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令vim hadoop-env.sh,命令執行後hadoop-env.sh檔案被開啟 |
S2:在hadoop-env.sh檔案中修改JAVA_HOME環境變數,將export JAVA_HOME=${JAVA_HOME}(雖然之前的程式碼也能獲取到JAVA_HOME的值,但是有時候會失效)修改為export JAVA_HOME=/bigdata/jdk |
(2)修改core-site.xml配置檔案
配置core-site.xml過程 |
---|
S1:開啟core-site.xml檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令 vim core-site.xml,命令執行後,core-site.xml檔案被開啟 |
S2:在core-site.xml檔案末尾新增上如下程式碼: |
程式碼如下(<'configuration'>和<'/configuration'>標籤原來就有):
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/bigdata/hadoop/etc/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<final>true</final>
</property>
</configuration>
注意: hadoop.tmp.dir檔案不是一個臨時檔案,是存放所有master中資料的檔案,其目錄地址為:/bigdata/hadoop/etc/hadoop/tmp。
(3)修改hdfs-site.xml配置檔案
配置hdfs-site.xml過程 |
---|
S1:開啟hdfs-site.xml檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令vim hdfs-site.xml,命令執行後hdfs-site.xml檔案被開啟 |
S2:在hdfs-site.xml檔案末尾新增上如下程式碼: |
程式碼如下(<'configuration'>和<'/configuration'>標籤原來就有):
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
<final>true</final>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
注意:2是指備份2份(總共2份)。在hadoop中預設有3份檔案(含備份),這裡總共想要存放2份檔案,則改為2。
dfs.http.address是為了讓瀏覽器可以訪問
(4)修改mapred-site.xml配置檔案
配置mapred-site.xml過程 |
---|
S1:(1)開啟mapred-site.xml檔案(你會發現在/bigdata/hadoop/etc/hadoop中沒有mapred-site.xml檔案,只有一個mapred-site.xml.template檔案。這是因為mapreduce比較特殊,它可以配置也可以不配置,而其他例如core-site.xml存在因為其必須配置 |
(2)這裡只需要將mapred-site.xml.template複製一下,並且將檔名改為mapred-site.xml進行修改即可,直接在/bigdata/hadoop/etc/hadoop/下使用 cp mapred-site.xml.template mapred-site.xml即可) |
(3)將當前位置切換了/bigdata/hadoop/etc/hadoop/中,使用命令 vim mapred-site.xml,命令執行後mapred-site.xml檔案被開啟 |
S2:在mapred-site.xml檔案末尾新增上如下程式碼: |
程式碼如下(`<'configuration'>`和`<'/configuration'>`標籤原來就有):
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
(5)修改yarn-site.xml配置檔案
配置yarn-site.xml過程 |
---|
S1:開啟yarn-site.xml檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令sudo vi yarn-site.xml,命令執行後yarn-site.xml檔案被開啟 |
S2:在yarn-site.xml檔案末尾新增上如下程式碼: |
程式碼如下(`<'configuration'>`和 `<'/configuration'>` 標籤原來就有):
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>masater</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(6)配置masters和slaves檔案
切換至/bigdata/hadoop/etc/hadoop,使用ls檢視檔案,發現只有workers,這裡使用cp workers masters 命令複製一下。
(1)配置的masters檔案如下: |
---|
S1:開啟masters檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令vim masters,命令執行後masters檔案被開啟 |
S2:在masters檔案末尾新增上如下程式碼: |
(2)配置的worker01檔案如下: |
---|
S1:開啟worker01檔案,將當前位置切換了/bigdata/hadoop/etc/hadoop中,使用命令vim worker01,命令執行後worker01檔案被開啟 |
S2:在worker01檔案末尾新增上如下程式碼: |
(7)master向worker01節點複製hadoop配置
worker01系統中也必須用Root建一個bigdata目錄
步驟 |
---|
S1:複製JDK。將當前位置切換了/bigdata/下。scp -r jdk/ hadoop@worker01:/bigdata/ |
S1:複製Hadoop。將當前位置切換了/bigdata/下。scp -r hadoop/ hadoop@worker01:/bigdata/ |
(8)worker01中的環境變數和master是一樣的。
格式化HDFS檔案
在master中格式化
將當前位置切換了/bigdata/hadoop下
格式化:./hdfs namenode -format
啟動hdfs
命令: ./sbin/start-dfs.sh
或者:start-dfs.sh
如果配置了yarn的話必須要啟動yarn:./sbin/start-yarn.sh
或start-yarn.sh
檢視是否啟動
命令:jps
master機器:
worker01機器:
在本地瀏覽器訪問:
hdfs:192.168.163.10:50070/
自此,安裝成功,測試的話可以自己百度一個計算單詞個數。
相關文章
- Hadoop叢集--linux虛擬機器Hadoop安裝與配置、克隆虛擬機器HadoopLinux虛擬機
- 虛擬機器Hadoop叢集搭建5安裝Hadoop虛擬機Hadoop
- Hadoop完全分散式叢集配置Hadoop分散式
- Hadoop叢集搭建--虛擬機器互相ping通Hadoop虛擬機
- 完全分散式模式hadoop叢集安裝與配置分散式模式Hadoop
- Hadoop3.0完全分散式叢集安裝部署Hadoop分散式
- hadoop分散式叢集搭建Hadoop分散式
- hadoop偽分散式叢集的安裝(不是單機版)Hadoop分散式
- Hadoop分散式叢集搭建_1Hadoop分散式
- hadoop叢集搭建——單節點(偽分散式)Hadoop分散式
- [Hadoop踩坑]叢集分散式環境配置Hadoop分散式
- Hadoop框架:叢集模式下分散式環境搭建Hadoop框架模式分散式
- hadoop完全分散式環境搭建Hadoop分散式
- Hadoop hdfs完全分散式搭建教程Hadoop分散式
- 【Hadoop】大資料安裝部署之虛擬機器的安裝Hadoop大資料虛擬機
- Cassandra安裝及分散式叢集搭建分散式
- 使用虛擬機器初始化 K8S 叢集虛擬機K8S
- Centos7搭建hadoop3.3.4分散式叢集CentOSHadoop分散式
- centOS 7-Hadoop3.3.0完全分散式部署CentOSHadoop分散式
- Hadoop--HDFS完全分散式(簡單版)Hadoop分散式
- ElasticSearch 分散式叢集Elasticsearch分散式
- 安裝虛擬機器虛擬機
- 學習CDH叢集環境的搭建(虛擬機器可演示)虛擬機
- 分散式 PostgreSQL 叢集(Citus)官方安裝指南分散式SQL
- CentOS 7上搭建Spark 3.0.1 + Hadoop 3.2.1分散式叢集CentOSSparkHadoop分散式
- Hadoop詳細安裝步驟,附帶安裝完的虛擬機器。Hadoop虛擬機
- CentOS7 hadoop3.3.1安裝(單機分散式、偽分散式、分散式)CentOSHadoop分散式
- Hadoop3.x完全分散式搭建(詳細)Hadoop分散式
- HDFS分散式叢集搭建分散式
- golang分散式與叢集Golang分散式
- elasticsearch(三)---分散式叢集Elasticsearch分散式
- HA分散式叢集搭建分散式
- RabbitMQ工廠虛擬機器叢集可靠性測試報告MQ虛擬機測試報告
- ubuntu虛擬機器安裝Ubuntu虛擬機
- LEDE 虛擬機器安裝虛擬機
- centos7 hadoop3.2.0分散式叢集搭建步驟CentOSHadoop分散式
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- 安裝 Hadoop:設定單節點 Hadoop 叢集Hadoop