手機版
你好,游客 登錄 注冊
背景:
閱讀新聞

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

[日期:2019-12-01] 來源:Linux公社  作者:醉落紅塵 [字體: ]

Hadoop在整個大數據技術體系中占有至關重要的地位,是大數據技術的基礎和敲門磚,對Hadoop基礎知識的掌握程度會在一定程度決定在大數據技術的道路上能走多遠。

最近想要學習Spark,首先需要搭建Spark的環境,Spark的依賴環境比較多,需要Java JDK、Hadoop的支持。我們就分步驟依次介紹各個依賴的安裝和配置。新安裝了一個Linux Ubuntu 18.04系統,想在此系統上進行環境搭建,詳細記錄一下過程。

訪問Spark的官網,閱讀Spark的安裝過程,發現Spark需要使用到hadoop,Java JDK等,當然官網也提供了Hadoop free的版本。本文還是從安裝Java JDK開始,逐步完成Spark的單機安裝。

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

1、Java JDK8的安裝

前往Oracle官網下載JDK8,選擇適合自己操作系統的版本,此處選擇Linux 64

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

下載之后的包放到某個目錄下,此處放在/opt/java目錄

[email protected]:~/www.okbuvi.live$ sudo cp /home/linuxidc/www.okbuvi.live/jdk-8u231-linux-x64.tar.gz /opt/java/
[sudo] linuxidc 的密碼:
[email protected]:~/www.okbuvi.live$ cd /opt/java/
[email protected]:/opt/java$ ls
jdk-8u231-linux-x64.tar.gz

使用命令:tar -zxvf jdk-8u231-linux-x64.tar.gz 解壓縮

[email protected]:/opt/java$ sudo tar -zxf jdk-8u231-linux-x64.tar.gz
[email protected]:/opt/java$ ls
jdk1.8.0_231  jdk-8u231-linux-x64.tar.gz

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

修改配置文件/etc/profile,使用命令:sudo nano /etc/profile

[email protected]:/opt/java$ sudo nano /etc/profile

在文件末尾增加以下內容(具體路徑依據環境而定):

export JAVA_HOME=/opt/java/jdk1.8.0_231
export JRE_HOME=/opt/java/jdk1.8.0_231/jre
export PATH=${JAVA_HOME}/bin:$PATH

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

保存退出,在終端界面使用命令: source /etc/profile 使配置文件生效。

[email protected]:/opt/java$ source /etc/profile

使用java -version驗證安裝是否成功,以下回顯表明安裝成功了。

[email protected]:/opt/java$ java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
[email protected]:/opt/java$

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

2、安裝Hadoop

前往官網https://hadoop.apache.org/releases.html下載hadoop,此處選擇版本2.7.7

http://www.apache.org/dist/hadoop/core/hadoop-2.7.7/hadoop-2.7.7.tar.gz

hadoop需要ssh免密登陸等功能,因此先安裝ssh。

使用命令:

[email protected]:~/www.okbuvi.live$ sudo apt-get install ssh

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

[email protected]:~/www.okbuvi.live$ sudo apt-get install rsync

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

將下載的包放到某個目錄下,此處放在/opt/hadoop

[email protected]:~/www.okbuvi.live$ sudo cp /home/linuxidc/www.okbuvi.live/hadoop-2.7.7.tar.gz /opt/hadoop/

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

使用命令:tar -zxvf hadoop-2.7.7.tar.gz 進行解壓縮

此處選擇偽分布式的安裝方式(Pseudo-Distributed)

修改解壓后的目錄下的子目錄文件 etc/hadoop/hadoop-env.sh,將JAVA_HOME路徑修改為本機JAVA_HOME的路徑,如下圖:

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

配置Hadoop的環境變量

使用命令:

[email protected]:/opt/hadoop/hadoop-2.7.7/etc/hadoop$ sudo nano /etc/profile

添加以下內容:

export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7

修改PATH變量,添加hadoop的bin目錄進去

export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

修改解壓后的目錄下的子目錄文件 etc/hadoop/core-site.xml

[email protected]:/opt/hadoop/hadoop-2.7.7/etc/hadoop$ sudo nano core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

如下圖:

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

修改解壓后的目錄下的子目錄文件 etc/hadoop/hdfs-site.xml

[email protected]:/opt/hadoop/hadoop-2.7.7/etc/hadoop$ sudo nano hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

如下圖:

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

設置免密登陸

