HADOOP及SPARK安裝步驟及問題解決


說明:主節點IP:192.168.35.134   主機名:master

        從節點slave1 IP: 192.168.35.135   主機名:slave1

        從節點slave2 IP: 192.168.35.136   主機名:slave2

1、檢查環境,安裝JDK:

    Linux系統:用root用戶登陸到系統,用如下命令查看當前安裝jdk情況:

rpm -qa|grep jdk

    顯示:java version "1.8.0_131"  若版本過低,用如下命令卸載jdk:

 rpm -e  --nodeps  jdk1.8.0_131

   下載好jdk安裝包,使用WinSCP工具將安裝包上傳到主節點目錄下。切換至用戶模式:su - 用戶名(如test)。

   新建用戶組:

groupadd hadoop

   新建用戶:

useradd hadoop

   新建jdk安裝目錄:

mkdir /home/java;

   執行命令:

tar -zxvf jdk-8u131-linux-x64.tar.gz -C /home/java

  將jdk安裝在指定目錄/home/java下。等待安裝,安裝完后配置jdk環境變量,配置在/home/test/.bash_profile。

  執行命令:

vim /home/test/.bash_profile

 鍵盤按“i”,進入編輯模式,在下方新增如下內容:

export JAVA_HOME=/home/java/jdk1.8.0_131
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

鍵盤按“:wq!”保存更改的配置項。終端輸入:

source /home/test/.bash_profile

 檢查jdk是否安裝成功,終端輸入:

java -version

 顯示:則表明安裝成功。

2、配置主機名(root身份):

vim /etc/sysconfig/network

 修改如下信息:

NETWORKING=yes 
HOSTNAME=master

 檢查是否成功:

hostname

 顯示:master。則表示配置成功。其他從節點主機名均修改成相應的主機名。

3、配置host列表(root身份):

vim /etc/hosts

 將下面內容添加至文件中:

192.168.35.134 master
192.168.35.135 slave1
192.168.35.136 slave2

 住:若不知道本機ip地址,可使用命令:ipconfig或 ip addr show查看。

3、配置時鍾同步(root身份),請參考這篇文章:

4、關閉防火牆(root身份):

查看防火牆狀態,如下命令,若iptables已開啟,需關閉防火牆。

 service iptables status

 關閉防火牆命令:

chkconfig iptables off

 5、各服務器節點之間配置SSH免密登錄(用戶身份登錄):

終端輸入:

ssh-keygen -t rsa

 在各節點分別進入/home/hadoop/.ssh目錄,在三個節點中分別把公鑰id_rsa.pub命名為authorized_keys_master、authorized_keys_slave1authorized_keys_slave2,使用命令如下:

cd /home/hadoop/.ssh
cp id_rsa.pub authorized_keys_hadoop1

 把兩個從節點(slave1、slave2)的公鑰使用scp命令傳送到master節點的/home/hadoop/.ssh文件夾中;

scp authorized_keys_slave1 hadoop@master:/home/hadoop/.ssh--在slave1節點上執行該條命令;
scp authorized_keys_slave2 hadoop@master:/home/hadoop/.ssh--在slave2節點上執行該條命令;

 在主節點上把三個節點的公鑰信息保存到authorized_keys文件中,主節點終端輸入如下命令:

cat authorized_keys_master >> authorized_keys
cat authorized_keys_slave1 >> authorized_keys
cat authorized_keys_slave2 >> authorized_keys

 把authorized_keys文件分發到其他兩個從節點上,使用如下命令:

scp authorized_keys hadoop@slave1:/home/hadoop/.ssh
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh

 在三台機器中使用如下設置authorized_keys讀寫權限

chmod 400 authorized_keys

 測試ssh免密碼登錄是否生效:

ssh slave1
ssh slave2

能跳轉至其他節點,則表明免密已生效,exit命令退出。

6、安裝hadoop:

     同樣使用WinSCP工具將hadoop安裝包上傳到主節點目錄下,新建hadoop安裝目錄:

mkdir /home/hadoop

 執行命令:

tar -zxvf hadoop-2.8.2.tar.gz -C /home/hadoop

等待安裝,安裝后,配置環境變量。

6.1 配置hadoop-env.sh環境變量,執行命令:

vim /home/hadoop/hadoop-2.8.2/etc/hadoop/hadoop-env.sh

 找到如下一行代碼:

export JAVA_HOME=${JAVA_HOME}

 將其改為:

export JAVA_HOME=/home/java/jdk1.8.0_131

 保存即可。

6.2 配置yarn-env.sh環境變量

6.3 配置組件core-site.xml

6.4 配置文件系統hdfs-site.xml

6.5 配置文件系統yarn-site.xml

6.6 配置計算框架mapred-site.xml

6.7 配置從節點文件slaves

6.8 將上述安裝好的hadoop復制到slave1和slave2節點。

6.9 配置hadoop系統環境變量

6.10 創建數據目錄

6.11 格式化文件系統

6.12 啟動hadoop集群

7、安裝spark

8、問題及解決方法

問題一:hadoop的集群無法正常啟動,其中jps命令錯誤。

分析原因:可能是.bash_profile文檔需要重新source。Source的功能就是通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄。(說明白點就是讓修改過的文檔重新生效)

解決方案:source下.bash_profile文件。

問題二:Spark提交Pi應用報錯,日志顯示:ERROR yarn.ApplicationMaster: Uncaught exception: java.lang.ClassNotFoundException: org.apache.spark.examples.SparkPi

分析原因:是jar包有問題

解決方案:換一個好的jar包再執行正確。

問題三:hadoop運行pi任務失敗,日志顯示:

ERROR client.TransportClient: Failed to send RPC 6920585401247025097 to /192.168.42.162:60956: java.nio.channels.ClosedChannelException
java.nio.channels.ClosedChannelException
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)

分析原因:內存溢出

解決方案:在yarn-site.xml中增加兩個配置項:

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
說明:yarn.nodemanager.vmem-check-enabled是否啟動一個線程檢查每個任務正使用的虛擬內存量,如果任務超出分配值,則直接將其殺掉,默認是true。
問題四:啟動hadoop后,Spark提交Pi應用報錯,日志顯示:
pplication application_1511319158710_0002 failed 2 times due to AM Container for appattempt_1511319158710_0002_000002 exited with  exitCode: 10
Failing this attempt.Diagnostics: Exception from container-launch.
Container id: container_1511319158710_0002_02_000001
Exit code: 10

分析原因:yarn-site.xml中value配置有空格

解決方案:yarn-site.xml中value配置不能有空格;

 
 
 
        
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM