HADOOP及SPARK安装步骤及问题解决
说明:主节点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安装步骤及问题解决的更多相关文章
- Hadoop伪分布式安装步骤(hadoop0.20.2版本)
最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...
- linux hadoop 集群安装步骤
http://blog.csdn.net/xjavasunjava/article/details/12013677 1,时间同步hadoop集群的每台机器的时间不能相差太大. 安装集群前最好进行一下 ...
- Spark学习之Spark安装
Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark ...
- 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)
所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...
- hadoop入门学习教程--DKHadoop完整安装步骤
使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/ ...
- Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)
1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...
- 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 ...
- spark,hadoop集群安装注意
安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...
- 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)
说明:我这里安装的版本是hadoop2.7.3,hbase1.2.4,spark2.0.2,zookeeper3.4.9 (安装包:链接:http://pan.baidu.com/s/1c25hI4g ...
随机推荐
- fdisk 磁盘分区命令
fdisk fdisk磁盘分区命令 -v 打印 fdisk 的版本信息并退出.-l 列出指定设备的分区表信息并退出. 如果没有给出设备,那么使用那些在 /proc/partitions ( ...
- 完全理解Python 迭代对象、迭代器、生成器
在了解Python的数据结构时,容器(container).可迭代对象(iterable).迭代器(iterator).生成器(generator).列表/集合/字典推导式(list,set,dict ...
- Java - Java 8 新特性
一.Java8新特性 Java8概述:Java8,也就是jdk1.8版本,是意义深远的一个新版本.是Java5之后一个大的版本升级,让Java语言和库仿佛获得了新生. 二.Lambda表达式 Lamb ...
- SpringBoot2 集成测试组件,七种测试手段对比
一.背景描述 在版本开发中,时间段大致的划分为:需求,开发,测试: 需求阶段:理解需求做好接口设计: 开发阶段:完成功能开发和对接: 测试上线:自测,提测,修复,上线: 实际上开发阶段两个核心的工作, ...
- unity inputfield 过滤emoji输入
unity版本:unity2017.1.5f1 复现步骤:InputField在安卓手机InputField连续输入两个emoji会报错 报错内容: 2020-01-08 19:56:38.366 2 ...
- 去除HTML中的标签内容
采集后的数据都带有'<>'html标签: <img src="http://i4.hdfimg.com/www/images/giftrans/3d/da/7b/18414 ...
- EdgeX Foundry试运行
EdgeX Foundry试运行 简介 EdgeX Foundry是一个由Linux基金会发起的,且厂商中立的开源IoT边缘计算项目.它可以采集来自多个源的数据,并将这些数据转发到一个中央系统.Edg ...
- UnicodeDecodeError:'ascii' codec can't decode byte 0xe5 in position 89: ordinal not in range(128)
环境python2,在出现该错误的python文件,增加: import sys reload(sys) sys.setdefaultencoding('utf8') 重新运行,不再报错
- 使用Python操作InfluxDB时序数据库
使用Python操作InfluxDB时序数据库 安装python包 influxdb,这里我安装的是5.3.0版本 pip install influxdb==5.3.0 使用 from infl ...
- 深入探索Glide图片加载框架:做了哪些优化?如何管理生命周期?怎么做大图加载?
前言 Glide可以说是最常用的图片加载框架了,Glide链式调用使用方便,性能上也可以满足大多数场景的使用,Glide源码与原理也是面试中的常客. 但是Glide的源码内容比较多,想要学习它的源码往 ...