hadoop spark 大資料叢集環境搭建(一)
大資料雲端計算現在比較熱門,未來的一個發展方向,在此分享下技術,有不對的地方歡迎指出
1、軟體環境(會分享到網盤)
centos6.5
jdk1.7
hadoop2.4.1(這裡只用到hdfs,namenode不走ha)
zookeeper3.4.5
spark1.3.0(直接從官網下載已經編譯好的32bit)
scala 2.10.4
2、軟體安裝
軟體分配 主機名稱 安裝軟體 備註 pc-01 jdk、hadoop、zookeeper、scala、spark 主節點 pc-02 jdk、hadoop、zookeeper、scala、spark 從節點 pc-03 jdk、hadoop、zookeeper、scala、spark 從節點
2.1 JDK ( jdk-7u79-linux-i586.tar.gz 下載後解壓到指定目錄,然後修改 /etc/profile環境變數,之後的環境變數配置參考這裡)
/etc/profile 增加
export JAVA_HOME=/usr/local/cloud/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin
重新整理配置 source /etc/profile
驗證安裝成功 java -version (顯示正確版本號既是成功)
2.2 hadoop、zookeeper 安裝
2.2.1 配置SSH免登入(這部有必要配置,可以省去中間要輸入密碼的痛苦)
2.2.2 下載安裝hadoop(hadoop-2.4.1.tar.gz 下載後解壓到指定目錄,然後修改 /etc/profile環境變數),然後修改以下幾個配置檔案
第一個檔案:/hadoop-2.4.1/etc/hadoop/hadoop-env.sh
修改:export JAVA_HOME=/usr/local/cloud/java/jdk1.7.0_79 #這裡是你的JAVA_HOME目錄(which java 命令可以檢視)
第二個檔案:/hadoop-2.4.1/etc/hadoop/core-site.xml
增加:(備註:lz200,lz201.這些是主機名稱)
<configuration> <!-- 制定HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://lz200:9000</value> </property> <!-- 指定hadoop執行時產生檔案的儲存目錄 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/cloud/hadoop/hadoop-2.4.1/tmpDir</value> </property> <!-- 指定zookeeper地址 --> <property> <name>ha.zookeeper.quorum</name> <value>lz200:2181,lz201:2181,lz202:2181</value> </property> </configuration>
第三個檔案:/hadoop-2.4.1/etc/hadoop/hdfs-site.xml
增加:
<configuration> <!-- 指定HDFS副本的數量 --> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
第四個檔案:/hadoop-2.4.1/etc/hadoop/yarn-site.xml
增加:
<configuration> <!-- 指定YARN的老大(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>lz200</value> </property> <!-- reducer獲取資料的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
第五個檔案:/hadoop-2.4.1/etc/hadoop/mapred-site.xml (mapred-site.xml.template 把這個檔案去掉template即可)
增加
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
第六個檔案:/hadoop-2.4.1/etc/hadoop/slaves(把localhost去掉)
增加你叢集其它的主機名(每個主機要換行)
pc-01
2.2.3 格式化hdfs (在你的主節點機器上執行)pc-02
2.2.4 安裝zookeeper( zookeeper-3.4.5.tar.gz 下載後解壓到指定目錄) ,配置二個地方執行命令:hadf namenoade -format
配置 一:/zookeeper-3.4.5/conf/zoo.cfg(zoo_sample.cfg 把這個檔案_sample去掉即可)兩個地方
第一個地方:修改dataDir=/usr/local/cloud/zookeeper/zookeeper-3.4.5/dataDir #值是你自定義的目錄,裡面要放一個myid的檔案
第二個地方:增加以下內容(lz200是你的主從節點的名稱)server.1=lz200:2888:3888server.2=lz201:2888:3888server.3=lz202:2888:3888注意:以上server後面的數字和你主從節點的myid是一樣的,意思是機器lz200的/usr/local/cloud/zookeeper/zookeeper-3.4.5/dataDir目錄裡面有一個檔案叫myid,內容只有“1” 和server後面的數字是一樣的
配置二:安照配置一增加myid檔案
2.2.5 格式化zk(在你的主節點機器上執行)
2.3 測試hdfs、zk執行命令:hadf zkfc -formatZK
2.3.1啟動zk,主從機器分別執行命令:/zookeeper-3.4.5/bin/zkServer.sh start
jps檢視會有程序:QuorumPeerMain
2.3.2 啟動hdfs,主節點機器執行命令:/hadoop-2.4.1/sbin/start-dfs.sh
jps檢視,主節點機器會有程序:NameNode SecondaryNameNode
從節點機器會有程序:DataNode
2.3.3 測試上傳檔案到hdfs 執行命令:hadoop fs -put 本地檔案路徑 hdfs檔案路徑
比如:hadoop fs -put /usr/local/aaa.txt /test 意思把aaa檔案上傳到hdfs的test目錄下
驗證是否成功:通過瀏覽器檢視:http://主節點IP:50070/explorer.html#hdfs檔案路徑
比如http://lz200:50070/explorer.html#/test 可以看到上傳的aaa.txt檔案