[email protected]:~/www.okbuvi.live$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Your identification has been saved in /home/linuxidc/.ssh/id_rsa.
Your public key has been saved in /home/linuxidc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zY+ELQc3sPXwTBRfKlTwntek6TWVsuQziHtu3N/6L5w [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|        . o.*+. .|
|        + B o o.|
|        o o =o+.o|
|        B..+oo=o|
|        S.*. ==.+|
|        +.o .oo.|
|        .o.o... |
|          oo .E .|
|          ..  o==|
+----[SHA256]-----+
[email protected]:~/www.okbuvi.live$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[email protected]:~/www.okbuvi.live$ chmod 0600 ~/.ssh/authorized_keys

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

使用命令:ssh localhost 驗證是否成功,如果不需要輸入密碼即可登陸說明成功了。


[email protected]:~/www.okbuvi.live$ ssh localhost
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.4.0-999-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:    https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


 * Canonical Livepatch is available for installation.
  - Reduce system reboots and improve kernel security. Activate at:
    https://ubuntu.com/livepatch

188 個可升級軟件包。
0 個安全更新。

Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Sat Nov 30 23:25:35 2019 from 127.0.0.1

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

接下來需要驗證Hadoop的安裝

a、格式化文件系統

[email protected]:/opt/hadoop/hadoop-2.7.7$ bin/hdfs namenode -format
19/11/30 23:29:06 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:  host = linuxidc/127.0.1.1
STARTUP_MSG:  args = [-format]
STARTUP_MSG:  version = 2.7.7
......

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

b、啟動Namenode和Datanode

[email protected]:/opt/hadoop/hadoop-2.7.7$ sbin/start-dfs.sh
Starting namenodes on [localhost]
localhost: starting namenode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-linuxidc-namenode-linuxidc.out
localhost: starting datanode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-linuxidc-datanode-linuxidc.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is SHA256:OSXsQK3E9ReBQ8c5to2wvpcS6UGrP8tQki0IInUXcG0.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-linuxidc-secondarynamenode-linuxidc.out

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

c、瀏覽器訪問http://localhost:50070

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

3、Scala安裝:

下載地址:https://www.scala-lang.org/download/2.11.8.html

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

下載好后解壓到:/opt/scala

[email protected]:~/下載$ sudo tar zxf scala-2.11.8.tgz -C /opt/scala
[sudo] linuxidc 的密碼:
[email protected]:~/下載$ cd /opt/scala
[email protected]:/opt/scala$ ls
scala-2.11.8

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

配置環境變量:

[email protected]:/opt/scala$ sudo nano /etc/profile

添加:

export SCALA_HOME=/opt/scala/scala-2.11.8

 Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

source /etc/profile

4、安裝spark

前往spark官網下載spark

https://spark.apache.org/downloads.html

此處選擇版本如下:

spark-2.4.4-bin-hadoop2.7

將spark放到某個目錄下,此處放在/opt/spark

使用命令:tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz 解壓縮即可

[email protected]:~/www.okbuvi.live$ sudo cp /home/linuxidc/www.okbuvi.live/spark-2.4.4-bin-hadoop2.7.tgz /opt/spark/
[sudo] linuxidc 的密碼:
[email protected]:~/www.okbuvi.live$ cd /opt/spark/
[email protected]:/opt/spark$ ls
spark-2.4.4-bin-hadoop2.7.tgz

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

[email protected]:/opt/spark$ sudo tar -zxf spark-2.4.4-bin-hadoop2.7.tgz
[sudo] linuxidc 的密碼:
[email protected]:/opt/spark$ ls
spark-2.4.4-bin-hadoop2.7  spark-2.4.4-bin-hadoop2.7.tgz

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

使用命令: ./bin/run-example SparkPi 10 測試spark的安裝

配置環境變量SPARK_HOME

[email protected]:/opt/spark/spark-2.4.4-bin-hadoop2.7$ sudo nano /etc/profile

export SPARK_HOME=/opt/spark/spark-2.4.4-bin-hadoop2.7
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SPARK_HOME}/bin:$PATH

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

source /etc/profile

配置配置spark-env.sh

進入到spark/conf/

sudo cp /opt/spark/spark-2.4.4-bin-hadoop2.7/conf/spark-env.sh.template /opt/spark/spark-2.4.4-bin-hadoop2.7/conf/spark-env.sh

[email protected]:/opt/spark/spark-2.4.4-bin-hadoop2.7/conf$ sudo nano spark-env.sh

export JAVA_HOME=/opt/java/jdk1.8.0_231
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.7/etc/hadoop
export SPARK_HOME=/opt/spark/spark-2.4.4-bin-hadoop2.7
export SCALA_HOME=/opt/scala/scala-2.11.8
export SPARK_MASTER_IP=127.0.0.1
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8099
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=5G
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=1G
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

Java,Hadoop等具體路徑根據自己實際環境設置。

啟動bin目錄下的spark-shell

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

可以看到已經進入到scala環境,此時就可以編寫代碼啦。

spark-shell的web界面http://127.0.0.1:4040

Ubuntu 18.04下搭建單機Hadoop和Spark集群環境

暫時先這樣,如有什么疑問,請在Linux公社下面的評論欄里提出。

更多Hadoop相關信息見Hadoop 專題頁面 http://www.okbuvi.live/topicnews.aspx?tid=13

Linux公社的RSS地址http://www.okbuvi.live/rssFeed.aspx

本文永久更新鏈接地址http://www.okbuvi.live/Linux/2019-12/161628.htm

linux
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
海口彩票论坛