大數(shù)據(jù)學(xué)習(xí)路線分享hadoop的知識總結(jié),Hadoop的背景:原生公司是apache, cdh的cloudar公司,hortworks公司提供hdp,。 其中apache的發(fā)行版本大致有1.x ,2.x,和3.x 1、由于海量數(shù)據(jù)的誕生,,同時沒有海量數(shù)據(jù)的存儲和處理,。來源google公司的gfs,mapreduce ,bigdata。 2,、Hadoop的創(chuàng)始人是Doug cutting(據(jù)官網(wǎng)說,,是他孩子當(dāng)時玩的玩具是大象) 3、代碼起源luence ----->nutch(mapreduce,ndfs)到hadoop Hadoop1.x和2.x,3.x的區(qū)別是: 1,、x和2.x最大的區(qū)別是2.x將資源管理單獨提取出來使用yarn模塊,。2.x和3.x區(qū)別差不多,。 大數(shù)據(jù)的應(yīng)用:日志采集,推薦,。 hadoop官方的對hadoop的解釋: The Apache? Hadoop? project develops open-source software for reliable, scalable, distributed computing. hadoop框架允許使用簡單模型來分布式處理集群中海量數(shù)據(jù)集 hadoop框架設(shè)計從單臺服務(wù)器擴展成千上萬臺服務(wù)器,,每一個都能提供本地的存儲和計算。 hadoop框架設(shè)計本身就可以檢測和處理應(yīng)用層的失敗(容錯),,而不是依賴硬件,,因為集群中每一個都有可能失敗。 hadoop包括四個模塊: common : 通用工具類支持其他hadoop的模塊 hdfs (hadoop distribut file system): hadoop是分布式文件系統(tǒng),,提供高吞吐來處理應(yīng)用數(shù)據(jù) yarn : 作業(yè)調(diào)度和資源管理的框架 mapredcue : 基于yarn來并行處理海量數(shù)據(jù)集的系統(tǒng) Hadoop分為單機版,,偽分布式,全分布式,。 單機版運行在單個jvm中,,經(jīng)常用于debug 偽分布式是運行在單機上多個虛擬機上的。 全分布式就是hadoop,運行在成千上萬的集群上的,。 集群的搭建需要先安裝jdk,配置環(huán)境變量,。 把hadoop解壓安裝到/usr/local下, tar -zxvf /homo/hadoop-2.9.1.tar.gz -C /usr/local Bin:操作hdfs 和mapreduce的可執(zhí)行命令 Sbin:啟停hadoop相關(guān)服務(wù)的可執(zhí)行命令 Etc:hadoop相關(guān)配置文件目錄 Lib ,libexec:相關(guān)執(zhí)行或擴展庫 Share:源碼,,文檔和測試案例 然后配置環(huán)境變量,。 Vi /etc/profile export HADOOP_HOME=/usr/local/hadoop-2.7.1/ export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin: Source /etc/profile //使配置生效 vi ./etc/hadoop/hadoop-env.sh 告訴hadoop的jdk目錄 export JAVA_HOME=/usr/local/jdk1.8.0_152/ 配置ssh免密登錄:在hadoop上免密登錄到其他的機器上。 1,、在hadoop01上生成公司密鑰對(). ssh-keygen -t rsa 2,、將hadoop01的公鑰拷貝到想免登陸的服務(wù)器中(hadoop02). ssh-copy-id hadoop02 3、hadoop01給hadoop02發(fā)出請求信息,,hadoop02接到去authorithd_keys找對應(yīng)的ip和用戶名,, 能找到則用其對應(yīng)公鑰加密一個隨機字符串(找不到則輸入密碼),然后將加密的隨機字符串返回給hadoop01,hadoop01 接到加密后的字符然后用自己的私鑰解密,,然后再發(fā)給HAdoop02,hadoop02判斷和加密之前的是否一樣,, 一樣則通過登錄,如果不一樣則拒絕,。 如果window中用私鑰登錄,。需要從登錄服務(wù)器中拉去對應(yīng)用戶的私鑰(服務(wù)器中用戶的家目錄下的.ssh下的id_rsa) 放到windon中的某個目錄,然后使用xshell進行私鑰登錄,。 安裝Zookeeper: zookeeper安裝: 1,、上傳并解壓 tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local vi /etc/profile source /etc/profile 2、配置zookeeper的配置文件 cp zoo_sample.cfg zoo.cfg vi zoo.cfg # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/usr/local/zookeeper-3.4.10/zkdata #Add server.1=hadoop01:2888:3888 server.2=hadoop02:2888:3888 server.3=hadoop03:2888:3888 3,、創(chuàng)建數(shù)據(jù)目錄zkdata 4,、在zkdata下生成myid文件 5、分發(fā)zookeeper scp -r zookeeper-3.4.10 root@hadoop02:$PWD scp -r zookeeper-3.4.10 root@hadoop03:$PWD 6、到hadoop02,、03機器上分別修改myid號 7,、啟動zookeeper進程 $ZOOKEEPER_HOME/bin/zkServer.sh start $ZOOKEEPER_HOME/bin/zkServer.sh status 8、配置zookeeper的環(huán)境變量 vi $ZOOKEEER_HOME/bin/zkEnv.sh 9,、客戶端的測試 bin/zkCli.sh help 在機器上規(guī)劃模塊的分配 hadoop01 192.168.137.81 datanode nodemanager zookeeper qjounalnode namenode resourcemanager zkfc hadoop02 192.168.137.82 datanode nodemanager zookeeper qjounalnode namenode resourcemanager zkfc hadoop03 192.168.137.83 datanode nodemanager zookeeper qjounalnode 然后配置hdfs-site,xml文件,,core-site.xml 和yarn.xml,mapreduce-site.xml文件,。 啟動命令:start-all.sh 全啟動(是啟動hdfs和yarn的模塊的所有服務(wù)) 停止命令:stop-all.sh 全停止(停止hdfs和yarn的模塊的所有服務(wù)) Start-dfs.sh hdfs的模塊啟動 Stop-dfs.sh hdfs的模塊的停止 啟動命令:start-all.sh 全啟動(是啟動hdfs和yarn的模塊的所有服務(wù)) 停止命令:stop-all.sh 全停止(停止hdfs和yarn的模塊的所有服務(wù)) Start-dfs.sh hdfs的模塊啟動 Stop-dfs.sh hdfs的模塊的停止 Start-yarn.sh yarn的模塊啟動 Stop-yarn.sh yarn的模塊的停止 單個啟動: hadoop-daemon.sh start/stop namenode :啟動單個namenode hadoop-daemons.sh start/stop namenode :啟動多個namenode hadoop-daemon.sh start/stop datanode :啟動單個datanode hadoop-daemons.sh start/stop datanode :啟動多個datanode hadoop-daemon.sh start/stop secondarynamenode :啟動單個secondarynamenode hadoop-daemons.sh start/stop secondarynamenode :啟動多個secondarynamenode yarn-daemon.sh start/stop resourcemanager 如果是第一次啟動集群的話,,一定要嚴格遵循一下流程: 1、啟動zookeeper集群(自己實現(xiàn)一個批量啟動zk的腳本) 2,、啟動qjounalnode(在3臺機器上都要啟動) /usr/local/hadoop-2.7.1/sbin/hadoop-daemon.sh start journalnode 3,、格式化hdfs hdfs namenode -format 4、單機啟動namenode hadoop-daemon.sh start namenode 5,、數(shù)據(jù)同步 1,、scp -r /usr/local/hadoopdata/dfs / 2、hdfs namenode -bootstrapStandby (在hadoop02上進行數(shù)據(jù)同步,,就是把namenode復(fù)制到第二臺機器上去) 6,、格式化zkfc hdfs zkfc -formatZK 7、啟動hdfs集群 start-dfs.sh 8,、啟動yarn集群 start-yarn.sh 這樣集群就搭建好了,。(注意配置文件的注釋不要寫錯沒有空格) |
|