Hadoop是一個開源的分散式系統框架 一.集群準備 1. 三台虛擬機,操作系統Centos7,三台主機名分別為k1,k2,k3,NAT模式 2.節點分佈 k1: NameNode DataNode ResourceManager NodeManager k2: SecondNameNode Dat ...
Hadoop是一個開源的分散式系統框架
一.集群準備
1. 三台虛擬機,操作系統Centos7,三台主機名分別為k1,k2,k3,NAT模式
2.節點分佈
k1: NameNode DataNode ResourceManager NodeManager
k2: SecondNameNode DataNode NodeManager
k3 : DataNode NodeManager
3.安裝包准備
jdk-8uxx-linux-x64.rpm
hadoop-2.7.1.tar.gz
二.Linux準備
1.關閉防火牆
systemctl status firewalld //查看防火牆狀態
systemctl stop firewalld //關閉防火牆
systemctl disable firewalld //防火牆開機不啟動
2.修改主機名
hostnamectl set-hostname 主機名
註:如果克隆的虛擬機,那麼需要修改主機名
3.IP設置
編輯:vi /etc/sysconfig/network-scripts/ifcfg-ens33
文件中修改 :
BOOTPROTO=none
ONBOOT=yes [開機啟動網卡]
文件中添加 :
IPADDR=xxx [IP地址]
NETMASK=xxx [子網掩碼]
GATEWAY=xxx [網關]
DNS1=xxx
重啟網卡 : systemctl restart network
註 : 克隆的虛擬機需要修改IP地址,刪除UUID
4.添加hosts文件
編輯:vi /etc/host
文件中添加:
IP地址 主機名
IP地址 主機名
IP地址 主機名
5.安裝JDK
安裝包 : jdk-8uxx-linux-x64.rpm
安裝 : rpm -ivh jdk-8uxx-linux-x64.rpm
配置環境變數 : vi /etc/profile
文件中添加 : JAVA_HOME=/usr/java/jdk PATH=$PATH:$JAVA_HOME/bin: CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar: |
環境變數生效 : source /etc/profile
查看:java -version
6.SSH免密
1. ssh-keygen
之後一直回車就可以
2.ssh-copy-id 主機名
三台機子都需要進行免密
3.ssh 主機名
測試免密是否成功
三.HADOOP環境搭建
1.解壓縮
安裝包 : hadoop-2.7.1.tar.gz
解壓縮 : tar -zxvf hadoop-2.7.1.tar.gz -C /opt/apps
2.修改環境變數
編輯 :vi /etc/profile
文件中添加 :
export HADOOP_HOME=/opt/apps/hadoop.2.7.1/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
3.環境變數生效
source/etc/profile
四.HADOOP配置文件
1.進入hadoop配置文件目錄
cd /opt/apps/hadoop.2.7.1/etc/hadoop
2.修改配置文件 : hadoop-env.sh
vi hadoop-env.sh
修改文件中JAVA_HOME,改為自己JDK的路徑
3.配置文件 :core-site.xml
vi core-site.xml 添加如下內容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://主機名:8020</value> //NameNode節點主機名
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096<value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopdata/bigdata/tmp</value>
</property>
4.配置文件 : hdfs-site.xml
vi hdfs-site.xml 添加如下內容:
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopdata/dfs/data<>
</property>
<property>
<name>dfs.http.address</name>
<value>NameNode節點主機名:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>SecondNameNode節點主機名:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
5.配置文件 : salves
vi salves 添加以下內容(三台機器的主機名) :
hostname1
hostname2
hostname3
6.配置文件 : mapred-site.xml
mv mapred-site.xml.template mapred-site.xml (進行重命名)
vi mapred-site.xml 添加以下內容 :
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>歷史服務:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>歷史服務節點主機名:19888</value>
</property>
7.配置文件 : yarn-site.xml
vi yarn-site.xml 添加如下內容 :
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ResourceManager節點主機名</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>ResourceManager節點主機名:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>ResourceManager節點主機名:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>ResourceManager節點主機名:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>ResourceManager節點主機名:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>ResourceManager節點主機名:8088</value>
</property>
<property>
<name>yarn.client.failover-proxy-provider</name>
<value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value> </property>
<property>
<name>yarn.web-proxy.address</name>
<value>ResourceManager節點主機名:9989</value>
</property>
五.Hadoop啟動【Hadoop分發到別的機器,三台機器都要有Hadoop】
1.格式化NameNode
hdfs namenode -format
註 : 如出現 [name has been successfully formated] 則格式化成功
2.啟動進程
start-dfs.sh
start-yarn.sh
3.查看節點 ------ jps
4.創建wordcount.txt 驗證Yarn
yarn jar /root/app/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /hello.txt /out/1
六.謝謝
本人還處於小白階段,可能寫的地方可能讓人晦澀,還請多見諒,我還會繼續努力!