搜尋此網誌

顯示具有 HADOOP_SPARK 標籤的文章。 顯示所有文章
顯示具有 HADOOP_SPARK 標籤的文章。 顯示所有文章

2016年12月30日 星期五

編譯 WordCount 遭遇到 JAVA 問題時


當 編譯 WordCount 時,一開始我們需要去修改 bashrc 環境
但是 JRE 環境是不能編譯的,會遭遇到 JAVA 錯誤。
由於我是安裝 OPENJDK 而非 ORACLE 的 JDK,
所以環境變數應該寫成這樣子:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64

2016年12月22日 星期四

利用 ssh-add 重新建立 ssh 免密碼登入

安裝 HADOOP 或者 SPARK 時候,都會需要建立 ssh 免密碼登入
但是當有時候改變了 hostname 主機之後,會發現需要重新打 keys
但有時候會發生 打完 keys 了,卻還不能夠成功 ssh 免密碼登入
這時候在 master 上利用以下指令
ssh-add

然後再重新反覆檢查是否能免密碼登入

2016年12月21日 星期三

啟動 Hadoop 之後Nodes of cluster 網頁卻沒有顯示任何 nodes

原因出在於 master 的主機上, /usr/local/hadoop/etc/hadoop/yarn-site.xml 內容
應該要出現以下完整內容才對:
確認好 master 的 yarn-site.xml 都複製到 data1, data2, data3 再重新啟動 YARN 。

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</n$
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8050</value>
</property>


啟動 Hadoop 之後 Datanode 網頁卻沒有顯示任何 datanode 主機

原因出在於 master 的主機上,/usr/local/hadoop/etc/hadoop/core-site.xml 內容
應該寫 hdfs://master:9000 才對,而不是 hdfs://localhost:9000

<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>

存檔好之後,從 master 主機上以 start-dfs.sh 啟動 HDFS
然後以 netstat -nap | grep 9000 指令檢查,應該出現以下範例:
呈現出其他的 datanode 主機與 master 之間連線狀態
tcp        0      0 192.168.101.220:9000    0.0.0.0:*               LISTEN      9563/java           
tcp        0      0 192.168.101.220:9000    192.168.101.222:58906   ESTABLISHED 9563/java           
tcp        0      0 192.168.101.220:9000    192.168.101.223:44318   ESTABLISHED 9563/java           
tcp        0      0 192.168.101.220:9000    192.168.101.221:38566   ESTABLISHED 9563/java           
tcp        0      0 192.168.101.220:40798   192.168.101.220:9000    TIME_WAIT   -      

回到 http://localhost:50070 網頁上,Datanode Information 會成功列出現有的 Datanode information

Hadoop在主機重開機後,解決 namenode 無法啟動的問題

只要每次重開機後,執行 start-dfs.sh 啟動 Hadoop 服務,以 jps 去檢查時,會看不到Namenode,
這時可能的原因是沒在 core-site.xml 中設定 hadoop.tmp.dir。

解決方法是
先建立 hadoop 帳號下一個臨時資料匣,例如:
/home/hadoop/hadoop_tmp

在 /usr/local/hadoop/etc/hadoop/core-site.xml 中設定 hadoop.tmp.dir 來指定Hadoop的暫存資料夾:
<property>
   <name>hadoop.tmp.dir</name>
   <value>/home/hadoop/hadoop_tmp</value>
</property>

設定完成後,再執行hadoop namenode -format,
下次重新啟動後,再啟動DFS後,Namenode就會正常啟動。

如果要馬上驗證,可以下 start-dfs.sh 之後,以 jps 去檢查。
例如看到:
7734 Jps
6584 SecondaryNameNode
7404 ResourceManager
6237 NameNode

- The End -





缺少 JPS - Java Virtual Machine Process Status Tool 時

缺少 Java Virtual Machine Process Status Tool 這個 jps 工具時候,
只要安裝 jdk 開發工具就可以了。

yum install java-x.x.x-openjdk-devel.x86_64


搜尋此網誌