1 安装JDK
 
1) 进入JDK官网
2) 下载JDK安装包
3)配置环境变量,在/etc/profile增加以下代码
JAVA_HOME=/home/hadoop/jdk1.6.0_38
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
4)使profile文件更新生效
source /etc/profile
 
2 安装Scala
Scala 官网提供各个版本的Scala,用户需要根据Spark官方规定的Scala版本进行下载和安装。Scala官网地址为http://www.scala-lang.org/
1) 下载Scala
2)在目录下解压
tar -zxvf scala-2.10.4.tgz
 
3)配置环境变量,在/etc/profile中添加下面的内容
export SCALA__HOME=/home/hadoop/scala-2.10.4/scala-2.10.4
export PATH=${SCALA_HOME}/bin:$PATH
 
4)使用profile文件更新生效
source /etc/profile
 
3 配置SSH免密码登录
在集群管理和配置中有很多工具可以使用。例如,可以采用pssh等Linux工具在集群中分发与复制文件,用户也可以自己书写Shell、Python的脚步分发包。
Spark的Master节点向Worker节点命令需要通过ssh进行发送,用户不希望Master每发送一次命令就输入一次密码,因此需要实现Master无密码登陆到所有Worker。
Master作为客户端,要实现无密码公钥认证,连接服务端Worker。需要在Master上生成一个秘钥对,包括一个公钥和一个私钥,然后将公钥复制到Worker上。当Master通过ssh连接Worker
 
1)在Master节点上,执行以下命令
ssh-keygen-trsa
 
2)打印日志执行以下命令
 
如果是root用户,则在/root/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。
把Master上的id_rsa.pub文件追加到Worker的authorized_keys内。
3)复制Master的id_rsa.pub文件
scp id_rsa.pub root@172.20.14.144:/home
/*可使用pssh对全部节点分发*/
 
4)登录worker节点,执行以下命令
cat /home/id_rsa.pub >> /root/.ssh/authorized_keys
/*可使用pssh对全部节点分发*/
 
注意:配置完毕,如果Master仍然不能访问Worker,可以修改Worker的authorized_keys文件的权限,命令为 chmod 600 authorized_keys
 
4安装Hadoop
(1)下载hadoop-2.2.0
 
 1)选取一个Hadoop镜像网址,下载Hadoop
wget http://www.trieuvan.com/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
 
 2)解压tar包
tar -vxzf hadoop-2.2.0.tar.gz -C /usr/local
cd /usr/local
mv hadoop-2.2.0 hadoop
chown -R hduser:hadoop hadoop
 
(2)配置Hadoop环境变量
 1)编辑profile文件
vi /etc/profile
 
 2)在profile文件中增加以下内容
export JAVA_HOME=/usr/lib/jvm/jdk/
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
 
(3)编辑配置文件
 
 1)进入Hadoop所在目录
 2)配置hadoop-env.sh文件
export JAVA_HOME=/usr/lib/jvm/jdk/
 
 3)配置core-site.xml文件
<configuration>
/*这里的值指的是默认的HDFS路径*/
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>

/*缓冲区大小: io.file.buffer.size默认是4KB*/
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
/*临时文件夹路径*/
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/tmp</value>
<description> Abase for other temporary directories </description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>

 
 4) 配置yarn-site.xml文件
<configuration>
<property>
<name>yarn.nodemanager.aux-services</value>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
/*resourceManager的地址*/
<property>
<name>yarn.resourcemanager.address</name>
<value>Master:8030</value>
</property>
/*调度器的端口*/
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>Master1:8030</value>
</property>
/*resource-tracker端口*/
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>Master:8031</value>
/*resourcemanager管理器端口*/
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>Master:8033</value>
</property>
/*ResourceManager 的Web端口、监控 job 的资源调度*/
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>Master:8088</value>
</property>
</configuration>
 
 5)配置mapred-site.xml文件
<configuration>
/*hadoop对map-reduce运行矿建一共提供了3种实现,在mapred-site.xml中通过“mapreduce.framework.name”这个属性来设置为"classic"."yarn"或者“local”*/
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
/*MapReduce JobHistory Server地址*/
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
/*MapReduce JobHistory Server web UI 地址*/
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
</configuration>
 
 
(4)创建namenode和datanode目录,并配置其相应路径
  1)创建namenode和datanode目录,
mkdir /hdfs/namenode
mkdir /hdfs/datanode
 
  2)执行命令后,再次回到目录,配置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:/hdfs/namenode</value>
</property>
/*配置datanode的数据存储目录*/
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hdfs/datanode</value>
</property>
/*配置副本数*/
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
/*将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS,LISTFILESTATUS等需要列出文件,文件夹状态的命令,因为这些信息都是由namenode保存的*/
<proeprty>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
 
 
(5)配置Master和Slave文件
 1)Master文件负责配置主节点的主机名
Master /*Master为主节点主机名*/
 
 
 2)配置Slaves文件添加从节点主机名
/*Slave为从节点主机名*/
Slave1
Slave2
Slave3
Slave4
Slave5
 
 
(6)将Hadoop所有文件通过pssh发送到各个节点
./pssh -h hosts.txt -r /hadoop /
 
 
(7)格式化Namenode(在Hadoop根目录下)
  ./bin/hadoop namenode -format
 
(8)启动Hadoop
./sbin/start-all.sh
 
 
(9)查看是否配置和启动成功
jps
DataNode
ResourceManager
Jps
NodeManager
NameNode
SecondaryNameNode
 
