搭建Hadoop平臺

搭建Hadoop平臺

1. 安裝Hadoop和JDK

  1. 首先大家要有Hadoop的Linux版本和JDK1.8,可以在官方網站上下載

  2. 下載完成後解壓到指定的位置
    在這裏插入圖片描述

  3. 在這裏首先清除之前系統自帶的JDK,這裏我使用的是

sudo yum -y remove java
  1. 然後就是配置JDK和Hadoop的系統配置
sudo vi /etc/profile

## 詳細的配置如下所示

##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  1. 然後讓配置文件生效
source /etc/profile

2. 準備三個虛擬機

假設我們之前已經配置好一臺虛擬機,此時我們將它克隆三個

  1. 克隆好三臺虛擬機後,我們首先要進行網絡配置
vim /etc/udev/rules.d/70-persistent-net.rules

進入後就是個樣子,然後我們把上面的 ‘eth0’那行刪掉,把下面‘eth1’改爲‘eth0’,並且複製記下ATTR{address}列
在這裏插入圖片描述

  1. 設置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0

進入後,將剛纔複製的ATTR{address}粘貼到HWADDR,設置對應的IPADDR
在這裏插入圖片描述

DEVICE(接口名,默認eth0)
HWADDR(MAC地址,默認)
TYPE(網絡類型,默認Ethernet)
UUID(隨機id,不用管它)
ONBOOT(系統啓動時網絡接口是否有效;默認是no,改爲yes)
BOOTPROTO(IP的配置方法,後面需要用固定ip連接虛擬機,所以設置爲靜態ip,改爲static),
IPADDR(虛擬機的IP地址,手動添加,注意網段要與win中ip網段一致)
  1. 設置主機名
vim /etc/sysconfig/network

在這裏插入圖片描述
每臺主機設置不同的主機名
在 vim /etc/hosts 中設置好對應,方便直接用名字連接

  1. 關閉防火牆
查看防火牆
service iptables status
關閉防火牆
service iptables stop
查看防火牆開機啓動狀態
chkconfig iptables --list
關閉防火牆開機啓動
chkconfig iptables off
  1. 給予用戶root權限
vim  /etc/sudoers 加入一行

hadoop(此爲用戶名hadoop)  ALL=(ALL)  NOPASSWD:ALL

做完,記得重啓!

到這裏,大家就可以Ping一下了看三臺機子之間通不通

3. 配置集羣

  1. 集羣部署規劃
hadoop101 hadoop102 hadoop103
HDFS NameNode,DataNode DataNode SecondaryNameNode,DataNode
YARN NodeManager ResourceManager,NodeManager NodeManager
  1. 核心文件
    配置core-site.xml
    [waectr@hadoop101 hadoop]$ vi core-site.xml
在該文件中編寫如下配置
<!-- 指定HDFS中NameNode的地址 -->
<property>
		<name>fs.defaultFS</name>
      <value>hdfs://hadoop101:9000</value>
</property>

<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
  1. HDFS配置文件
配置hadoop-env.sh
[atguigu@hadoop102 hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置hdfs-site.xml
[atguigu@hadoop102 hadoop]$ vi hdfs-site.xml
在該文件中編寫如下配置
<property>
		<name>dfs.replication</name>
		<value>3</value>
</property>

<!-- 指定Hadoop輔助名稱節點主機配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop103:50090</value>
</property>
  1. YARN配置文件
配置yarn-env.sh
[atguigu@hadoop102 hadoop]$ vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml
[atguigu@hadoop102 hadoop]$ vi yarn-site.xml
在該文件中增加如下配置
<!-- Reducer獲取數據的方式 -->
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop102</value>
</property>
  1. MapReduce配置文件
配置mapred-env.sh
[atguigu@hadoop102 hadoop]$ vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置mapred-site.xml
[atguigu@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml

[atguigu@hadoop102 hadoop]$ vi mapred-site.xml
在該文件中增加如下配置
<!-- 指定MR運行在Yarn上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>
  1. 發送出去
    sudo scp -r xxx root@hadoop103:xxx

4. 配置SSH

找到家目錄下的.shh文件夾(這是一個影藏的文件夾)
在這裏插入圖片描述
生成祕鑰的指令時

ssh-keygen -t rsa

然後分發出去

ssh-copy-id hadoop102

爲每個服務器都配置

5. 集羣羣起

啓動集羣前要先格式化集羣,注意格式化之前,一定要先停止上次啓動的所有namenode和datanode進程,然後再刪除data和log數據,用jps查看現在的java進程

bin/hdfs namenode -format

啓動HDFS,啓動的時候在NameNode配置的機器上羣起HDFS

start-dfs.sh   /  stop-dfs.sh

啓動Yarn,啓動的時候在ResouceManager配置的機器上啓動Yarn

start-yarn.sh  /  stop-yarn.sh

注:以上羣起的時候都要配置SSH連接

此時集羣啓動完成,要在 http://hadoop101:50070/dfshealth.html#tab-startup-progress 上查看HDFS的信息

HDFS的相關操作

這裏在網上查詢了相關的操作指令做了整理

上傳文件到集羣
  1. 上傳小文件
hdfs dfs -mkdir -p /user/atguigu/input
hdfs dfs -put wcinput/wc.input /user/atguigu/input
  1. 上傳大文件
bin/hadoop fs -put  /opt/software/hadoop-2.7.2.tar.gz  /user/atguigu/input
上傳文件後查看文件存放在什麼位置

查看HDFS在磁盤存儲文件內容

cat blk_1073741825
下載
bin/hadoop fs -get  /user/atguigu/input/hadoop-2.7.2.tar.gz ./
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章