日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop和spark搭建记录

發布時間:2025/4/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop和spark搭建记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因玩票需要,使用三臺搭建spark(192.168.1.10,192.168.1.11,192.168.1.12),又因spark構建在hadoop之上,那么就需要先搭建hadoop。歷經一個兩個下午,終于搭建完成,特記錄如下。

準備工作

1. jdk已經安裝。

2. 文件下載

? ??http://pan.baidu.com/s/1o6mydYi

  包含scala,hadoop,spark

3. ssh無密碼認證

? ? 三臺互相無密碼認證步驟:

 第一步,生成rsa公約私鑰:

[root@jw01 .ssh]# ssh-keygen -t rsa [root@jw02 .ssh]# ssh-keygen -r rsa [root@kt01 .ssh]# ssh-keygen -t rsa [root@kt02 .ssh]# ssh-keygen -t rsaGenerating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): #回車代表無需密碼登陸 Enter passphrase (empty for no passphrase): #回車 Enter same passphrase again: #回車 Your identification has been saved in /root/.ssh/id_rsa. #代表私鑰 Your public key has been saved in /root/.ssh/id_rsa.pub. #代表公鑰 The key fingerprint is: 04:45:0b:47:10:92:0c:b2:b9:d7:11:5b:49:05:e4:d9 root@jw01

第二步,將192.168.1.11,192.168.1.12兩臺生成的公鑰id_rsa.pub重命名id_rsa.pub_11,id_rsa.pub_12傳送到192.168.1.10的/root/.ssh/目錄下,

然后在192.168.1.10上將所有公鑰加到用于認證的公鑰文件authorized_keys(若沒有該文件,則下面的命令會生成文件)中,命令為:

cat ~/.ssh/id_rsa.pub* >> ~/.ssh/authorized_keys

第三步:將192.168.1.10上的文件分布復制到192.168.1.11,192.168.1.12兩臺機器的/root/.ssh/目錄下

最后測試,是否可以使用ssh ip地址互相登陸。

環境準備

修改主機名

我們將搭建1個master,2個slave的集群方案。首先修改主機名vi /etc/hostname,在master上修改為master,其中一個slave上修改為slave1,另一個同理。

配置hosts

在每臺主機上修改host文件

vi /etc/hosts192.168.1.10 master 192.168.1.11 slave1 192.168.1.12 slave2

hadoop安裝

1.解壓

tar -zxvf hadoop-2.6.0.tar.gz

2.修改配置文件

? 參考文獻【1】所示

