spark分布式安装 spark集群搭建 hadoop集群搭建

xiaoxiao2021-02-27  267

搭建1个master,2个slave的集群方案。

软件

操作系统:ubuntu16.04 #同样适用centos系统 hadoop:hadoop-2.7.2.tar.gz scala:scala-2.11.8.tgz spark: spark-1.6.1-bin-hadoop2.6.tgz java:jdk-8u91-linux-x64.tar.gz 12345 12345

创建hadoop用户

sudo useradd -m hadoop -s /bin/bash sudo passwd hadoop sudo adduser hadoop sudo su hadoop #是要切换用户的 1234 1234

更改hostname

vim /etc/hostname master内容改为master slave分别改为slave1、slave2 123 123

配置hosts

每台主机上修改hosts文件

vim /etc/hosts 10.103.29.164 slave1 10.103.31.124 master 10.103.31.186 slave2 123456 123456

配置之后,ping一下看是否生效

master: ping slave1 ping slave2 123 123

ssh免密码登陆

ubuntu只需要安装openssh-server

sudo apt-get install openssh-server 1 1

在所有主机上生成私钥和公钥

ssh-keygen -t rsa #一直回车 1 1

将每个slave上的id_rsa.pub发给master节点

scp ~/.ssh/id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub.slave1 1 1

在master上,将所有的公钥加到用于认证的公钥文件authorized_keys中

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

将公钥文件authorized_keys分发给每台slave

scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/ 1 1

在每台机子上验证ssh无密码通信

ssh master ssh slave1 ssh slave2 123 123

java安装

创建Java安装目录

sudo mkdir /usr/lib/jvm/ 1 1

将java安装文件解压到此目录

tar -zxvf dk-8u91-linux-x64.tar.gz 1 1

修改环境变量

sudo vim /etc/profile 1 1

添加下列内容,

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91 export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib 1234 1234

然后使用环境生效,验证java是否安装成功

source /etc/profile java -version 12 12

创建scala、hadoop、spark安装目录

sudo mkdir /usr/local/data 将scala、hadoop、spark的安装包mv到这个目录 sudo chown -R hadoop:hadoop /usr/local/data #更改文件所有者 123 123

很多问题就是,复制的文件的所有者并不是当前用户

安装scala

在安装目录中解压

tar -zxvf scala-2.11.8.tgz 1 1

再次修改环境变量,sudo vim /etc/profile。并添加以下内容

export SCALA_HOME=/usr/local/data/scala-2.11.8 export PATH=$PATH:$SCALA_HOME/bin 12 12

使配置生效,并验证Scala是否安装成功

source /etc/profile scala -version 12 12

安装hadoop yarn

同样将Hadoop安装包解压到安装目录

tar -zxvf hadoop-2.7.2.tar.gz 1 1

配置hadoop

cd /usr/local/data/hadoop-2.7.2/etc/hadoop 1 1

1.配置hadoop-env.sh

# The java implementation to use. export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91 12 12

2.配置yarn-env.sh

# some Java parameters export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91 12 12

3.配置slaves

slave1 slave2 12 12

4.配置core-site.xml

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000/</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/spark/workspace/hadoop-2.6.0/tmp</value> </property> </configuration> 12345678910 12345678910

5.修改hdfs-site.xml

<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/spark/workspace/hadoop-2.6.0/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/spark/workspace/hadoop-2.6.0/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> 123456789101112131415161718 123456789101112131415161718

6.修改mapred-site.xml(cp mapred-site.xml.template mapred-site.xml)

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 123456 123456

7.修改yarn-site.xml

<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</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:8035</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> 123456789101112131415161718192021222324252627282930 123456789101112131415161718192021222324252627282930

将配置好的hadoop-2.7.2分发给slaves,scp命令。

启动hadoop

在hadoop-2.7.2文件中

bin/hadoop namenode -format sbin/start-dfs.sh sbin/start-yarn.sh 123 123

验证hadoop是否安装成功

用jps查看各个节点启动的进程是否正常。

$ jps #run on master 3407 SecondaryNameNode 3218 NameNode 3552 ResourceManager 3910 Jps 12345 12345 $ jps #run on slaves 2072 NodeManager 2213 Jps 1962 DataNode 1234 1234

或者在浏览器中输入 http://master:8088 ,应该有 hadoop 的管理界面出来了,并能看到 slave1 和 slave2 节点。

安装spark

同样将Spark安装包解压到安装目录

tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz 1 1

配置spark

cd spark-1.6.1-bin-hadoop2.6/conf #进入spark配置目录 cp spark-env.sh.template spark-env.sh #从配置模板复制 vi spark-env.sh #添加配置内容 123 123

在spark-env.sh末尾添加以下内容

export SCALA_HOME=/usr/local/data/scala-2.11.8 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91 export HADOOP_HOME=/usr/local/data/hadoop-2.7.2 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop SPARK_MASTER_IP=master SPARK_LOCAL_DIRS=/usr/local/data/spark-1.6.1-bin-hadoop2.6 SPARK_DRIVER_MEMORY=1G 1234567 1234567

修改slaves文件,vim slaves

slave1 slave2 12 12

将配置好的spark-1.6.1-bin-hadoop2.6文件夹分发给所有的slaves

scp -r 命令 1 1

启动spark

sbin/start-all.sh 1 1

验证spark是否安装成功

用jps检查

$ jps #master 7949 Jps 7328 SecondaryNameNode 7805 Master 7137 NameNode 7475 ResourceManager 123456 123456 $jps #slaves 3132 DataNode 3759 Worker 3858 Jps 3231 NodeManager 12345 12345

进入Spark的Web管理页面: http://master:8080

运行实例  master上执行命令

$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ lib/spark-examples*.jar \ 10 12345 12345

参考链接  spark on yarn

转载请注明原文地址: https://www.6miu.com/read-3667.html

最新回复(0)