hadoop+spark 偽分布式安裝

基本環(huán)境及軟件:

軟件版本 軟件包
centos-6.x
JDK-1.8 jdk-8u112-linux-x64.tar.gz
scala-2.11.8 jdk-8u112-linux-x64.tar.gz
hadoop-2.7 hadoop-2.7.4.tar.gz
spark-2.1.2 spark-2.1.2-bin-hadoop2.7.tgz

鍵入命令如下,安裝hadoop所需的基礎(chǔ)軟件:

    yum install -y ssh pdsh

jdk和scala安裝

1、鍵入如下命令將jdk軟件包解壓至指定目錄:

tar -zxvf jdk-8u112-linux-x64.tar.gz -C /usr/local/

2、鍵入如下命令將scala軟件包解壓至指定目錄:

 tar -zxvf scala-2.11.8.tgz -C /usr/local/

3、鍵入如下命令編輯profile文件:

vim /etc/profile

4、設(shè)置jdk和scala環(huán)境變量,在profile文件的末尾添加如下內(nèi)容:

export JAVA_HOME=/usr/local/jdk1.8.0_112
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH

5、鍵入如下命令讓,環(huán)境變量立即生效:

source /etc/profile

6、檢查jdk

[root@localhost ~]# java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

7、檢查scala

[root@localhost ~]# scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL

解壓&安裝hadoop

1、鍵入如下命令將hadoop軟件包解壓至指定目錄:

tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local/

2、鍵入如下命令,給hadoop添加java環(huán)境變量:

vim /usr/local/hadoop-2.7.4/etc/hadoop/hadoop-env.sh

hadoop-env.sh文件中添加如下內(nèi)容:

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

3、修改hadoop配置文件:

1)鍵入如下命令,切換至hadoop配置文件目錄:

/usr/local/hadoop-2.7.4/etc/hadoop

2)編輯core-site.xml配置文件,添加如下內(nèi)容:

<configuration>
    <!--指定NamNode通信地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
   <!--指定Hadoop運行時產(chǎn)生文件的存儲路徑-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>
    </property>
</configuration>

3)編輯hdfs-site.xml配置文件,添加如下內(nèi)容:

<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/opt/hadoop/hdfs/name</value>
        <description>namenode上存儲hdfs名字空間元數(shù)據(jù) </description>
    </property>

    <property>
        <name>dfs.data.dir</name>
        <value>/opt/hadoop/hdfs/data</value>
        <description>datanode上數(shù)據(jù)塊的物理存儲位置</description>
    </property>

    <!-- 設(shè)置hdfs副本數(shù)量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

4)編輯mapred-site.xml配置文件,配置mapreducer框架運行在yarn上:

鍵入如下命令復(fù)制mapred-site.xml配置文件:

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

mapred-site.xml配置文件內(nèi)容如下:

<configuration>
<!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

4)編輯yarn配置yarn-site.xml,添加如下內(nèi)容:

<configuration>
<!--reducer取數(shù)據(jù)的方式是mapreduce_shuffle-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4、鍵入如下命令,創(chuàng)建hadoop數(shù)據(jù)目錄:

mkdir -p /opt/hadoop/{tmp,hdfs/{data,name}}

5、鍵入如下命令,配置免密鑰登錄:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

6、開啟防火墻端口:

鍵入如下命令,編輯防火墻配置文件:

vim /etc/sysconfig/iptables

添加如下內(nèi)容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT

重啟防火墻:

service iptables restart

7、格式化hdfs,只需要在第一次安裝的時候格式化hdfs,命令如下:

/usr/local/hadoop-2.7.4/bin/hdfs namenode -format

8、鍵入如下命令,啟動hdfs和yarn:

/usr/local/hadoop-2.7.4/sbin/start-all.sh

9、在瀏覽器中分別輸入如下地址校驗,hadoop是否安裝成功:
1)hadoop管理界面:http://{your_ip_address}:50070/
2)hadoop集群狀態(tài)界面:http://{your_ip_address}:8088/

解壓&安裝spark

1、鍵入如下命令將spark軟件包解壓至指定目錄:

tar -zxvf spark-2.1.2-bin-hadoop2.7.tgz -C /usr/local/

2、編輯spark環(huán)境變量配置文件:
鍵入如下命令復(fù)制spark-env.sh配置文件

cp spark-env.sh.tamplate spark-env.sh

spark-env.sh配置文件中添加如下內(nèi)容:

export SCALA_HOME=/usr/local/scala-2.11.8
export JAVA_HOME=/usr/local/jdk1.8.0_112
export HADOOP_HOME=/usr/local/hadoop-2.7.4
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export SPARK_MASTER_IP=localhost
export SPARK_LOCAL_IP=localhost
export SPAPK_LOCAL_DIRS=/usr/local/spark-2.1.2-bin-hadoop2.7
export SPARK_DRIVER_MEMORY=1G

3、在slave配置文件中添加如下內(nèi)容:

localhost

4、鍵入如下命令,啟動spark:

/usr/local/spark-2.1.2-bin-hadoop2.7/sbin/start-all.sh

mapreduce 和 spark wordcount測試

1、創(chuàng)建WordCount.txt文件,內(nèi)容如下:

Hello hadoop
hello spark

2、在hdfs中創(chuàng)建一個目錄wordcount,并上傳WordCount.txt文件,命令如下:
創(chuàng)建目錄:

hadoop fs -mkdir /wordcount

上傳文件:

hadoop fs -put -f WordCount.txt /wordcount

3、編寫wordcount程序并執(zhí)行:
1)mapreduce 版本示例代碼,跳轉(zhuǎn)至github地址

將git上的程序編譯之后上傳至hadoop服務(wù)器,鍵入如下命令運行mapreduce:

hadoop jar mapreduce-wordcount.jar org.cooze.hadoop.mapreduce.wordcount.WordCount /wordcount /output

  1. spark java版本示例代碼,跳轉(zhuǎn)至github地址

    將git上的程序編譯之后上傳至hadoop服務(wù)器,鍵入如下命令將spark程序提交到spark中運行:
spark-submit --master spark://localhost:7077 \
 --name WordCount --class org.cooze.hadoop.spark.wordcount.java.WordCount \
  --executor-memory 512M --total-executor-cores 2 \
  ./spark-wordcount-java.jar /wordcount

  1. spark scala版本示例代碼,跳轉(zhuǎn)至github地址

    將git上的程序編譯之后上傳至hadoop服務(wù)器,鍵入如下命令將spark程序提交到spark中運行:
spark-submit --master spark://localhost:7077 \
 --name WordCount --class org.cooze.hadoop.spark.wordcount.scala.WordCount \
  --executor-memory 512M --total-executor-cores 2 \
  ./spark-wordcount-scala.jar /wordcount

  1. spark python版本示例代碼,跳轉(zhuǎn)至github地址

    鍵入如下命令將spark程序提交到spark中運行:
spark-submit --executor-memory 512M --total-executor-cores 2 \
spark-wordcount-python.py 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容