OS:
[orange@localhost ~]$ cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
Step1:
配置IP:1 or 2 or 3
為什么配置IP?因為我們如果在生產環境下,必須通過機器名精准的找到每台dataNode,通過為每台機器配置固定IP從而可以配置每台機器的Host.
1.Settings-->Network-->Wired-->set-->IP4
2.stepup 命令
3.修改配置文件
Step2:
讓普通用戶擁有sudo權限
為什么需要配置sudo權限?如果我們每次修改系統配置文件的時候都切換到root用戶,從而導致有可能忘記切回普通用戶,造成安裝的包的用戶都是root。
1.切換到root用戶
[orange@localhost Downloads]$ su Password: [root@localhost Downloads]# vim /etc/sudoers
2.編輯/etc/sudoers
【yy】命令復制一行,【p】命令在當前行粘貼
## Allow root to run any commands anywhere root ALL=(ALL) ALL orange ALL=(ALL) ALL
3.Esc -> :-->wq!保存退出
Step3:
關閉centos 圖形界面。也可以不關閉
為什么關閉圖形界面?Linux的圖形界面會占用內存和硬盤空間,如果dataNode有很多,我們會做一個母本,然后通過母本安裝其他的dataNode,節省機器的空間和提高效率。
1.
[root@localhost Downloads]# sudo vim /etc/inittab
2.輸入【id:3:initdefalt:】將啟動級別改成3
Step4:
修改主機名
[orange@localhost sysconfig]$ sudo vim /etc/sysconfig/network
修改HOSTNAME=XXXXX
執行 【sudo hostname XXXXX】然后重新登陸terminal
修改/etc/hostname直接用命令:
hostnamectl set-hostname XXXXXX 就可以。
Step5:
域名解析(主機名映射IP)
sudo vim /etc/host
輸入【你的IP地址 主機名】
ping 你的主機名進行測試
Step6:
安裝JDK(省略)
重點:把java path放到環境變量里
Step7:
安裝Hadoop
1.下載Hadoop
http://apache.org/index.html#projects-list(官網)
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/(國內資源庫)
2.解壓Hadoop
tar -zxvf hadoop-3.3.0.tar.gz -C /home/orange/app
3.hadoop目錄說明
bin --- hadoop可執行的一些腳本,比如hadoop,mapreduce,yarn
sbin --- 系統相關的一些執行腳本,比如hadoop的相關啟動/關閉腳本
lib --- 本地庫,本地平台的效率實現
etc --- 配置文件
libexec --- 執行相關
include -- 本地庫相關
share --- jar包,開發相關
share/doc --- 開發文檔,為了節省空間可以刪除這個目錄
Step8:
編輯配置文件
1.配置hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/home/orange/app/jdk-11.0.2
2.配置core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop001:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/orange/app/hadoop-3.3.0/data</value> </property> </configuration>
3.配置hdfs-site.xml,副本數一般為3,演示的時候我們配置成1.
<configuration>
<property>
<name>dfs.replicationn</name>
<value>1</value>
</property>
</configuration>
4.配置mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
5.配置yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>hadoop001</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>mapreduce_shuffle</value> </property>
6.在實際項目中需要把端口配置到防火牆白名單中,我們這是演示版本,我們不需要配置。
7.初始化文件服務
hadoop namenode -format
或者
hdfs namenode -format
如果出現下列的語句就說明Hadoop安裝成功
common.Storage: Storage directory /home/orange/app/hadoop-3.3.0/data/dfs/name has been successfully formatted.
8.配置slaves文件,在最新的hadoop中已經沒有slaves文件了,但是它換成了works文件,大家把datanode的
機器配置到works文件中就可以。我們演示的時候把本地機器配置到works中。
9.集群間的機器SSH免密登陸
ssh-keygen -t rsa
把(.ssh/id_rsa.pub)拷貝到datanode機器上,也就是你需要免密登陸的機器,我們這是演示版本,就放到本地,不拷貝。但需要把id_rsa.pub的內容拷貝到授權列表文件(authorized_keys)中
touch authorized_keys chmod 600 authorized_keys
10.驗證
[orange@hadoop001 ~]$ start-dfs.sh Starting namenodes on [hadoop001] Starting datanodes Starting secondary namenodes [hadoop001]
[orange@hadoop001 sbin]$ start-yarn.sh
Starting resourcemanager
Starting nodemanagers
安裝完成。我們在安裝的時候沒有關閉防火牆或者把hadoop的相關端口添加到白名單中,如果只是啟動hadoop的hdfs和yarn是沒事的。如果在開發中碰到需要關閉防火牆的時候可以關閉防火牆或者配置白名單。