说明:主节点IP:192.168.35.134   主机名:master

从节点slave1 IP: 192.168.35.135   主机名:slave1

从节点slave2 IP: 192.168.35.136   主机名:slave2

1、检查环境,安装JDK:

Linux系统:用root用户登陆到系统,用如下命令查看当前安装jdk情况:

rpm -qa|grep jdk

显示:java version "1.8.0_131"  若版本过低,用如下命令卸载jdk:

 rpm -e  --nodeps  jdk1.8.0_131

下载好jdk安装包,使用WinSCP工具将安装包上传到主节点目录下。切换至用户模式:su - 用户名(如test)。

新建用户组:

groupadd hadoop

新建用户:

useradd hadoop

新建jdk安装目录:

mkdir /home/java;

执行命令:

tar -zxvf jdk-8u131-linux-x64.tar.gz -C /home/java

将jdk安装在指定目录/home/java下。等待安装,安装完后配置jdk环境变量,配置在/home/test/.bash_profile。

执行命令:

vim /home/test/.bash_profile

键盘按“i”,进入编辑模式,在下方新增如下内容:

export JAVA_HOME=/home/java/jdk1.8.0_131
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

键盘按“:wq!”保存更改的配置项。终端输入:

source /home/test/.bash_profile

检查jdk是否安装成功,终端输入:

java -version

显示:则表明安装成功。

2、配置主机名(root身份):

vim /etc/sysconfig/network

修改如下信息:

NETWORKING=yes
HOSTNAME=master

检查是否成功:

hostname

显示:master。则表示配置成功。其他从节点主机名均修改成相应的主机名。

3、配置host列表(root身份):

vim /etc/hosts

将下面内容添加至文件中:

192.168.35.134 master
192.168.35.135 slave1
192.168.35.136 slave2

住:若不知道本机ip地址,可使用命令:ipconfig或 ip addr show查看。

3、配置时钟同步(root身份),请参考这篇文章:

4、关闭防火墙(root身份):

查看防火墙状态,如下命令,若iptables已开启,需关闭防火墙。

 service iptables status

关闭防火墙命令:

chkconfig iptables off

5、各服务器节点之间配置SSH免密登录(用户身份登录):

终端输入:

ssh-keygen -t rsa

在各节点分别进入/home/hadoop/.ssh目录,在三个节点中分别把公钥id_rsa.pub命名为authorized_keys_master、authorized_keys_slave1和authorized_keys_slave2,使用命令如下:

cd /home/hadoop/.ssh
cp id_rsa.pub authorized_keys_hadoop1

把两个从节点(slave1、slave2)的公钥使用scp命令传送到master节点的/home/hadoop/.ssh文件夹中;

scp authorized_keys_slave1 hadoop@master:/home/hadoop/.ssh--在slave1节点上执行该条命令;
scp authorized_keys_slave2 hadoop@master:/home/hadoop/.ssh--在slave2节点上执行该条命令;

在主节点上把三个节点的公钥信息保存到authorized_keys文件中,主节点终端输入如下命令:

cat authorized_keys_master >> authorized_keys
cat authorized_keys_slave1 >> authorized_keys
cat authorized_keys_slave2 >> authorized_keys

把authorized_keys文件分发到其他两个从节点上,使用如下命令:

scp authorized_keys hadoop@slave1:/home/hadoop/.ssh
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh

在三台机器中使用如下设置authorized_keys读写权限

chmod 400 authorized_keys

测试ssh免密码登录是否生效:

ssh slave1
ssh slave2

能跳转至其他节点,则表明免密已生效,exit命令退出。

6、安装hadoop:

同样使用WinSCP工具将hadoop安装包上传到主节点目录下,新建hadoop安装目录:

mkdir /home/hadoop

执行命令:

tar -zxvf hadoop-2.8.2.tar.gz -C /home/hadoop

等待安装,安装后,配置环境变量。

6.1 配置hadoop-env.sh环境变量,执行命令:

vim /home/hadoop/hadoop-2.8.2/etc/hadoop/hadoop-env.sh

找到如下一行代码:

export JAVA_HOME=${JAVA_HOME}

将其改为:

export JAVA_HOME=/home/java/jdk1.8.0_131

保存即可。

6.2 配置yarn-env.sh环境变量

6.3 配置组件core-site.xml

6.4 配置文件系统hdfs-site.xml

6.5 配置文件系统yarn-site.xml

6.6 配置计算框架mapred-site.xml

6.7 配置从节点文件slaves

6.8 将上述安装好的hadoop复制到slave1和slave2节点。

6.9 配置hadoop系统环境变量

6.10 创建数据目录

6.11 格式化文件系统

6.12 启动hadoop集群

7、安装spark

8、问题及解决方法

问题一:hadoop的集群无法正常启动,其中jps命令错误。

分析原因:可能是.bash_profile文档需要重新source。Source的功能就是通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。(说明白点就是让修改过的文档重新生效)

解决方案:source下.bash_profile文件。

问题二:Spark提交Pi应用报错,日志显示:ERROR yarn.ApplicationMaster: Uncaught exception: java.lang.ClassNotFoundException: org.apache.spark.examples.SparkPi

分析原因:是jar包有问题

解决方案:换一个好的jar包再执行正确。

问题三:hadoop运行pi任务失败,日志显示:

ERROR client.TransportClient: Failed to send RPC 6920585401247025097 to /192.168.42.162:60956: java.nio.channels.ClosedChannelException

java.nio.channels.ClosedChannelException

at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)

分析原因:内存溢出

解决方案:在yarn-site.xml中增加两个配置项:

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
说明:yarn.nodemanager.vmem-check-enabled是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
问题四:启动hadoop后,Spark提交Pi应用报错,日志显示:
pplication application_1511319158710_0002 failed 2 times due to AM Container for appattempt_1511319158710_0002_000002 exited with  exitCode: 10
Failing this attempt.Diagnostics: Exception from container-launch.
Container id: container_1511319158710_0002_02_000001
Exit code: 10

分析原因:yarn-site.xml中value配置有空格

解决方案:yarn-site.xml中value配置不能有空格;

 
 

												

HADOOP及SPARK安装步骤及问题解决的更多相关文章

  1. Hadoop伪分布式安装步骤(hadoop0.20.2版本)

    最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...

  2. linux hadoop 集群安装步骤

    http://blog.csdn.net/xjavasunjava/article/details/12013677 1,时间同步hadoop集群的每台机器的时间不能相差太大. 安装集群前最好进行一下 ...

  3. Spark学习之Spark安装

    Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark ...

  4. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  5. hadoop入门学习教程--DKHadoop完整安装步骤

    使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/ ...

  6. Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...

  7. Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...

  8. spark,hadoop集群安装注意

    安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...

  9. 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)

    说明:我这里安装的版本是hadoop2.7.3,hbase1.2.4,spark2.0.2,zookeeper3.4.9 (安装包:链接:http://pan.baidu.com/s/1c25hI4g ...

随机推荐

  1. CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. ? 1 2 3 ...

  2. 启动dubbo消费端过程提示No provider available for the service的问题定位与解决

    文/朱季谦 某次在启动dubbo消费端时,发现无法从zookeeper注册中心获取到所依赖的消费者API,启动日志一直出现这样的异常提示 Failed to check the status of t ...

  3. vue 安装sass5.0版本遇到的问题

    cnpm install node-sass@4.9.2 --save-dev cnpm install sass-loader@7.3.1 --save-dev cnpm install style ...

  4. NVIDIA TensorRT高性能深度学习推理

    NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高 ...

  5. 单点突破:MySQL之日志

    前言 开发环境:MySQL5.7.31 日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息.若数据库发生故障,可通过不同日志记录恢复数据库的原来数据.因此实际上日志系统直接决定 ...

  6. springboot异常错误处理

    1.在有模板引擎的情况下: springboot会默认找 templates/error/错误状态码.html,所以我们要定制化错误页面就可以到templates/error下创建一个[对应错误状态码 ...

  7. 【VBA】显示所有隐藏的名称管理器中的名称

    Excel提示这个 代码: Sub DisplayNames() Dim Na As Name For Each Na In ThisWorkbook.Names Na.Visible = True ...

  8. noip2015 总结

    神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,--,N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方:首先将1写在第一行的 ...

  9. es6 快速入门 系列 —— promise

    其他章节请看: es6 快速入门 系列 Promise Promise 是一种异步编程的选择 初步认识Promise 用 Promise 来实现这样一个功能:发送一个 ajax,返回后输出 json ...

  10. 在vs中调试关闭之后不关闭页面

    在vs中调试api时会自动打开一个新的浏览器窗口,在关闭这个浏览器窗口时,会关闭调试.关闭调试时也会关闭浏览器窗口. 设置成调试时在已有的浏览器中打开调试页面,关闭调试也不会关掉浏览器窗口,反之亦然 ...