1. 程式人生 > >Hadoop2.7.3+Spark2.1.0完全分散式叢集搭建過程

Hadoop2.7.3+Spark2.1.0完全分散式叢集搭建過程

1.選取三臺伺服器(CentOS系統64位)

  114.55.246.88 主節點

  114.55.246.77 從節點

  114.55.246.93 從節點

     之後的操作如果是用普通使用者操作的話也必須知道root使用者的密碼,因為有些操作是得用root使用者操作。如果是用root使用者操作的話就不存在以上問題。

  我是用root使用者操作的。

2.修改hosts檔案

  修改三臺伺服器的hosts檔案。

  vi /etc/hosts

  在原檔案的基礎最後面加上:

114.55.246.88 Master
114.55.246.77 Slave1
114.55.246.93 Slave2

  修改完成後儲存執行如下命令。

  source /etc/hosts

3.ssh無密碼驗證配置

  3.1安裝和啟動ssh協議

  我們需要兩個服務:ssh和rsync。

  可以通過下面命令檢視是否已經安裝:

  rpm -qa|grep openssh

  rpm -qa|grep rsync

  如果沒有安裝ssh和rsync,可以通過下面命令進行安裝:

  yum install ssh (安裝ssh協議)

  yum install rsync (rsync是一個遠端資料同步工具,可通過LAN/WAN快速同步多臺主機間的檔案)

  service sshd restart (啟動服務)

  3.2 配置Master無密碼登入所有Salve

  配置Master節點,以下是在Master節點的配置操作。

  1)在Master節點上生成密碼對,在Master節點上執行以下命令:

  ssh-keygen -t rsa -P ''

  生成的金鑰對:id_rsa和id_rsa.pub,預設儲存在"/root/.ssh"目錄下。

  2)接著在Master節點上做如下配置,把id_rsa.pub追加到授權的key裡面去。

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

  3)修改ssh配置檔案"/etc/ssh/sshd_config"的下列內容,將以下內容的註釋去掉:

  RSAAuthentication yes # 啟用 RSA 認證

  PubkeyAuthentication yes # 啟用公鑰私鑰配對認證方式

  AuthorizedKeysFile .ssh/authorized_keys # 公鑰檔案路徑(和上面生成的檔案同)

  4)重啟ssh服務,才能使剛才設定有效。

  service sshd restart

  5)驗證無密碼登入本機是否成功。

  ssh localhost

  6)接下來的就是把公鑰複製到所有的Slave機器上。使用下面的命令進行復制公鑰:

  scp /root/.ssh/id_rsa.pub [email protected]:/root/

  scp /root/.ssh/id_rsa.pub [email protected]:/root/

  接著配置Slave節點,以下是在Slave1節點的配置操作。

  1)在"/root/"下建立".ssh"資料夾,如果已經存在就不需要建立了。

  mkdir /root/.ssh

  2)將Master的公鑰追加到Slave1的授權檔案"authorized_keys"中去。

  cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

  3)修改"/etc/ssh/sshd_config",具體步驟參考前面Master設定的第3步和第4步。

  4)用Master使用ssh無密碼登入Slave1

  ssh 114.55.246.77

  5)把"/root/"目錄下的"id_rsa.pub"檔案刪除掉。

  rm –r /root/id_rsa.pub

  重複上面的5個步驟把Slave2伺服器進行相同的配置。

  3.3 配置所有Slave無密碼登入Master

  以下是在Slave1節點的配置操作。

  1)建立"Slave1"自己的公鑰和私鑰,並把自己的公鑰追加到"authorized_keys"檔案中,執行下面命令:

  ssh-keygen -t rsa -P ''

  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

  2)將Slave1節點的公鑰"id_rsa.pub"複製到Master節點的"/root/"目錄下。

  scp /root/.ssh/id_rsa.pub [email protected]:/root/

  以下是在Master節點的配置操作。

  1)將Slave1的公鑰追加到Master的授權檔案"authorized_keys"中去。

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

  2)刪除Slave1複製過來的"id_rsa.pub"檔案。

  rm –r /root/id_rsa.pub

  配置完成後測試從Slave1到Master無密碼登入。

  ssh 114.55.246.88

  按照上面的步驟把Slave2和Master之間建立起無密碼登入。這樣,Master能無密碼驗證登入每個Slave,每個Slave也能無密碼驗證登入到Master。