ps-aux|grep *DataNode* /*查看DataNode进程*/
 
5 安装Spark
 
1)下载spark
2)解压
3)配置
 
编辑conf/Spark-env.sh文件,加入下面的配置参数
export SCALA_HOME=/paht/to/scala-2.10.4
export SPARK_WORKER_MEMORY=7g
export SPARK_MASTER_IP=172.16.0.140
export MASTER=spark://172.16.0.140:7077
 
4)配置slaves文件
编辑conf/slaves文件,以5个Worker节点为例,将节点的主机名加入slaves文件中
Slave1
Slave2
Slave3
Slave4
Slave5
 
6 启动集群
 
(1)Spark启动与关闭
  1)在Spark根目录启动Spark
./sbin/start-all.sh
2)关闭Spark
./sbin/stop-all.sh
 
(2)Hadoop的启动与关闭
  1)在Hadoop根目录启动Hadoop
  2)关闭Hadoop
 
(3)检测是否安装成功
 1)正常状态下的Master节点如下。
 2)利用ssh登录Worker节点

【Spark】---- 在Linux集群上安装和配置Spark的更多相关文章

  1. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  2. 06、部署Spark程序到集群上运行

    06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改 ...

  3. 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!

    在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins ...

  4. Dubbo入门到精通学习笔记(十三):ZooKeeper集群的安装、配置、高可用测试、升级、迁移

    文章目录 ZooKeeper集群的安装.配置.高可用测试 ZooKeeper 与 Dubbo 服务集群架构图 1. 修改操作系统的/etc/hosts 文件,添加 IP 与主机名映射: 2. 下载或上 ...

  5. ZooKeeper 集群的安装、配置---Dubbo 注册中心

    ZooKeeper 集群的安装.配置.高可用测试 Dubbo 注册中心集群 Zookeeper-3.4.6 Dubbo 建议使用 Zookeeper 作为服务的注册中心. Zookeeper 集群中只 ...

  6. Dubbo入门到精通学习笔记(十四):ActiveMQ集群的安装、配置、高可用测试,ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

    文章目录 ActiveMQ 高可用集群安装.配置.高可用测试( ZooKeeper + LevelDB) ActiveMQ高可用+负载均衡集群的安装.配置.高可用测试 准备 正式开始 ActiveMQ ...

  7. 大数据高可用集群环境安装与配置(06)——安装Hadoop高可用集群

    下载Hadoop安装包 登录 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 镜像站,找到我们要安装的版本,点击进去复制下载链接 ...

  8. 在Hadoop集群上的HBase配置

    之前,我们已经在hadoop集群上配置了Hive,今天我们来配置下Hbase. 一.准备工作 1.ZooKeeper下载地址:http://archive.apache.org/dist/zookee ...

  9. 大数据高可用集群环境安装与配置(09)——安装Spark高可用集群

    1. 获取spark下载链接 登录官网:http://spark.apache.org/downloads.html 选择要下载的版本 2. 执行命令下载并安装 cd /usr/local/src/ ...

随机推荐

  1. linux的库文件

    静态库和动态库 在windows中静态库是以 .lib 为后缀的文件,共享库是以.dll 为后缀的文件.在linux中静态库是以 .a 为后缀的文件,共享库是以 .so为后缀的文件. 以linux下的 ...

  2. sonar的安装与代码质量检测实例

    说明:sonar依赖数据库. mysql优化 1.笔者使用的是mysql数据库.首先对mysql做简单的优化配置. [root@localhost bin]# cat /etc/my.cnf [mys ...

  3. go2shell的安装与修改默认terminal方法

    go2shell的安装与修改默认terminal方法   1. 安装go2shell后,打开finder的application文件夹,找到go2shell 2. 按住command,用鼠标将go2s ...

  4. Lumia 830 win10m 启用触摸按键

    用了一年半的830疑似翘屏… 按键基本失灵 每次按的时候基本都是 appbar 那里有反映… 实在懒于换手机(主要是不想花钱…) 研究下怎么启用虚拟按键,还能再战几年… 启用虚拟按键 其实简单说法就是 ...

  5. css 单位转换

    如今 css 的单位越来越多了,px, em, rem, 微信的小程序又出来个 rpx 可以用 less 自动生成需要的单位 但当你只是想把一个已有的页面转换成小程序时,可能更需要一个 px -> ...

  6. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  7. c++中的&

    变量的前面表示取变量地址赋值给指针, 如:int a = 0; int *pa = &a;类型后面表示引用,引用即变量的替身. int a = 0; int &ref = a;操作re ...

  8. Kafka - 消费接口分析

    1.概述 在 Kafka 中,官方对外提供了两种消费 API,一种是高等级消费 API,另一种是低等级的消费 API.在 <高级消费 API>一文中,介绍了其高级消费的 API 实现.今天 ...

  9. 教你在Excel里做GA的水平百分比图的详细步骤(图文教程)-成为excel大师(1)

    GA报表除了默认的表格方式显示数据外,还支持饼图,水平百分比图,数据透视图等展现方式,其中水平百分比图在可视化看流量时最为方便,就像这样: 那么当我们要在Excel里做类似的效果应该怎么做呢?尤其是数 ...

  10. 使用magick.net将pdf转换为图片

    现在手上有个需求是要将pdf转换为一页一页的image.最开始找到的是pdfbox来处理pdf的.在pdfbox.apache.org的官网首页写了一句'convert you pdfs to ima ...