hadoop分布式的搭建過程
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分布式的搭建過程