1. 软件版本,IP地址,修改主机名hosts文件

(1)软件版本:CentOS 7.0;JDK 8u141;Hadoop 2.7.3;Scala 2.11.8;Spark 2.2.0。

(2)IP地址:192.168.106.128(主节点);192.168.106.129(从节点);192.168.106.130(从节点)。

配置服务器IP地址,如下所示:

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
BOOTPROTO=static
ONBOOT=yes #系统启动时是否激活网卡
IPADDR=192.168.106.xxx
GATEWAY=192.168.106.2
NETMASK=255.255.255.0
DNS1=192.168.106.2
NM_CONTROLLED=no #如果为yes,那么实时生效
service network restart

(3)修改主机名:hostnamectl set-hostname "hostname"。

(4)修改/etc/hosts文件:192.168.106.128 Master;192.168.106.129 Slave1;192.168.106.130 Slave2。


2. 配置SSH无密码登录

(1)yum install openssh-server;yum install openssh-clients

(2)ssh-keygen -t rsa -P ''

(3)sudo vim /etc/ssh/sshd_config,如下所示:

RSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

(4)拷贝公钥

scp ssw@slave1:~/.ssh/id_rsa.pub  ~/.ssh/slave1_rsa.pub
scp ssw@slave2:~/.ssh/id_rsa.pub  ~/.ssh/slave2_rsa.pub
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat slave1_rsa.pub >> authorized_keys
cat slave2_rsa.pub >> authorized_keys
scp authorized_keys ssw@slave1:~/.ssh/
scp authorized_keys ssw@slave2:~/.ssh/
(5)sudo chmod 700 ~/.ssh;sudo chmod 600 ~/.ssh/authorized_keys;service sshd restart

说明:除(4)仅在Master上操作外,其它均在Master,Slave1,Slave2上操作。


3. Java和Scala环境搭建

(1)Java环境搭建

编辑/etc/profile,如下所示:

export JAVA_HOME=/usr/local/jdk1.8.0_141
export JRE_HOME=/usr/local/jdk1.8.0_141/jre
export CLAsspATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLAsspATH
export PATH=$JAVA_HOME/bin:$PATH

(2)Scala环境搭建

编辑/etc/profile,如下所示:

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


4. Hadoop环境搭建

(1)编辑/etc/profile,如下所示:

export HADOOP_HOME=/opt/hadoop-2.7.3/
 export PATH=$PATH:$HADOOP_HOME/bin
 export PATH=$PATH:$HADOOP_HOME/sbin
 export HADOOP_MAPRED_HOME=$HADOOP_HOME
 export HADOOP_COMMON_HOME=$HADOOP_HOME
 export HADOOP_HDFS_HOME=$HADOOP_HOME
 export YARN_HOME=$HADOOP_HOME
 export HADOOP_ROOT_LOGGER=INFO,console
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

(2)编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,如下所示:

export JAVA_HOME=/usr/local/jdk1.8.0_141
(3)编辑$HADOOP_HOME/etc/hadoop/slaves,如下所示:
Slave1
Slave2
(4)编辑$HADOOP_HOME/etc/hadoop/core-site.xml,如下所示:
<configuration>
	<property>
		<name>fs.defaultFS</name>
          	<value>hdfs://Master:9000</value>
     	</property>
     	<property>
          	<name>hadoop.tmp.dir</name>
          	<value>/opt/hadoop-2.7.3/tmp</value>
     	</property>
</configuration>
(5)编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml,如下所示:
<configuration>
	<property>
      		<name>dfs.namenode.secondary.http-address</name>
      		<value>Master:9001</value>
    	</property>
    	<property>
      		<name>dfs.replication</name>
      		<value>1</value>
    	</property>
    	<property>
      		<name>dfs.namenode.name.dir</name>
      		<value>file:/opt/hadoop-2.7.3/hdfs/name</value>
    	</property>
    	<property>
      		<name>dfs.datanode.data.dir</name>
      		<value>file:/opt/hadoop-2.7.3/hdfs/data</value>
    	</property>
</configuration>
(6)编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml,如下所示:
<configuration>
	<property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>
</configuration>
(7)编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml,如下所示:
<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
        	<name>yarn.resourcemanager.hostname</name>
         	<value>Master</value>
     	</property>
     	<property>
         	<name>yarn.nodemanager.aux-services</name>
         	<value>mapreduce_shuffle</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:8031</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>
