一、运行环境
CentOS 6.5
Spark 2.2.1
Hadoop 2.7.5
Java JDK 1.8
Scala 2.12.5
二、节点IP及角色对应关系
节点名 IP Spark角色 hadoop角色 hyw-spark-1 10.39.60.221 master、worker master hyw-spark-2
10.39.60.222 worker slave hyw-spark-3 10.39.60.223 worker slave
三、基础环境配置
3.1、各节点创建hadoop用户并设置sudo权限 (在root用户下执行)
#groupadd -g hadoop
#useradd -g hadoop hadoop
#passwd hadoop
#chmod 770 /etc/sudoers
#echo 'hadoop ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
#chmod 440 /etc/suoders
3.2、各节点配置主机名与IP地址的映射 (在root用户下执行)
#vim /etc/hosts
添加如下内容:
10.39.60.221 hyw-spark-1
10.39.60.222 hyw-spark-2
10.39.60.223 hyw-spark-3
3.3、配置ssh免密码登录 (在hadoop用户下执行)
各节点执行以下命令生成秘钥
#su - hadoop
$cd ~/.ssh
$ssh-keygen -t rsa
$ssh-keygen -t dsa
在hyw-spark-1节点上执行以下命令
$cat ./id_rsa.pub >> ./authorized_keys
$cat ./id_dsa.pub >> ./authorized_keys
$ssh hyw-spark-2 cat ~/.ssh/id_rsa.pub >> ./authorized_keys
$ssh hyw-spark-2 cat ~/.ssh/id_dsa.pub >> ./authorized_keys
$ssh hyw-spark-3 cat ~/.ssh/id_rsa.pub >> ./authorized_keys
$ssh hyw-spark-3 cat ~/.ssh/id_dsa.pub >> ./authorized_keys
$scp ./authorized_keys hadoop@hyw-spark-2:~/.ssh
$scp ./authorized_keys hadoop@hyw-spark-3:~/.ssh
各节点执行以下命令验证等效性
$ssh hyw-spark-1 date
$ssh hyw-spark-2 date
$ssh hyw-spark-3 date
四、jdk安装(在hadoop用户下执行)
4.1、下载文件到/opt目录下,解压文件并改名
$cd /opt
$sudo tar -xzvf /opt/jdk-8u73-linux-x64.tar.gz
$sudo mv jdk1.8.0_73 jdk1.8
4.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
更新环境变量
source /etc/profile
4.3、检查jdk版本
$java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
五、scala安装(在hadoop用户下执行)
5.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf scala-2.12.5.tgz -C /usr/local
$cd /usr/local
$sudo mv scala-2.12.5 scala
$sudo chown -R hadoop:hadoop scala
5.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export SCALA_HOME=/usr/local/scala
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin
更新环境变量
$source /etc/profile
5.3、检查scala版本
$scala -version
Scala code runner version 2.12.5 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.
六、hadoop集群安装(在hadoop用户下执行)
6.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf /opt/hadoop-2.7.5.tar.gz -C /usr/local
$cd /usr/local
$sudo mv hadoop-2.7.5 hadoop
$sudo chown -R hadoop:hadoop hadoop
$sduo mkdir /usr/local/hadoop/tmp
6.2、设置环境变量
$sudo vi /etc/profile
添加如下内容(注意hadoop目录下的bin和sbin都需要添加)
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
更新环境变量
$source /etc/profile
6.3、检查hadoop版本
$hadoop version
Hadoop 2.7.5
Subversion https://shv@git-wip-us.apache.org/repos/asf/hadoop.git -r 18065c2b6806ed4aa6a3187d77cbe21bb3dba075
Compiled by kshvachk on 2017-12-16T01:06Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.5.jar
6.4、hadoop配置文件修改
以下操作均在master节点配置,配置完成后scp到slave节点
cd /usr/local/hadoop/etc/hadoop
6.4.1、$vim hadoop-env.sh
添加如下内容:
export JAVA_HOME=/opt/jdk1.8
export HADOOP_PREFIX=/usr/local/hadoop
6.4.2、$vim yarn-env.sh
添加如下内容:
export JAVA_HOME=/opt/jdk1.8
6.4.3、$vim core-site.xml
将文件末尾 修改为
6.4.4、$vim hdfs-site.xml
将文件末尾 修改为
6.4.5、$vim mapred-site.xml
将文件末尾 修改为
6.4.6、$vim yarn-site.xml
将文件末尾修改为
6.4.7、$vim slaves
添加如下内容
hyw-spark-1
hyw-spark-2
hyw-spark-3
6.4.8、拷贝文件到slave节点(总共7个文件)
$scp hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave hadoop@hyw-spark-2:/usr/local/spark/etc/spark/
$scp hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave hadoop@hyw-spark-3:/usr/local/spark/etc/spark/
6.5、启动hadoop集群
6.5.1、格式化NameNode
在Master节点上,执行如下命令
$hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
6.5.2、启动HDFS(NameNode、DataNode)
在Master节点上,执行如下命令
$start-dfs.sh
使用jps命令在Master上 可以看到如下进程:
8757 SecondaryNameNode
7862 DataNode
7723 NameNode
8939 Jps
使用jps命令在两个Slave上可以看到如下进程:
7556 Jps
7486 DataNode
6.5.3启动Yarn(ResourceManager 、NodeManager)
在Master节点上,执行如下命令
$start-yarn.sh
使用jps命令 在Master上 可以 看到如下进程:
9410 Jps
8757 SecondaryNameNode
8997 ResourceManager
7862 DataNode
9112 NodeManager
7723 NameNode
使用jps命令 在两个Slave上可以看到如下进程:
7718 Jps
7607 NodeManager
7486 DataNode
6.5.4通过浏览器查看HDFS信息
浏览器访问http://10.39.60.221:50070,出现如下界面
七、spark安装(在hadoop用户下执行)
7.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz -C /usr/local
$cd /usr/local
$sudo mv spark-2.2.1-bin-hadoop2.7/ spark
$sudo chown -R hadoop:hadoop spark
7.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export SPARK_HOME=/usr/local/spark
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
更新环境变量
source /etc/profile
7.3、配置文件修改
以下操作均在master节点配置,配置完成后scp到slave节点
$cd /usr/local/spark/conf
7.3.1、$cp spark-env.sh.template spark-env.sh
$vim spark-env.sh
添加如下内容
export JAVA_HOME=/opt/jdk1.8
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala
export SPARK_MASTER_IP=10.39.60.221
export SPARK_WORKER_MEMORY=1g
7.3.2、$cp slaves.template slaves
$vim slaves
添加如下内容
hyw-spark-1
hyw-spark-2
hyw-spark-3
7.3.3拷贝文件到slave节点
$scp -r spark-env.sh slaves hadoop@hyw-spark-2:/usr/local/spark/conf/
$scp -r spark-env.sh slaves hadoop@hyw-spark-3:/usr/local/spark/conf/
7.4、启动spark
7.4.1、启动Master节点
Master节点上,执行如下命令:
$start-master.sh
使用jps命令 在master节点上可以看到如下进程:
10016 Jps
8757 SecondaryNameNode
8997 ResourceManager
7862 DataNode
9112 NodeManager
9832 Master
7723 NameNode
7.4.2、启动worker节点
Master节点上,执行如下命令:
$start-slaves.sh
使用jps命令 在三个worker节点上可以看到如下进程:
7971 Worker
7486 DataNode
8030 Jps
7.5、 通过浏览器查看spark信息
浏览器访问http://10.39.60.221:8080,出现如下界面
至此,spark的安装就完成啦~
CentOS 6.5
Spark 2.2.1
Hadoop 2.7.5
Java JDK 1.8
Scala 2.12.5
二、节点IP及角色对应关系
节点名 IP Spark角色 hadoop角色 hyw-spark-1 10.39.60.221 master、worker master hyw-spark-2
10.39.60.222 worker slave hyw-spark-3 10.39.60.223 worker slave
三、基础环境配置
3.1、各节点创建hadoop用户并设置sudo权限 (在root用户下执行)
#groupadd -g hadoop
#useradd -g hadoop hadoop
#passwd hadoop
#chmod 770 /etc/sudoers
#echo 'hadoop ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
#chmod 440 /etc/suoders
3.2、各节点配置主机名与IP地址的映射 (在root用户下执行)
#vim /etc/hosts
添加如下内容:
10.39.60.221 hyw-spark-1
10.39.60.222 hyw-spark-2
10.39.60.223 hyw-spark-3
3.3、配置ssh免密码登录 (在hadoop用户下执行)
各节点执行以下命令生成秘钥
#su - hadoop
$cd ~/.ssh
$ssh-keygen -t rsa
$ssh-keygen -t dsa
在hyw-spark-1节点上执行以下命令
$cat ./id_rsa.pub >> ./authorized_keys
$cat ./id_dsa.pub >> ./authorized_keys
$ssh hyw-spark-2 cat ~/.ssh/id_rsa.pub >> ./authorized_keys
$ssh hyw-spark-2 cat ~/.ssh/id_dsa.pub >> ./authorized_keys
$ssh hyw-spark-3 cat ~/.ssh/id_rsa.pub >> ./authorized_keys
$ssh hyw-spark-3 cat ~/.ssh/id_dsa.pub >> ./authorized_keys
$scp ./authorized_keys hadoop@hyw-spark-2:~/.ssh
$scp ./authorized_keys hadoop@hyw-spark-3:~/.ssh
各节点执行以下命令验证等效性
$ssh hyw-spark-1 date
$ssh hyw-spark-2 date
$ssh hyw-spark-3 date
四、jdk安装(在hadoop用户下执行)
4.1、下载文件到/opt目录下,解压文件并改名
$cd /opt
$sudo tar -xzvf /opt/jdk-8u73-linux-x64.tar.gz
$sudo mv jdk1.8.0_73 jdk1.8
4.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
更新环境变量
source /etc/profile
4.3、检查jdk版本
$java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
五、scala安装(在hadoop用户下执行)
5.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf scala-2.12.5.tgz -C /usr/local
$cd /usr/local
$sudo mv scala-2.12.5 scala
$sudo chown -R hadoop:hadoop scala
5.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export SCALA_HOME=/usr/local/scala
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin
更新环境变量
$source /etc/profile
5.3、检查scala版本
$scala -version
Scala code runner version 2.12.5 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.
六、hadoop集群安装(在hadoop用户下执行)
6.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf /opt/hadoop-2.7.5.tar.gz -C /usr/local
$cd /usr/local
$sudo mv hadoop-2.7.5 hadoop
$sudo chown -R hadoop:hadoop hadoop
$sduo mkdir /usr/local/hadoop/tmp
6.2、设置环境变量
$sudo vi /etc/profile
添加如下内容(注意hadoop目录下的bin和sbin都需要添加)
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
更新环境变量
$source /etc/profile
6.3、检查hadoop版本
$hadoop version
Hadoop 2.7.5
Subversion https://shv@git-wip-us.apache.org/repos/asf/hadoop.git -r 18065c2b6806ed4aa6a3187d77cbe21bb3dba075
Compiled by kshvachk on 2017-12-16T01:06Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.5.jar
6.4、hadoop配置文件修改
以下操作均在master节点配置,配置完成后scp到slave节点
cd /usr/local/hadoop/etc/hadoop
6.4.1、$vim hadoop-env.sh
添加如下内容:
export JAVA_HOME=/opt/jdk1.8
export HADOOP_PREFIX=/usr/local/hadoop
6.4.2、$vim yarn-env.sh
添加如下内容:
export JAVA_HOME=/opt/jdk1.8
6.4.3、$vim core-site.xml
将文件末尾 修改为
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://hyw-spark-1:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/usr/local/hadoop/tmp</value>
- </property>
- </configuration>
将文件末尾 修改为
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>3</value>
- </property>
- </configuration>
将文件末尾 修改为
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
6.4.6、$vim yarn-site.xml
将文件末尾修改为
- <configuration>
- <!-- Site specific YARN configuration properties -->
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>hyw-spark-1</value>
- </property>
- </configuration>
添加如下内容
hyw-spark-1
hyw-spark-2
hyw-spark-3
6.4.8、拷贝文件到slave节点(总共7个文件)
$scp hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave hadoop@hyw-spark-2:/usr/local/spark/etc/spark/
$scp hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave hadoop@hyw-spark-3:/usr/local/spark/etc/spark/
6.5、启动hadoop集群
6.5.1、格式化NameNode
在Master节点上,执行如下命令
$hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
6.5.2、启动HDFS(NameNode、DataNode)
在Master节点上,执行如下命令
$start-dfs.sh
使用jps命令在Master上 可以看到如下进程:
8757 SecondaryNameNode
7862 DataNode
7723 NameNode
8939 Jps
使用jps命令在两个Slave上可以看到如下进程:
7556 Jps
7486 DataNode
6.5.3启动Yarn(ResourceManager 、NodeManager)
在Master节点上,执行如下命令
$start-yarn.sh
使用jps命令 在Master上 可以 看到如下进程:
9410 Jps
8757 SecondaryNameNode
8997 ResourceManager
7862 DataNode
9112 NodeManager
7723 NameNode
使用jps命令 在两个Slave上可以看到如下进程:
7718 Jps
7607 NodeManager
7486 DataNode
6.5.4通过浏览器查看HDFS信息
浏览器访问http://10.39.60.221:50070,出现如下界面
![](http://img.blog.itpub.net/blog/attachment/201803/24/21167890_1521823297Rikz.png?x-oss-process=style/bb)
七、spark安装(在hadoop用户下执行)
7.1、下载文件到/opt目录下,解压文件到/usr/local
$cd /opt
$sudo tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz -C /usr/local
$cd /usr/local
$sudo mv spark-2.2.1-bin-hadoop2.7/ spark
$sudo chown -R hadoop:hadoop spark
7.2、设置环境变量
$sudo vi /etc/profile
添加如下内容
export SPARK_HOME=/usr/local/spark
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
更新环境变量
source /etc/profile
7.3、配置文件修改
以下操作均在master节点配置,配置完成后scp到slave节点
$cd /usr/local/spark/conf
7.3.1、$cp spark-env.sh.template spark-env.sh
$vim spark-env.sh
添加如下内容
export JAVA_HOME=/opt/jdk1.8
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala
export SPARK_MASTER_IP=10.39.60.221
export SPARK_WORKER_MEMORY=1g
7.3.2、$cp slaves.template slaves
$vim slaves
添加如下内容
hyw-spark-1
hyw-spark-2
hyw-spark-3
7.3.3拷贝文件到slave节点
$scp -r spark-env.sh slaves hadoop@hyw-spark-2:/usr/local/spark/conf/
$scp -r spark-env.sh slaves hadoop@hyw-spark-3:/usr/local/spark/conf/
7.4、启动spark
7.4.1、启动Master节点
Master节点上,执行如下命令:
$start-master.sh
使用jps命令 在master节点上可以看到如下进程:
10016 Jps
8757 SecondaryNameNode
8997 ResourceManager
7862 DataNode
9112 NodeManager
9832 Master
7723 NameNode
7.4.2、启动worker节点
Master节点上,执行如下命令:
$start-slaves.sh
使用jps命令 在三个worker节点上可以看到如下进程:
7971 Worker
7486 DataNode
8030 Jps
7.5、 通过浏览器查看spark信息
浏览器访问http://10.39.60.221:8080,出现如下界面
![](http://img.blog.itpub.net/blog/attachment/201803/24/21167890_15218225548aM1.png?x-oss-process=style/bb)
至此,spark的安装就完成啦~
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21167890/viewspace-2152191/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21167890/viewspace-2152191/