4.安裝基礎環境(JAVA和SCALA環境)

  4.1 Java1.8環境搭建

  1)下載jdk-8u121-linux-x64.tar.gz解壓

  tar -zxvf jdk-8u121-linux-x64.tar.gz

  2)新增Java環境變數,在/etc/profile中新增:

export JAVA_HOME=/usr/local/jdk1.8.0_121
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/rt.jar
export JAVA_HOME PATH CLASSPATH

  3)儲存後重新整理配置

  source /etc/profile

  4.2 Scala2.11.8環境搭建

  1)下載scala安裝包scala-2.11.8.rpm安裝

  rpm -ivh scala-2.11.8.rpm

  2)新增Scala環境變數,在/etc/profile中新增:

export SCALA_HOME=/usr/share/scala
export PATH=$SCALA_HOME/bin:$PATH

  3)儲存後重新整理配置

  source /etc/profile

5.Hadoop2.7.3完全分散式搭建

  以下是在Master節點操作:

  1)下載二進位制包hadoop-2.7.3.tar.gz

  2)解壓並移動到相應目錄,我習慣將軟體放到/opt目錄下,命令如下:

  tar -zxvf hadoop-2.7.3.tar.gz

  mv hadoop-2.7.3 /opt

  3)修改相應的配置檔案。

  修改/etc/profile,增加如下內容:

 export HADOOP_HOME=/opt/hadoop-2.7.3/
 export PATH=$PATH:$HADOOP_HOME/bin
 export PATH=$PATH:$HADOOP_HOME/sbin
 export HADOOP_MAPRED_HOME=$HADOOP_HOME
 export HADOOP_COMMON_HOME=$HADOOP_HOME
 export HADOOP_HDFS_HOME=$HADOOP_HOME
 export YARN_HOME=$HADOOP_HOME
 export HADOOP_ROOT_LOGGER=INFO,console
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

  修改完成後執行:

  source /etc/profile

  修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh,修改JAVA_HOME 如下:

  export JAVA_HOME=/usr/local/jdk1.8.0_121

  修改$HADOOP_HOME/etc/hadoop/slaves,將原來的localhost刪除,改成如下內容:

Slave1
Slave2

  修改$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://Master:9000</value>
      </property>
      <property>
         <name>io.file.buffer.size</name>
         <value>131072</value>
     </property>
     <property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/hadoop-2.7.3/tmp</value>
     </property>
</configuration>

  修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>Master:50090</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/opt/hadoop-2.7.3/hdfs/name</value>
    </property>
    <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/opt/hadoop-2.7.3/hdfs/data</value>
    </property>
</configuration>

  複製template,生成xml,命令如下:

  cp mapred-site.xml.template mapred-site.xml

  修改$HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>
 <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>Master:10020</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>Master:19888</value>
  </property>
</configuration>

  修改$HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</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:8031</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>

  4)複製Master節點的hadoop資料夾到Slave1和Slave2上。

  scp -r /opt/hadoop-2.7.3 [email protected]:/opt

  scp -r /opt/hadoop-2.7.3 [email protected]:/opt

  5)在Slave1和Slave2上分別修改/etc/profile,過程同Master一樣。

  6)在Master節點啟動叢集,啟動之前格式化一下namenode:

  hadoop namenode -format

  啟動:

  /opt/hadoop-2.7.3/sbin/start-all.sh

  至此hadoop的完全分散式環境搭建完畢。

  7)檢視叢集是否啟動成功:

  jps

  Master顯示:

  SecondaryNameNode

  ResourceManager

  NameNode

  Slave顯示:

  NodeManager

  DataNode

6.Spark2.1.0完全分散式環境搭建

  以下操作都在Master節點進行。

  1)下載二進位制包spark-2.1.0-bin-hadoop2.7.tgz

  2)解壓並移動到相應目錄,命令如下:

  tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz

  mv hadoop-2.7.3 /opt

  3)修改相應的配置檔案。

  修改/etc/profie,增加如下內容:

