Spark集群环境配置
来源:互联网 发布:如何评价裸儿 知乎 编辑:程序博客网 时间:2024/06/03 16:20
- 申请了三个虚拟机
Host my0
HostName 10.0.61.13
Port22
User root
Host my1
HostName10.0.61.29
Port22
User root
Host my2
HostName10.0.61.38
Port22
User root
系统环境皆为fedora,系统上原有的java不可用,故删除掉
$ yum -y remove *java 移除所有包含java的软件包,并删除依赖其的包
$ rpm -qa | grep *java 查询是否还有包含java的已经安装的软件包
rpm和yum都能用来安装软件,但是使用yum不用解决软件包的依赖关系问题,而使用rpm则需要手动解决包的依赖关系
- ssh连接虚拟机后,一段时间不用就会断掉连接,可以在/etc/ssh/sshd_config中修改,该文件是ssh server的整体设置
ClientAliveInterval60
ClientAliveCountMax86400
Spark集群的配置
- 1.安装JDK
官网下载JDK压缩包,解压后设置环境变量,可在/etc/profile中添加,推荐在/etc/profile.d中添加脚本,这样要添加和移除环境变量就不用修改/etc/profile文件,添加和删除相应的脚本即可,并且方便写脚本对Worker节点统一配置。在/etc/profile.d/目录下创建java.sh脚本
export JAVA_HOME=/home/ruijun/jdk1.8.0_60
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/jre/lib/dt.jar:${JAVA_HOME}/jre/lib/tools.jar
$ source /etc/profile
$ java -version 即可看到java的版本信息
- 2.安装Scala
下载scala压缩包,解压后设置环境变量,同样在/etc/profile.d/目录下创建scala.sh脚本
export SCALA_HOME=/home/ruijun/scala-2.10.5
export PATH=${SCALA_HOME}/bin:$PATH
$ source /etc/profile
- 3.配置ssh免密码登陆
在~/.ssh/目录下创建config文件
Host my1
HostName10.0.61.29
Port22
User root
Host my2
HostName10.0.61.38
Port22
User root
设置hostname,这样就可以用ssh my1代替 ssh root@10.0.61.29了
在Master节点上执行
$ssh-keygen -t rsa
分发Master的公钥:
$scp ~/.ssh/id_rsa.pub my1:/home/
登陆Worker节点:
$ cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
其他Worker执行同样的操作
配置完毕如果Master仍然不能访问Worker,可以修改Worker的~/.ssh/authorized_keys 文件的权限,ssh对改文件的权限有严格的要求,权限码为600,命令为:$ chmod 600 ~/.ssh/authorized_keys
- 4.安装Hadoop
$ sudo useradd hadoop
官网下载压缩包,解压
$ tar -xvf hadoop-2.6.0.tar
$ mv hadoop-2.6.0 hadoop
$ chown -R hadoop:hadoop hadoop
$ mkdir /home/ruijun/hadoop/dfs
1)配置Hadoop环境变量
在/etc/profile.d/目录下添加hadoop.sh脚本
export JAVA_HOME=/home/ruijun/jdk1.8.0_60/bin/java
export HADOOP_INSTALL=/home/ruijun/hadoop
export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin:$PATH
export HADOOP_MAPRED_HOME=${HADOOP_INSTALL}
export HADOOP_COMMON_HOME=${HADOOP_INSTALL}
export HADOOP_HDFS_HOME=${HADOOP_INSTALL}
export YARN_HOME=${HADOOP_INSTALL}
$ source /etc/profile
2)配置hadoop-env.sh文件
$ pwd
/home/ruijun/hadoop/etc/hadoop
$ vim hadoop-env.sh
# The Java implementation to use
export JAVA_HOME=/home/ruijun/jdk1.8.0_60
3)配置yarn-env.sh
$ vim yarn-env.sh
# Java Home
export JAVA_HOME=/home/ruijun/jdk1.8.0_60
4)设置slaves节点,ip或者host
$ vim /etc/hosts
设置slaves的ip到host的映射
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.0.61.13 master
10.0.61.29 slave1
10.0.61.38 slave2
$ vim slaves
slave1
slave2
5)配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/ruijun/hadoop/tmp</value>
</property>
</configuration>
6)配置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/ruijun/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/ruijun/hadoo/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
7)配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
8)配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<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>
9)将配置好的hadoop文件夹分发给slaves节点
$ scp -r /home/ruijun/hadoop my1:/home/ruijun/
$ scp -r /home/ruijun/hadoop my2:/home/ruijun/
10)在slaves节点上同样添加hadoop用户,将分发得到的hadoop文件夹设置到hadoop用户下,设置hadoop的环境变量,设置/etc/hosts内容同Master节点上的/etc/hosts内容一样
$useradd hadoop
$chown -R hadoop:hadoop hadoop
在/etc/profile.d/目录下添加hadoop.sh脚本
export JAVA_HOME=/home/ruijun/jdk1.8.0_60/bin/java
export HADOOP_INSTALL=/home/ruijun/hadoop
export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin:$PATH
export HADOOP_MAPRED_HOME=${HADOOP_INSTALL}
export HADOOP_COMMON_HOME=${HADOOP_INSTALL}
export HADOOP_HDFS_HOME=${HADOOP_INSTALL}
export YARN_HOME=${HADOOP_INSTALL}
$ source /etc/profile
$vim /etc/hosts
10.0.61.13 master
10.0.61.29 slave1
10.0.61.38 slave2
11)启动Hadoop
在master上执行如下命令:
$ cd /home/ruijun/hadoop
$ bin/hadoop namenode -format
$ sbin/start-dfs.sh
$ sbin/start-yarn.sh
在master上检查进程是否正常启动:
$ jps
[root@fedora22_13 hadoop]# jps
3136 ResourceManager
10385 Master
2996 SecondaryNameNode
19478 Jps
2810 NameNode
slave节点上应该有的进程:
[root@fedora22_29 ~]# jps
22145 Jps
6278 Worker
2376 NodeManager
2269 DataNode
在浏览器中输入http://master:8088,有hadoop的管理界面出来
- 5.安装Spark
1)官网下载Spark压缩包,注意要和hadoop的版本对应。
下载spark-1.4.1-bin-hadoop2.6.tar
解压$ tar -xfv spark-1.4.1-bin-hadoop2.6.tar
$ mv spark-1.4.1-bin-hadoop2.6.tar spark-1.4.1
2)配置spark-env.sh
$ pwd
/home/ruijun/spark-1.4.1/conf
$ cp spark-env.sh.template spark-env.sh
$ vim spark-env.sh
添加如下内容:
export SCALA_HOME=/home/ruijun/scala-2.10.5
export JAVA_HOME=/home/ruijun/jdk1.8.0_60
export HADOOP_HOME=/home/ruijun/hadoop
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/home/ruijun/spark-1.4.1
SPARK_DRIVER_MEMORY=1G
3)配置slaves
$ vim slaves
# A Spark Worker will be started on each of the machines listed below.
slave1
slave2
4)分发spark文件夹给所有slaves
$ scp -r spark-1.4.1 my1:/home/ruijun/
$ scp -r spark-1.4.1 my2:/home/ruijun/
5)启动Spark
$ sbin/start-all.sh
$ jps
在master上的进程应该为:
[root@fedora22_13 spark-1.4.1]# jps
3136 ResourceManager
10385 Master
2996 SecondaryNameNode
19640 Jps
2810 NameNode
在slave上的进程应该为:
[root@fedora22_29 ~]# jps
22242 Jps
6278 Worker
2376 NodeManager
2269 DataNode
6)进入Spark管理界面:http://master:8080
7)运行示例
以集群Standalone模式运行
$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 lib/spark-examples-1.4.1-hadoop2.6.0.jar 100
以yarn-cluster模式运行
$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples-1.4.1-hadoop2.6.0.jar 100
0 0
- Spark集群环境配置
- spark集群环境配置
- spark配置:spark集群
- Spark集群环境搭建
- Spark集群环境搭建
- Spark集群环境搭建
- Spark集群配置
- Spark集群配置
- spark集群配置错误
- spark集群配置
- Spark集群配置
- spark 集群配置
- spark集群配置
- Spark集群配置
- spark 配置:yarn集群
- Spark集群硬件配置
- spark ha集群配置
- spark standalone 集群配置
- Cocos2dx-- Lua与C++绑定
- 今生,我的文字只为你写
- nyoj--76--超级台阶
- 最大的稳定版本号
- 树莓派 感光模块
- Spark集群环境配置
- Android samples API Demos之UI篇1(ActionBarCompat-ListPopupMenu)
- android 得到连接热点的ip的方法
- 测试要点2.0
- MongoDB学习6_MongoDB基本管理命令
- JQ的chart.js使用笔记
- CSS渐变
- COC历程-Mac快捷常识
- 第三章,变量