在機器192.168.1.10(master)上進入hadoop配置目錄,需要配置有以下7個文件:hadoop-env.sh,yarn-env.sh,slaves,core-site.xml,hdfs-site.xml,maprd-site.xml,yarn-site.xml

  • 在hadoop-env.sh中配置JAVA_HOME

    # The java implementation to use. export JAVA_HOME=/home/spark/workspace/jdk1.7.0_75
  • 在yarn-env.sh中配置JAVA_HOME

    # some Java parameters export JAVA_HOME=/home/spark/workspace/jdk1.7.0_75
  • 在slaves中配置slave節點的ip或者host,

    192.168.1.11 192.168.1.12
  • 修改core-site.xml

    <configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000/</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/spark/workspace/hadoop-2.6.0/tmp</value></property> </configuration>
  • 修改hdfs-site.xml

    <configuration><property><name>dfs.namenode.secondary.http-address</name><value>master:9001</value></property><property><name>dfs.namenode.name.dir</name><value>file:/home/spark/workspace/hadoop-2.6.0/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/spark/workspace/hadoop-2.6.0/dfs/data</value></property><property><name>dfs.replication</name><value>3</value></property> </configuration>
  • 修改mapred-site.xml

    <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>
  • 修改yarn-site.xml

    <configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.resourcemanager.address</name><value>master:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>master:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:8035</value></property><property><name>yarn.resourcemanager.admin.address</name><value>master:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>master:8088</value></property> </configuration>
  • 3.?將配置好的hadoop-2.6.0文件夾分發給slave機器192.168.1.11,192.168.1.12

    4. 在192.168.1.10啟動

    cd ~/workspace/hadoop-2.6.0 #進入hadoop目錄 bin/hadoop namenode -format #格式化namenode sbin/start-dfs.sh #啟動dfs sbin/start-yarn.sh #啟動yarn

    5.測試

    10機器上

    $ jps #run on master 3407 SecondaryNameNode 3218 NameNode 3552 ResourceManager 3910 Jps

    11,12機器上

    $ jps #run on slaves 2072 NodeManager 2213 Jps 1962 DataNode

    admin端

    在瀏覽器中輸入?http://192.168.1.10:8088?,應該有 hadoop 的管理界面出來了,并能看到 slave1 和 slave2 節點。端口配置在yarn-site.xml上

    <property><name>yarn.resourcemanager.webapp.address</name><value>master:8088</value></property>

    安裝scala

    參考文獻[1]

    在三臺機器上分別操作:機器192.168.1.10,192.168.1.11,192.168.1.12

    解壓

    tar -zxvf scala-2.10.4.tgz

    ?

    再次修改環境變量sudo vi /etc/profile,添加以下內容:

    export SCALA_HOME=$WORK_SPACE/scala-2.10.4 export PATH=$PATH:$SCALA_HOME/bin

    ?

    同樣的方法使環境變量生效,并驗證 scala 是否安裝成功

    $ source /etc/profile #生效環境變量 $ scala -version #如果打印出如下版本信息,則說明安裝成功 Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL

    可能遇到的問題解決:

    【1】Hadoop jps出現process information unavailable提示解決辦法:參考文獻【2】

    啟動Hadoop之后,使用jps命令查看當前系統的java進程情況,顯示:???

    hduser@jack:/usr/local/hadoop$ jps 18470 SecondaryNameNode 19096 Jps 12167 -- process information unavailable 19036 NodeManager 18642 ResourceManager 18021 DataNode 17640 NameNode


    ? ? 這時可以通過進入本地文件系統的/tmp目錄下,刪除名稱為hsperfdata_{username}的文件夾,然后重新啟動Hadoop。

    【2】各種權限問題

    解決方式:重做ssh無密碼認證的準備工作

    ?【3】啟動Hadoop HDFS時的“Incompatible clusterIDs”錯誤原因分析?

    ? 解決方式:“Incompatible?clusterIDs”的錯誤原因是在執行“hdfs?namenode?-format”之前,沒有清空DataNode節點的data目錄。清空之。

    spark安裝

    參考文獻【1】所示

    在10機器上解壓

    tar -zxvf spark-1.4.0-bin-hadoop2.6.tgz mv spark-1.4.0-bin-hadoop2.6 spark-1.4 #原來的文件名太長了,修改下

    修改配置:

    cd ~/workspace/spark-1.4/conf #進入spark配置目錄 cp spark-env.sh.template spark-env.sh #從配置模板復制 vi spark-env.sh #添加配置內容

    ?

    在spark-env.sh末尾添加以下內容(這是我的配置,你可以自行修改): export SCALA_HOME=/home/spark/workspace/scala-2.10.4 export JAVA_HOME=/home/spark/workspace/jdk1.7.0_75 export HADOOP_HOME=/home/spark/workspace/hadoop-2.6.0 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop SPARK_MASTER_IP=master SPARK_LOCAL_DIRS=/home/spark/workspace/spark-1.3.0 SPARK_DRIVER_MEMORY=1G 修改slaves文件
    cp slaves.template slaves

    ? 修改配置:

    192.168.1.11

    192.168.1.12

    將上述配置分發給:192.168.1.11,192.168.1.12

    在10上啟動:

    sbin/start-all.sh

    檢查是否啟動:

    master上

    $ jps 7949 Jps 7328 SecondaryNameNode 7805 Master 7137 NameNode 7475 ResourceManager

    在slave2

    $jps 3132 DataNode 3759 Worker 3858 Jps 3231 NodeManager

    進入Spark的Web管理頁面:?http://192.168.1.10:8080

    如果8080被別的程序占用,使用8081端口。

    參考文獻

    【1】http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/

    【2】http://my.oschina.net/zhangjie830621/blog/417252

    【3】http://blog.chinaunix.net/uid-20682147-id-4214553.html

    轉載于:https://www.cnblogs.com/davidwang456/p/5010499.html

    總結

    以上是生活随笔為你收集整理的hadoop和spark搭建记录的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。