export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin

  複製spark-env.sh.template成spark-env.sh

  cp spark-env.sh.template spark-env.sh

  修改$SPARK_HOME/conf/spark-env.sh,新增如下內容:

export JAVA_HOME=/usr/local/jdk1.8.0_121
export SCALA_HOME=/usr/share/scala
export HADOOP_HOME=/opt/hadoop-2.7.3
export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop
export SPARK_MASTER_IP=114.55.246.88
export SPARK_MASTER_HOST=114.55.246.88
export SPARK_LOCAL_IP=114.55.246.88
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.3/bin/hadoop classpath)

  複製slaves.template成slaves

  cp slaves.template slaves

  修改$SPARK_HOME/conf/slaves,新增如下內容:

Master
Slave1
Slave2

  4)將配置好的spark檔案複製到Slave1和Slave2節點。

  scp /opt/spark-2.1.0-bin-hadoop2.7 [email protected]:/opt

      scp /opt/spark-2.1.0-bin-hadoop2.7 [email protected]:/opt

  5)修改Slave1和Slave2配置。

  在Slave1和Slave2上分別修改/etc/profile,增加Spark的配置,過程同Master一樣。

  在Slave1和Slave2修改$SPARK_HOME/conf/spark-env.sh,將export SPARK_LOCAL_IP=114.55.246.88改成Slave1和Slave2對應節點的IP。

  6)在Master節點啟動叢集。

  /opt/spark-2.1.0-bin-hadoop2.7/sbin/start-all.sh

  7)檢視叢集是否啟動成功:

  jps

  Master在Hadoop的基礎上新增了:

  Master

  Slave在Hadoop的基礎上新增了:

  Worker

相關推薦

Hadoop2.7.3+Spark2.1.0完全分散式叢集搭建過程

1.選取三臺伺服器(CentOS系統64位)  114.55.246.88 主節點  114.55.246.77 從節點  114.55.246.93 從節點     之後的操作如果是用普通使用者操作的話也必須知道root使用者的密碼,因為有些操作是得用root使用者操作。如

Spark之——Hadoop2.7.3+Spark2.1.0 完全分散式環境 搭建全過程

一、修改hosts檔案在主節點,就是第一臺主機的命令列下;vim /etc/hosts我的是三臺雲主機:在原檔案的基礎上加上;ip1 master worker0 namenode ip2 worker1 datanode1 ip3 worker2 datanode2其中的i

在VM虛擬機器上搭建Hadoop2.7.3+Spark2.1.0完全分散式叢集

1.選取三臺伺服器(CentOS系統64位) 114.55.246.88主節點   114.55.246.77 從節點   114.55.246.93 從節點      之後的操作如果是用普通使用者操作的話也必須知道root使用者的密碼,因為有些操作是得

CentOS7+Hadoop2.7.2(HA高可用+Federation聯邦)+Hive1.2.1+Spark2.1.0 完全分散式叢集安裝

本文件主要記錄了Hadoop+Hive+Spark叢集安裝過程,並且對NameNode與ResourceManager進行了HA高可用配置,以及對NameNode的橫向擴充套件(Federation聯邦) 1VM網路配置 將子網IP設定為192.168.1.0: 將閘道器設定

hadoop2.7.1在vmware上3臺centos7虛擬機器上的完全分散式叢集搭建

叢集架構 centos7的安裝 安裝java hadoop全分佈 ssh無密碼登入 hadoop叢集正常啟動測試 以下內容均屬個人理解,如有偏差,望大家諒解。 叢集架構 3臺虛擬機器都在同一個區域網中,網段是192.168.10.0,子網掩碼是

基於CentOS6.5系統Hadoop2.7.3完全分散式叢集搭建詳細步驟

 前言:本次搭建hadoop叢集使用虛擬機器克隆方式克隆slave節點,這樣做可以省去很多不必要的操作,來縮短我們的搭建時間。 一、所需硬體,軟體要求 使用 VMWare構建三臺虛擬機器模擬真實物理環境 作業系統:CentOS6.5 二、必備條件 hadoop搭建需

hadoop-2.3.0-cdh5.1.0完全分散式搭建(基於centos)

