1. 程式人生 > >hadoop分布式的搭建過程

hadoop分布式的搭建過程

temp emp 語言 pro 取數 回車 auth cin java環境

Hadoop的搭建過程全紀錄

1、 虛擬機的安裝

這裏采用vm虛擬機,安裝過程網上有很多,可以自行查看

2、 安裝linux系統

采用Centos 7作為linux系統,註意選擇語言和時間

建立root用戶,密碼設置為root

3、 JDK的安裝

下載好jdk

解壓 tar -zxvf jdk-7u71-linux-x64.gz -C /usr/local

mv jdk1.7.0_71 jdk

打開/etc/profile 配置java環境變量

vim /etc/profile

按i進入插入模式,在後面添加如下語句

export JAVA_HOME=/usr/local/jdk

export PATH=PATH:$JAVA_HOME/bin

按esc再按:輸入wq保存退出

執行 source /etc/profile 使其生效

輸入java -version

出現以下提示則表明安裝成功

java version "1.7.0_71"

Java(TM) SE Runtime Environment (build 1.7.0_71-b13)

Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

4、 hadoop搭建

三臺機器

查看這個機器的ip地址

Ifconfig

Master

192.168.32.127

Namenode

Resourcemanager

Slave1

192.168.32.128

Datanode

Nodemanager secondarynamenode

Slave2

192.168.32.129

datanode

nodemanager

設置主機名

vim /etc/hostname

刪除裏面的內容並分別設置成

master

slave1

slave2

修改hosts,建立主機名和ip地址的映射,每一個占一行

vim /etc/hosts

192.168.32.127 master

192.168.32.128 slave1

192.168.32.129 slave2

配置ssh

ssh-keygen -t rsa

連續4個回車

會root目錄生成兩個文件,一個公鑰一個私鑰

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

這樣會在slave1 的/root/.ssh/目錄下生成一個authorized_keys 就可以實現master免登錄到slave1,如下:

ssh slave1

如不需要輸入密碼,則配置ssh成功

下載好hadoop安裝包,並解壓,這句話的意思是將hadoop安裝包解壓到 /opt/soft/目錄下

tar -zxvf ./hadoop-2.7.2.tar.gz -C /opt/soft/

將解壓後的修改個名字(可以不用做,只是為了方便)

mv hadoop-2.7.2 hadoop

修改hadoop的配置文件群

vi /hadoop/ect/hadoop/hadoop-env.sh

設置JAVA_HOME=/usr/local/jdk

vi core-site.xml

<configuration>

<!-- 指定HDFS老大(namenode)的通信地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<!-- 指定hadoop運行時產生文件的存儲路徑 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/soft/hadoop/tmp</value>

</property>

</configuration>

vi hdfs-site.xml

<configuration>

<!-- 設置namenode的http通訊地址 -->

<property>

<name>dfs.namenode.http-address</name>

<value>master:50070</value>

</property>

<!-- 設置secondarynamenode的http通訊地址 -->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>slave1:50090</value>

</property>

<!-- 設置namenode存放的路徑 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>/opt/soft/hadoop/name</value>

</property>

<!-- 設置hdfs副本數量 -->

<property>

<name>dfs.replication</name>

<value>2</value>


</property>

<!-- 設置datanode存放的路徑 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>/opt/soft/hadoop/data</value>

</property>

</configuration>

mapred-site.xml

沒有這個文件,所以先要進行修改

mv mapred-site.xml.template mapred-site.xml

<configuration>

<!-- 通知框架MR使用YARN -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

yarn-site.xml

<configuration>

<!-- 設置 resourcemanager 在哪個節點-->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property>

<!-- reducer取數據的方式是mapreduce_shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

slaves這占一行,表明datanode節點

slave1

slave2

以上操作完成之後,將jdk和hadoop分別copy到slave1和slave2節點上

copy jdk

scp /usr/local/jdk slave1:/usr/local/

scp /usr/local/jdk slave2:/usr/local/

copy hadoop

scp /opt/soft/* slave1:/opt/soft/

scp /opt/soft/* slave2:/opt/soft/

接著就是格式化

hadoop namenode –format

然後啟動hadoop,在hadoop目錄下

啟動hdfs(nn,dn)

bin/start-dfs.sh

輸入jps,會有以下進程

在master上

Jps

namenode

在slave1 和slave2上

Jps

datanode

啟動yarn

bin/start-yarn.sh

輸入jps,此時以下進程

在master上

Jps

Namenode

Resourcemanager

Secondarynamenode

再slave1和slave2上

Jps

Datanode

Nodemanager

至此就配置完成了

hadoop分布式的搭建過程