Windows 10 利用Linux子系統(tǒng)配置本地Spark環(huán)境

偶然在應(yīng)用商店看到了一個(gè)Ubuntu的應(yīng)用軟件,想了想笨鸡,在Windows下可以通過直接使用Ubuntu系統(tǒng)嗎形耗?
趕緊上網(wǎng)查了一波拟糕,發(fā)現(xiàn)還真可以送滞,想到最近在學(xué)習(xí)Spark搞了個(gè)虛擬機(jī)犁嗅,突然發(fā)現(xiàn)這個(gè)比虛擬機(jī)好用多了褂微。資源消耗沒這么大蕊梧。
配置一下Spark環(huán)境。

Windows 10 啟動Linux子系統(tǒng)

  • 打開開發(fā)者模式
    打開設(shè)置



    打開更新和安全 甘改,點(diǎn)擊開發(fā)者選項(xiàng)十艾,點(diǎn)擊開發(fā)人員模式


    image.png
  • 更改系統(tǒng)功能
    打開電腦控制面板



    點(diǎn)擊程序,再點(diǎn)擊啟動或關(guān)閉Windows功能


    image.png

    找到適用于Linux的windows子系統(tǒng)庆冕,勾選確定,重啟電腦同辣。
    image.png
  • 下載Ubuntu
    打開應(yīng)用商店,搜索Ubuntu安裝描滔。


    image.png

    安裝完后伴挚,點(diǎn)擊啟動Ubuntu颅眶。進(jìn)行配置用戶名涛酗,密碼等燕刻。
    完成后啟動界面是這樣的


    image.png

配置ssh

  • 安裝ssh服務(wù)
sudo apt-get install openssh-client
sudo apt-get install openssh-server
  • 啟動卵洗、重啟ssh服務(wù)
sudo service ssh start
sudo service ssh restart

如果遇到問題,重新安裝ssh服務(wù)

sudo apt-get purge openssh-server
sudo apt-get install openssh-server
  • 配置ssh端口
    ssh端口默認(rèn)是22號端口,修改/etc/ssh/sshd_config
Port 22         #如果和win10的端口號沖突酷勺,可以改為其他的
UsePrivilegeSeparation no
PermitRootLogin no         #如果你確實(shí)要用root方式登錄的話設(shè)為yes
PasswordAuthentication yes
  • 配置免密登陸
執(zhí)行  ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  生成密鑰
執(zhí)行  ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@localhost  將公鑰發(fā)送至Ubuntu ,其中<username> 為你的用戶名
運(yùn)行  ssh localhost  查看是否不需要密碼登錄

安裝JDK

  • 官網(wǎng)下載JDK
    https://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 安裝配置JDK
    由于這個(gè)ubuntu子系統(tǒng)在C盤目錄下,空間不夠击胜,我選擇把JDK放入到掛載的D盤目錄下面潜的。將JDK解壓到/mnt/d/usr/local啰挪,并且給配置環(huán)境變量

sudo tar -zxf ./jdk-12.0.2_linux-x64_bin.tar.gz -C /mnt/d/usr/local/
cd /mnt/d/usr/local/
sudo mv ./ jdk-12.0.2 ./jdk
sudo chown -R gandi ./jdk

#再打開 /home/gandi/.bashrc抽活,添加環(huán)境變量
export JAVA_HOME=/mnt/d/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH

source ~/.bashrc

因?yàn)橄螺d的是最新的jdk-12,所以配置環(huán)境變量只需要配置/bin誉尖,CLASSPATH這些都不需要了,簡化了很多。

安裝Hadoop

  • 下載Hadoop
    下載Hadoop我們一般去他的鏡像網(wǎng)站上下載饮六。我選擇下載了Hadoop最新版本hadoop-3.2.0
    https://www.apache.org/dyn/closer.cgi/hadoop/common
    http://mirror.bit.edu.cn/apache/hadoop/common/
  • 安裝配置
    解壓安裝棒口,設(shè)置環(huán)境變量
sudo tar -zxf ./hadoop-3.2.0.tar.gz -C /mnt/d/usr/local/
cd /mnt/d/usr/local/
sudo mv ./ hadoop-3.2.0 ./hadoop
sudo chown -R gandi ./hadoop

#再打開 /home/gandi/.bashrc茎毁,添加環(huán)境變量
export HADOOP_HOME=/mnt/d/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

source ~/.bashrc
  • 設(shè)置JAVA_HOME路徑
    修改etc/hadoop/hadoop-env.sh文件中的JAVA_HOME變量
export JAVA_HOME=/mnt/d/usr/local/jdk
  • 以偽分布模式配置Hadoop
    修改etc/hadoop/core-site.xml 文件內(nèi)容如下:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/mnt/d/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