注:本例使用root使用者搭建 一、環境 作業系統:CentOS 6.564位作業系統 注:Hadoop2.0以上採用的是jdk環境是1.7,Linux自帶的jdk解除安裝掉,重新安裝

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分散式叢集環境

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分散式叢集環境   一、環境說明 個人理解:zookeeper可以獨立搭建叢集,hbase本身不能獨立搭建叢集需要和hadoop和hdfs整合 叢集環境至少需要3個節點(也就是3臺伺服器裝置):1個Master,2

Hadoop-3.1.1完全分散式叢集搭建

一、工作準備 1.虛擬機器 安裝Vmware 安裝CentOs虛擬機器三臺 master 192.168.33.101 slave1 192.168.33.102 slave2 192.168.33.103 2.虛擬機器配置

kafka完全分散式叢集搭建-kafka_2.11-0.9.0.1

最近在學習分散式的訊息系統kafka,特此記錄搭建kafka叢集過程。 環境: 機器IP與名稱對應關係如下: 192.168.152.192        master 192.168.152.1

Hadoop2.7.5+Hbase1.2.6完全分散式搭建

1.叢集安裝主機名MasterzookeeperregionServerMaster11Slave1備份11Slave2112.ssh(在Hadoop分散式搭建中已經完成)3.修改Master中Hbase的conf目錄下regionservers檔案,類似於Hadoop修改s

一、Hadoop2.x完全分散式叢集搭建

實驗環境規劃 192.168.1.101 cmaster0 192.168.1.102 cslave0 192.168.1.103 cslave1 三臺伺服器都是安裝的CentOS6.8作業系統 配置/etc/hosts [[email protected] ~]#

hadoop學習第二天~Hadoop2.6.5完全分散式叢集搭建和測試

環境配置: 系統 centos7 節點 192.168.1.111 namenode 192.168.1.115 datanode2 192.168.1.116 datanode3 java 環境 :

史上最簡單詳細的Hadoop完全分散式叢集搭建

一.安裝虛擬機器環境 Vmware12中文官方版 連結:https://pan.baidu.com/s/1IGKVfaOtcFMFXNLHUQp41w 提取碼:6rep 啟用祕鑰:MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A 這個安裝就十分的簡單了,只需要不斷點選下

linux hadoop完全分散式叢集搭建圖文詳解

一.前期準備 1.1 Win7官網下載hadoop包 本文使用版本hadoop-2.6.5.tar.gz 1.2 配置jdk 1.3 centos7叢集伺服器 主機名 系統

hadoop完全分散式叢集搭建全部流程之四:ssh和指令碼補充

SSH無密碼登入 1)配置ssh:配置ssh無密碼登入主要 是為了方便叢集之間進行通訊,方便運算。 (1)基本語法 ssh 另一臺電腦的ip地址 (2)ssh連線時出現Host key verif

Hadoop完全分散式叢集搭建

Hadoop的執行模式 Hadoop一般有三種執行模式,分別是: 單機模式(Standalone Mode),預設情況下,Hadoop即處於該模式,使用本地檔案系統,而不是分散式檔案系統。,用於開發和除錯。 偽分散式模式(Pseudo Distrubuted Mode),使用的是分散式檔案系統,守護程序執行

Hadoop偽分散式叢集搭建過程及避坑指南

一個偶然的機會,讓我進了hadoop這個坑。我不得不說,Google真是個非常厲害的公司。為計算機行業貢獻了很多亮瞎雙眼額技術。初入Hadoop一般都要了解HDFS,YARN,Mapreduce。現在來總結一下Hadoop分散式叢集的搭建過程。1.首先準備好相應的安裝包,同時

Hadoop2.7.5 +Spark2.3.0+Anaconda2-5.1.0分散式叢集搭建

這幾天因為學習需要搭建了一個由3個節點組成的hadoop和spark分散式叢集,做記錄如下(已生成目錄,可按需檢視)。 叢集搭建環境及安裝軟體版本 centos6 jdk1.8.0_161 hadoop2.7.5 Spark2.3.0 Scala-2.11.8 An

eclipse4.7.0+maven3.3.9+scala2.11.8+spark2.1.0+hadoop2.7.1在ubuntu16裡的wordcount例項

刪掉src/test下的junit內容 pom.xml參考如下進行修改(確認好使) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM