您好,登錄后才能下訂單哦!
1.hadoop介紹
Hadoop是Apache軟件基金會旗下的一個開源分布式計算平臺。以Hadoop分布式文件系統(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實現)為核心的Hadoop為用戶提供了系統底層細節透明的分布式基礎架構。
對于Hadoop的集群來講,可以分成兩大類角色:Master和Salve。一個HDFS集群是由一個NameNode和若干個DataNode組成的。其中NameNode作為主服務器,管理文件系統的命名空間和客戶端對文件系統的訪問操作;集群中的DataNode管理存儲的數據。MapReduce框架是由一個單獨運行在主節點上的JobTracker和運行在每個集群從節點的TaskTracker共同組成的。主節點負責調度構成一個作業的所有任務,這些任務分布在不同的從節點上。主節點監控它們的執行情況,并且重新執行之前的失敗任務;從節點僅負責由主節點指派的任務。當一個Job被提交時,JobTracker接收到提交作業和配置信息之后,就會將配置信息等分發給從節點,同時調度任務并監控TaskTracker的執行。
從上面的介紹可以看出,HDFS和MapReduce共同組成了Hadoop分布式系統體系結構的核心。HDFS在集群上實現分布式文件系統,MapReduce在集群上實現了分布式計算和任務處理。HDFS在MapReduce任務處理過程中提供了文件操作和存儲等支持,MapReduce在HDFS的基礎上實現了任務的分發、跟蹤、執行等工作,并收集結果,二者相互作用,完成了Hadoop分布式集群的主要任務。
1.2環境說明
master 192.168.0.201
slave 192.168.0.220
兩個節點都是CentOS7
1.3環境準備
永久關閉防火墻和selinux
systemctl disable firewalld systemctl stop firewalld setenforce 0
1.4網絡配置
兩臺修改主機名:master/salve
設置hosts,能互相解析
1.5配置ssh互信
master yum -y install sshpass ssh-keygen 一路回車 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.220 slave yum -y install sshpass ssh-keygen 一路回車 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.201 測試ssh對方主機,不提示輸入密碼則OK
2.安裝JDK
兩臺機器都裝
tar zxvf jdk-8u65-linux-x64.tar.gz mv jdk1.8.0_65 /usr/jdk
2.1設置環境變量
兩臺機器都設置
export JAVA_HOME=/usr/jdk export JRE_HOME=/usr/jdk/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 執行 source /etc/profile
3.測試JDK
java -version
3.1安裝Hadoop
官方網站下載CDH-2.6-hadoop:archive.cloudera.com/cdh6
tar zxvf hadoop-2.6.0-cdh6.4.8.tar.gz mv hadoop-2.6.0-cdh6.4.8 /usr/hadoop cd /usr/hadoop mkdir -p dfs/name mkdir -p dfs/data mkdir -p tmp
3.2添加slave
cd /usr/hadoop/etc/hadoop vim slaves 192.168.0.220 #添加slaveIP
3.3修改hadoop-env.sh和yarn.env.sh
vim hadoop-env.sh / vim yarn-env.sh export JAVA_HOME=/usr/jdk #加入java變量
3.4修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.0.201:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> </configuration>
3.5修改hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/usr/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.0.201:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration> </configuration>
3.6修改mapred-site.xml
configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.0.201:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.0.201:19888</value> </property> </configuration>
3.7修改yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>192.168.0.201:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.0.201:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.0.201:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>192.168.0.201:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>192.168.0.201:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>768</value> </property> </configuration>
4.把配置文件拷貝到slave端
scp -r /usr/hadoop root@192.168.0.220:/usr/
5.格式化nanenode
./bin/hdfs namenode -format
5.1啟動hdfs
./sbin/start-dfs.sh$ ./sbin/start-yarn.sh
5.2檢查啟動情況
輸入192.168.0.201:8088
輸入網址:192.168.0.201:9001
配置文件詳解:
core-site.xml
hadoop.tmp.dir hadoop文件系統依賴的基礎配置,很多路徑都依賴它。如果hdfs-site-xml中不配置namenode 和datanode的存放位置,默認就放在這個路徑下 fs.defaultFS 這里的值指的是默認的HDFS路徑。這里只有一個HDFS集群,在這里指定!
hdfs-site.xml
dfs.replication 指定DataNode存儲block的副本數量。默認值是3個,我們現在有4個DataNode,該值不大于4即可
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。