# 其中的hadoop.tmp.dir的路徑可以根據(jù)自己的習(xí)慣進(jìn)行設(shè)置

修改etc/hadoop/hdfs-site.xml文件內(nèi)容如下:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/mnt/d/usr/local/hadoop/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/mnt/d/usr/local/hadoop/tmp/dfs/data</value>
  </property>
</configuration>

修改etc/hadoop/mapred-site.xml文件內(nèi)容如下:

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
  </property>
</configuration>
  • 配置YARN(若你使用YARN作為資源管理器)
    修改etc/hadoop/mapred-site.xml文件內(nèi)容如下:
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

修改etc/hadoop/yarn-site.xml如下:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • 格式化文件系統(tǒng)
hadoop namenode -format
  • 開啟 NameNode 和 DataNode 守護(hù)進(jìn)程
start-dfs.sh
  • 開啟YARN
start-yarn.sh
  • 查看是否啟動成功
    輸入jps命令嵌灰,若以下進(jìn)程都啟動了,說明啟動成功
7201 SecondaryNameNode
6727 NameNode
7815 Jps
6939 DataNode

安裝配置Spark

  • 下載Spark搂鲫,選擇Pre-bulit with user-provided Apache Hadoop
    http://spark.apache.org/downloads.html
    image.png
  • 安裝
sudo tar -zxf spark-2.4.3-bin-without-hadoop.tgz -C /mnt/d/usr/local/
cd /mnt/d/usr/local/
mv spark-2.4.3-bin-without-hadoop/ ./spark
chown -R gandi ./spark/

#再打開 /home/gandi/.bashrc,添加環(huán)境變量
export SPARK_HOME=/mnt/d/usr/local/spark
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
source ~/.bashrc
  • 配置
cp spark/conf/slaves.template ./spark/conf/slaves
cp spark/conf/spark-env.sh.template ./spark/conf/spark-env.sh

在spark-env.sh里添加

export JAVA_HOME=/mnt/d/usr/local/jdk
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_MEMORY=4g
export SPARK_DIST_CLASSPATH=$(/mnt/d/usr/local/hadoop/bin/hadoop classpath)

JAVA_HOME:指定的是 Java 的安裝目錄
SPARK_MASTER_IP:指定的是 Spark 集群的 Master 節(jié)點(diǎn)的 IP 地址
SPARK_WORKER_MEMOERY:指定的 Worker 節(jié)點(diǎn)能夠最大分配給 Excutors 的內(nèi)存大小、
SPARK_DIST_CLASSPATH:Spark就可以把數(shù)據(jù)存儲到Hadoop分布式文件系統(tǒng)HDFS中

image.png
  • 啟動集群可缚,在spark/sbin目錄下,start-all.sh
    image.png

    在瀏覽器中輸入 http://localhost:8080/ ,如下圖所示
    image.png

Linux子系統(tǒng)文件目錄在Windows下面哪個(gè)文件夾目錄

  • ubuntu Linux子系統(tǒng)的目錄是在這個(gè)目錄下
C:\Users\用戶名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

Linux訪問windows文件

  • windows的磁盤被掛載到了/mnt下花墩,可以直接訪問
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祠肥,一起剝皮案震驚了整個(gè)濱河市索烹,隨后出現(xiàn)的幾起案子旬迹,更是在濱河造成了極大的恐慌,老刑警劉巖惶岭,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铺罢,死亡現(xiàn)場離奇詭異,居然都是意外死亡刃泡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門钓账,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羞福,“玉大人,你說我怎么就攤上這事〔筒埽” “怎么了俱两?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵尿孔,是天一觀的道長竹捉。 經(jīng)常有香客問我倔丈,道長宏邮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任郎汪,我火速辦了婚禮,結(jié)果婚禮上录豺,老公的妹妹穿的比我還像新娘咏花。我一直安慰自己苍匆,他們只是感情好检碗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布边篮。 她就那樣靜靜地躺著凶杖,像睡著了一般杈湾。 火紅的嫁衣襯著肌膚如雪浮驳。 梳的紋絲不亂的頭發(fā)上宵蛀,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天杭攻,我揣著相機(jī)與錄音埠巨,去河邊找鬼勋桶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惊楼,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笛匙?” 一聲冷哼從身側(cè)響起骇笔,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤持寄,失蹤者是張志新(化名)和其女友劉穎模庐,沒想到半個(gè)月后沧卢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了非剃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恨锚。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忿等,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岩齿,我是刑警寧澤做裙,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響溅漾,放射性物質(zhì)發(fā)生泄漏锐借。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秧了,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钉赁。三九已至,卻和暖如春芭挽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工秧荆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亏掀。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像蒲祈,于是被迫代替她去往敵國和親卑硫。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容