? ? ? ?網(wǎng)上關(guān)于Mac原生系統(tǒng)CDH5搭建的千篇一律,對于Hadoop/Linux小白的我來說,終于在各種百度后,搭建CDH5成功。為了讓其他想要自學(xué)Hadoop又在網(wǎng)上四處碰壁的兄弟們少走彎路。我把我的搭建步驟和經(jīng)驗教訓(xùn)分享給大家。祝大家可以早入Hadoop的坑。
先上效果圖:
下面開始正式的教程:
? ? ? ?全是一步一步來的,所有截圖都是自己截的,而且會提到很多初學(xué)者容易犯的問題,盡可能提到每一個細節(jié)。O(∩_∩)O
1.安裝JDK
2.本地ssh登錄
打開 系統(tǒng)偏好設(shè)置-->共享 ,選中遠程登錄。
打開終端,執(zhí)行:(此步驟為生成、管理和轉(zhuǎn)換認證密鑰)
ssh-keygen -t rsa -P ""
然后執(zhí)行,會要求輸入本機密碼。
ssh localhost
輸入密碼后,如果顯示最后一次登錄時間,則登錄成功。
3.下載 CDH Hadoop 壓縮包
? ? ? ? 我這里提供的是cdh5.7.1版本,就是我親測版本。如果想下載其他版本可以到CDH5下載地址下載。
4.搭建CDH環(huán)境
? ? ?打開終端,執(zhí)行下面指令,及在User/你的用戶名/ ?下建立目錄結(jié)構(gòu)。想看發(fā)生了什么,請在執(zhí)行命令前移至你用戶名文件夾下,看變化。
mkdir -p ~/cloudera/lib ~/cloudera/cdh5.7 ~/cloudera/ops/dn ~/cloudera/ops/logs/hadoop ~/cloudera/ops/logs/hbase ~/cloudera/ops/logs/yarn ~/cloudera/nn ~/cloudera/pids ~/cloudera/tmp ~/cloudera/zk
步驟3下載的文件拷貝到User/你的用戶名/cloudera/lib目錄下,然后執(zhí)行下面指令(下面指令為解壓步驟3下載的壓縮文件):
tar -xvf hadoop-2.6.0-cdh5.7.1.tar.gz
tar -xvf hbase-1.2.0-cdh5.7.1.tar.gz
tar -xvf hive-1.1.0-cdh5.7.1.tar.gz
tar -xvf zookeeper-3.4.5-cdh5.7.1.tar.gz
可以看到lib目錄下出現(xiàn)四個解壓后的文件。然后在命令行輸入(到cdh5.7文件夾):
cd ~/cloudera/cdh5.7
然后執(zhí)行以下命令(本命令為在cdh5.7文件夾下創(chuàng)建lib中剛才解壓的四個文件夾的快捷方式):
ln -s ~/cloudera/lib/hadoop-2.6.0-cdh5.7.1 hadoop
ln -s ~/cloudera/lib/hbase-1.2.0-cdh5.7.1 hbase
ln -s ~/cloudera/lib/hive-1.1.0-cdh5.7.1 hive
ln -s ~/cloudera/lib/zookeeper-3.4.5-cdh5.7.1 zookeeper
現(xiàn)在來確認一下現(xiàn)在cloudera文件夾下目錄結(jié)構(gòu)如下(此時下載的放在lib中的壓縮文件可以刪除):
5.編輯配置文件profile
執(zhí)行下面指令:
vi ~/.bash_profile
然后進行編輯,添加下面指令在配置文件中添加PATH:
CDH="cdh5.7"
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.x_xx.jdk/Contents/Home"(這里jdk1.8.x_xx.jdk處改為你電腦的java版本,查看java版本可以用指令java -version來查看)
export HADOOP_HOME="/Users/你的用戶名/cloudera/${CDH}/hadoop"
export HBASE_HOME="/Users/你的用戶名/cloudera/${CDH}/hbase"
export HIVE_HOME="/Users/你的用戶名/cloudera/${CDH}/hive"
export HCAT_HOME="/Users/你的用戶名/cloudera/${CDH}/hive/hcatalog"
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZK_HOME}/bin:${HBASE_HOME}/bin:${HIVE_HOME}/bin:${HCAT_HOME}/bin:${PATH}
然后最容易有問題的一步來了。我在這兒耗了很長時間。/(ㄒoㄒ)/~~
分別依次執(zhí)行(!!!先看下面?zhèn)渥ⅲ?/p>
vi $HADOOP_HOME/etc/hadoop/core-site.xml
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
vi $HBASE_HOME/conf/hbase-site.xml
vi $HBASE_HOME/conf/hbase-env.sh
備注: 每執(zhí)行上面的一句 把里面的內(nèi)容替換為github上對應(yīng)文件的內(nèi)容,也可以不用vi指令修改,可以自己根據(jù)文件路徑找到對應(yīng)文件進行內(nèi)容編輯,鏈接如下:(☆☆注意一定要把文件中所有的jordanh替換為你的用戶名!!!!!因為jordanh是原作者的用戶名)
$HADOOP_HOME/etc/hadoop/core-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
$HADOOP_HOME/etc/hadoop/yarn-site.xml
$HADOOP_HOME/etc/hadoop/mapred-site.xml
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
$HBASE_HOME/conf/hbase-site.xml
6.運行
只要上面的步驟都沒有問題,那么你已經(jīng)基本成功了。
終端中執(zhí)行命令:
hdfs namenode -format
然后執(zhí)行下面命令:
vi $HADOOP_HOME/libexec/hadoop-config.sh
編輯這個文件找到# Attempt to set JAVA_HOME if it is not set這一行,把下面的幾句話改成:
啟動服務(wù)
start-dfs.sh
start-yarn.sh
start-hbase.sh
mr-jobhistory-daemon.sh start historyserver
啟動后,沒有報錯,則啟動成功。
可打開下面服務(wù)管理地址進行測試:
HDFS:http://localhost:50070/dfshealth.html
Yarn Scheduler:http://localhost:8088/cluster
Yarn NodeManager:http://localhost:8042/node
想要停止服務(wù)則輸入一下指令:
stop-all.sh
sh $HADOOP_HOME/sbin/stop-dfs.sh
sh $HADOOP_HOME/sbin/stop-yarn.sh
sh $HBASE_HOME/bin/stop-hbase.sh
到這里就結(jié)束了,有問題可以留言問我~祝大家一遍成功!