1、準備工作
-
準備3太centos機器並設置主機名
修改命令:vim /etc/hostname
一臺作爲Namenode,命名爲master,
兩臺作爲dataNode,命名爲node-1, node-2 -
設置hosts
修改命令:vim /etc/hosts
192.168.0.6 master 192.168.0.17 node-1 192.168.0.19 node-2
-
3臺機器都創建hadoop用戶並設置密碼
useradd hadoop passwd hadoop
-
免密登陸自身(3臺)
su – hadoop ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys #測試 ssh localhost(首次需輸入yes)
-
設置hadoop賬戶的ssh信任關係(僅master)
#在master機器上操作 ssh-copy-id -i .ssh/id_rsa.pub [email protected] ssh-copy-id -i .ssh/id_rsa.pub [email protected] ssh-copy-id -i .ssh/id_rsa.pub [email protected] #測試一下,都能成功登錄就行 ssh hadoop@master ssh hadoop@node-1 ssh hadoop@node-2
-
配置jdk
配置方法 -
非生產環境建議關閉防火牆:
firewall常用操作方法
2、安裝
-
下載hadoop
下載地址 -
在3太機器上創建相同的目錄路徑, name目錄只存放在master上,且權限爲755,否則會導致後面的格式化失敗
mkdir -p /hadoop/install mkdir -p /hadoop/name mkdir -p /hadoop/data1 mkdir -p /hadoop/data2 mkdir -p /hadoop/tmp
- 解壓安裝包到/hadoop/install下
tar xzvf hadoop-3.1.2.tar.gz -C /hadoop/install/
-
修改屬主爲hadoop
chown -R hadoop.hadoop /hadoop
3、配置(3臺機器都需配置)
- 修改hadoop-env.sh文件,指定jdk安裝路徑。
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_181 export HDFS_NAMENODE_USER="hadoop" export HDFS_DATANODE_USER="hadoop" export HDFS_SECONDARYNAMENODE_USER="hadoop" export YARN_RESOURCEMANAGER_USER="hadoop" export YARN_NODEMANAGER_USER="hadoop"
- 修改core-site.xml文件,指定hadoop默認的文件系統爲HDFS,並同時指定namenode爲master:
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>
- 修改hdfs-site.xml文件:
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/hadoop/name/</value> </property> <property> <name>dfs.blocksize</name> <value>268435456</value> </property> <property> <name>dfs.namenode.handler.count</name> <value>100</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/hadoop/data1/,/hadoop/data2/</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
- 編輯workers文件,批量啓動hdfs時指定需要啓動的datanode:
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/workers
node-1 node-2
- 修改yarn-site.xml文件:
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <!-- Configurations for ResourceManager and NodeManager: --> <!-- Configurations for ResourceManager: --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <!-- Configurations for NodeManager: --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- Configurations for History Server (Needs to be moved elsewhere): --> </configuration>
- 修改mapred-site.xml文件:
vim /hadoop/install/hadoop-3.1.2/etc/hadoop/mapred-site.xml
<configuration> <!-- Configurations for MapReduce Applications: --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
3、啓動
- 初始化HDFS [只有首次部署纔可使用]【謹慎操作,只在msater上操作】
在master機器上,初始化namenode的元數據目錄,進入hadoop的bin目錄下,執行命令:
有以下提示代表成功./hadoop namenode -format
- 開啓 【只在master上操作】
進入sbin目錄下,執行以下命令:./start-dfs.sh ./start-yarn.sh
- 查看裝在 【3臺機器分別執行
jps
命令】
master:
node-1
node-2
- web界面訪問:
http://192.168.0.6:9870/
http://192.168.0.6:8088/
劃重點:hadoop3.X的webUI已經改到端口 localhost:9870上面,而不是原來的50070,網上大多數的教程都是2.X的,當然不行!!
Java項目使用方法:Spring Boot項目中使用HDFS3.x