(8)配置Slave1和Slave2
scp -r /opt/hadoop-2.7.3 root@Slave1:/opt
scp -r /opt/hadoop-2.7.3 root@Slave2:/opt
(9)启动Hadoop集群
sudo chmod -R a+w /opt/hadoop-2.7.3
hadoop namenode -format
/opt/hadoop-2.7.3/sbin/start-all.sh
(10)查看集群是否启动成功

Master:SecondaryNameNode;ResourceManager;NameNode。Slave:NodeManager;Datanode。


5. Spark环境搭建

(1)编辑/etc/profie,如下所示:

export SPARK_HOME=/opt/spark-2.2.0
export PATH=$PATH:$SPARK_HOME/bin
(2)编辑$SPARK_HOME/conf/spark-env.sh,如下所示:
export JAVA_HOME=/usr/local/jdk1.8.0_141
export SCALA_HOME=/usr/local/scala-2.11.8
export HADOOP_HOME=/opt/hadoop-2.7.3
export SPARK_HOME=/opt/spark-2.2.0
export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop
export SPARK_MASTER_IP=192.168.106.128
export SPARK_DRIVER_MEMORY=1G
(3)编辑$SPARK_HOME/conf/slaves,如下所示:
Master
Slave1
Slave2
(4)配置Slave1和Slave2
scp -r /opt/spark-2.2.0 root@Slave1:/opt
scp -r /opt/spark-2.2.0 root@Slave2:/opt
(5)启动Spark集群
/opt/spark-2.2.0/sbin/start-all.sh

(6)查看集群是否启动成功

Master:Master,Worker。Slave:Worker。


参考文献:

[1]Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程:http://www.cnblogs.com/zengxiaoliang/p/6478859.html

基于CentOS的Hadoop和Spark分布式集群搭建过程的更多相关文章

  1. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  2. ios – iPhone崩溃日志不能正确地符号化并且是双重间隔的

    任何建议超过欢迎.谢谢.解决方法当这件事发生在我身上时,它只是我通过电子邮件收到的日志.如果我记得,至少有一些是在.msg文件中,我不得不把它们拿出来.它可能是Exchange编码更改.如果你显示不可见的字符,你可能会看到每个字符之间的东西.您可以找到并替换它们以删除它们或更改编辑器中的编码.

  3. ios – Xcode 7 beta 2:LaunchScreen.storyboard无法打开文档

    我在两个不同的Mac(iMac和MacBookpro)上收到这个错误.不知道为什么人们不能再现它,但我需要一些帮助.在运行XX优胜美地10.10.4的Mac上运行Xcode7beta2(15六月’15).甚至无法编译和运行我的项目..我从创建菜单创建了一个视图应用程序项目,就是这样.编辑:我试图删除并重新添加storyboard文件(也可以打开Main.storyboard插件),我仍然得到相同的

  4. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  5. ios – Xcode Server 4.0 git从构建触发脚本推送

    我为一个托管在github上的项目安装了一个XcodeBot.我按照步骤和设置机器人来使用我现有的SSH密钥.验证成功,项目结算和建立.然后,我在预触发器操作中添加了一个shell脚本,它增加了plist中的版本,将其标记,并将该更改提交到github.但是当我尝试从shell脚本执行gitpush时,我得到:–推送到git@github.com:spex-app/spex-ios.git权限被拒

  6. ios – 在/usr/lib/system/libcache.dylib中,缺少必需的架构armv6

    在试图为iphoneos编写一个虚拟程序时,Xcode4,gcc似乎没有超出初始的sysroot目录如果我把sysroot,以下作品,但感觉非常干酪,而且不可伸缩.这里发生了什么?

  7. ios – Xcode上传错误:无法打开ssh会话. (16)

    注意:我们终于上传了该应用程序,但是我们并没有真正解决这个问题,所以如果有人可以分享一些有关这个问题的宝贵意见或经验,我将不胜感激.我也检查了以下2个类似的问题,但这些没有帮助:>Erroruploadingiosapplicationtoitunesconnect“failedtoopensshsession(16)”>AppStoresubmission/distributionerror“f

  8. OpenStack对象存储――Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

  9. 对象存储系统Swift技术详解:综述与概念

    通过阅读Swift的技术文档,我们可以理解其中的设计的原理和实现的方法。本人于9月底开始接触swift,刚开始看文档的时候一知半解,有幸阅读了zzcase等人的博客,才得以入门。随着对swift设计原理的理解和源码的深入,文档经过数次反复的修改,希望对各位学习swift的童鞋有所帮助,水平有限,若各位发现有错误之处,恳请指出。

  10. 《转》OpenStack对象存储——Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部