欢迎光临散文网 会员登陆 & 注册

Ubuntu搭建Hadoop、spark

2023-03-20 09:20 作者:璐瑶小魔女  | 我要投稿

Ubuntu 安装

安装时点击其他选项,

第一个分区为512mb的交换空间

第二个分区为剩余的空间,挂载点是/

按住alt键往上拖

安装完重启

安装vmtools工具

解压到home文件夹,运行.pl文件

重启生效

新建Hadoop用户

sudo useradd -m hadoop -s /bin/bash

为Hadoop用户设置密码

sudo passwd hadoop

为Hadoop用户增加权限

sudo adduser hadoop sudo

切换到Hadoop用户

sudo -su hadoop

安装vim命令

sudo apt install vim

安装ssh server

sudo apt-get install openssh-server


配置ssh

查看IP地址

ifconfig

克隆两台机器,要创建完整克隆

修改主机名

sudo vim /etc/hostname

改为master、slave1、slave2

修改hosts文件(三台机器都要修改成一样的)

sudo vim /etc/hosts

127.0.0.1 localhost

192.168.52.131 master

192.168.52.132 slave1

192.168.52.133 slave2

生成公钥

ssh-keygen -t rsa -P “”  (一路回车)

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

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/

在slave1、slave2里分别执行

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

rm ~/id_rsa.pub

 

 

JDK安装配置

打开压缩包所在的位置

cd /mnt/hgfs/share/

创建解压后的文件夹

sudo mkdir /usr/lib/jvm

解压

sudo tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm/

解压完成之后

cd /usr/lib/jvm

Jdk重命名

mv jdk1.8.0_162/ jdk

编辑~/.bashrc文件

sudo vim ~./bashrc

末尾添加如下内容

export JAVA_HOME=/usr/lib/jvm/jdk

export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

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

接着让环境变量生效,执行如下代码

source ~/.bashrc

然后在slave1,slave2上面重复上面的操作

 

安装Hadoop

打开压缩包所在的位置

cd /mnt/hgfs/share/

解压

sudo tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/

进入目标文件夹 /usr/local

cd /usr/local

sudo mv hadoop-2.7.1/ hadoop

编辑~/.bashrc文件

sudo vim ~./bashrc

末尾添加如下内容

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

进入/usr/local/hadoop/etc/hadoop目录

cd /usr/local/hadoop/etc/hadoop

sudo vim slaves

改为

slave1

slave2

先复制再修改core-site.xml

sudo cp core-site.xml core-site-cp.xml

sudo vim core-site.xml

修改为

<configuration>

      <property>

          <name>hadoop.tmp.dir</name>

          <value>file:/usr/local/hadoop/tmp</value>

          <description>Abase for other temporary directories.</description>

      </property>

      <property>

          <name>fs.defaultFS</name>

          <value>hdfs://master:9000</value>

      </property>

  </configuration>

修改hdfs-site.xml,修改之前先备份

sudo cp hdfs-site.xml hdfs-site-cp.xml

sudo vim hdfs-site.xml

 <configuration>

    <property>

        <name>dfs.replication</name>

        <value>3</value>

    </property>

    <property>

            <name>dfs.namenode.name.dir</name>

            <value>file:/usr/local/hadoop/tmp/dfs/name</value>

    </property>

    <property>

            <name>dfs.datanode.data.dir</name>

            <value>file:/usr/local/hadoop/tmp/dfs/data</value>

    </property>

</configuration>

修改mapred-site.xml(复制mapred-site.xml.template,再修改文件名)

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

sudo vim mapred-site.xml

  <configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

  </configuration>

修改yarn-site.xml,修改之前先备份

sudo cp yarn-site.xml yarn-site-cp.xml

sudo vim yarn-site.xml

  <!-- Site specific YARN configuration properties -->

      <property>

          <name>yarn.nodemanager.aux-services</name>

          <value>mapreduce_shuffle</value>

      </property>

      <property>

          <name>yarn.resourcemanager.hostname</name>

          <value>master</value>

      </property>

  </configuration>

修改sudo vim hadoop-env.sh ,在末尾增加

export JAVA_HOME=/usr/lib/jvm/jdk

cd /usr/local/

删除临时文件

rm -rf ./hadoop/tmp

删除日志文件

rm -rf ./hadoop/logs/*

tar -zcf ~/hadoop.master.tar.gz ./hadoop

cd ~

scp ./hadoop.master.tar.gz slave1:/home/hadoop

scp ./hadoop.master.tar.gz slave2:/home/hadoop

在slave1,slave2上分别执行

sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local

在master主机上执行

cd /usr/local/hadoop

bin/hdfs namenode -format

sbin/start-all.sh

验证

jps

 

Spark安装配置

打开压缩包所在的位置

cd /mnt/hgfs/share/

解压

sudo tar -zxvf spark-2.4.0-bin-without-hadoop.tgz -C /usr/local/

加权、重命名

cd /usr/local

sudo -su root

chown -R hadoop:hadoop spark-2.4.0-bin-without-hadoop/

mv spark-2.4.0-bin-without-hadoop spark

sudo -su hadoop

编辑~/.bashrc文件

sudo vim ~./bashrc

末尾添加如下内容

 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

     export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

        export SPARK_HOME=/usr/local/spark

        export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH

    export PYSPARK_PYTHON=python3

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

使环境变量生效

source ~/.bashrc

配置spark-env.sh文件

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

sudo vim spark-env.sh

编辑spark-env.sh,添加如下内容:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

export SPARK_MASTER_IP=192.168.52.131

上面改为自己的IP

配置好后,将Master主机上的/usr/local/spark文件夹复制到各个节点上在Master主机上执行如下命令:

cd /usr/local/

tar -zcf ~/spark.master.tar.gz ./spark

cd ~

scp ./spark.master.tar.gz hadoop@slave1:/home/hadoop

scp ./spark.master.tar.gz hadoop@slave2:/home/hadoop

在slave1,slave2节点上分别执行下面同样的操作:

sudo tar -zxf ~/spark.master.tar.gz -C /usr/local

然后检查一下,你的spark文件夹所属的权限是否是hadoop,如果不是在付一下权限

sudo chown -R hadoop /usr/local/spark

实验一

验证spark是否安装成功,在开启SPARK之前 要先开启HADOOP,只需在master节点执行

在hadoop用户下面

cd /usr/local/hadoop

sbin/start-all.sh

查看每个节点进程是否都已启动成功

jps

master:

slave1:

slave2:

 

单机模式验证

不需要启动spark在master上面直接运行:

bin/run-example SparkPi

输出信息太多,我们用管道命令过滤一下有用信息

bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

会输出 Pi is roughly 3.1460957304786525

要采用本地模式,在4个CPU核心上运行pyspark

cd /usr/local/spark

./bin/pyspark --master local[4]


Ubuntu搭建Hadoop、spark的评论 (共 条)

分享到微博请遵守国家法律