Hadoop2.6 安装布置问题总结(单机、分布式)
在debian7虚拟机上安装hadoop2.6,期间遇到一些问题在此记录一下。
安装参考:
Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
1、安装后出现
...
master: Error: JAVA_HOME is not set and could not be found.
...
需要看下对应日志的详细错误信息,在安装hadoop目录下(我的设置 HADOOP_PREFIX=/usr/local/hadoop) $HADOOP_PREFIX/logs/hadoop-hadoop-node-debian.log,根据信息可知道hadoop在运行环境中找不到 JAVA_HOME 变量,找不到jdk的位置
输入 env 发现我们已经设置了,但是hadoop发现不了,解决方法修改hadoop的环境设置文件,使用jdk的绝对路径:
在 $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh 中,可以发现
export JAVA_HOME=${JAVA_HOME}
将${JAVA_HOME} 改成jdk绝对路径(我的jdk路径为 /usr/lib/jvm/jdk1.8.0_111),即
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
修改后重启hadoop,问题解决
2、启动 start-dfs.sh 失败
启动dfs时(sh ./sbin/start-dfs.sh)出现报错
...
Syntax error: word unexpected (expecting “)”)”
...
根据其信息找到对应的脚步文件发现并没有问题,最后发现是bash的问题,sh 等同于 bash --posix,直接启动或使用bash启动就正常了:
./sbin/start-dfs.sh
或
bash ./sbin/start-dfs.sh
参考:https://blog.csdn.net/qq_16018407/article/details/78899796
3、启动start-dfs.sh后,使用jps发现 namesecondary进程不在,其对应报错:
...
... FATAL org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Failed to start secondary namenode
java.net.BindException: Port in use: 0.0.0.0:50090
...
发现端口已存在被占用,应该是前面启动失败时导致的问题解决方法就是找到对应的进程id然后kill掉:
sudo lsof -i:50090 -P //找到对应的进程id
sudo kill -9 PID //kill掉对应的进程
再重启 start-dfs.sh即可(先执行stop-dfs.sh),问题解决
参考:
Hadoop 安装配置错误总结
更新至 2018-6-5
最近搭了一个四台虚拟机的分布式集群,和进行了一次动态增加节点,故把遇到的问题分享一下。
4、克隆虚拟机:
我使用的是VMware Workstation,右键配置好的虚拟机--》管理--》克隆--》一直下一步到命名新虚拟机,指定安装位置--》完成
之后要编辑虚拟机--》网络适配器--》高级--》重新生成Mac地址--》确定。
5、指定ip和主机名
编辑 /etc/network/interfaces 文件可指定ip 和 网关等信息,然后可以使用 /etc/init.d/networking restart 重启生效;
编辑 /etc/hostname 文件可指定主机名,同时还需要修改 /etc/hosts 文件修改集群中的 ip和name关系,方便使用;
6、同步时间ntp
先下载ntp:
apt-get install ntp
然后修改ntp设置:
server [ip] iburst
重启:
/etc/init.d/ntp restart
查看结果:
ntpq -p
7、动态增加节点步骤:
- a、修改新服hostname和hosts文件,hosts文件需要同步到集群所有服务器
- b、设置所有namendoe免密登录到新服
- c、修改主节点slave文件,添加新增节点的ip信息(集群重启时使用)
- d、将hadoop的配置文件scp到新的节点上
- e、添加datanode:
在新增的节点上,运行sbin/hadoop-daemon.sh start datanode即可
然后在namenode通过hdfs dfsadmin -report查看集群情况
(后面3步没用到)
最后还需要对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,即hdfs dfsadmin -setBalancerBandwidth 67108864即可
默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5%
然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可
- f、添加nodemanager:
- 在新增节点,运行sbin/yarn-daemon.sh start nodemanager即可
- 在ResourceManager,通过yarn node -list查看集群情况
参考:
Hadoop 2.6.0动态添加节点
更新至2018-7-12
Hadoop2.6 安装布置问题总结(单机、分布式)的更多相关文章
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0 环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统.如果用的是 Ubuntu 系统,请查 ...
- Hadoop三种安装模式:单机模式,伪分布式,真正分布式
Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...
- Hadoop安装教程_伪分布式
文章更新于:2020-04-09 注1:hadoop 的安装及单机配置参见:Hadoop安装教程_单机(含Java.ssh安装配置) 注2:hadoop 的完全分布式配置参见:Hadoop安装教程_分 ...
- 安装配置 Kafka Manager 分布式管理工具
Kafka Manager 特性,它支持以下内容(官方译解): 管理多个群集容易检查集群状态(主题,消费者,偏移量,经纪人,副本分发,分区分配)运行首选副本选举使用选项生成分区分配,以选择要使用的代理 ...
- 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群
Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...
- 在 Linux 多节点安装配置 Apache Zookeeper 分布式集群
规划: 三台物理服务器就形成了(法定人数).对于高可用性集群,您可以使用高于3的任何奇数.例如,如果设置5台服务器,则集群可以处理两个故障节点等. 物理服务器需要开启的端口 2888 , 3888 和 ...
- 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...
- Hadoop安装教程_单机/伪分布式配置
环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统(可参考使用VirtualBox安装CentOS).如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoo ...
随机推荐
- 【PaPaPa】实现缓存决策 - 让你的缓存变的有智慧
我有话说 本来这一篇我打算放到后面再说,可是之前泄漏了一点关于缓存决策的代码后被好多人催更了. 在此感谢大家的支持,让我更有动力的写这个系列.你们的关注让我觉得我的决定是对的,我会坚持下去把这个项目做 ...
- Asp.Net Form验证不通过,重复登录(.net4,4.5form验证兼容性问题)
问题产生根源: 当然,其实应该需要保持线上所有机器环境一致!可是,写了一个小程序.使用的是4.5,aysnc/await实在太好用了,真心不想把代码修改回去. so,动了念头,在这台服务器上装个4.5 ...
- FileCopy方法
复制文件. 语法 FileCopy源,目标 FileCopy 语句语法包含以下命名参数: 部分 说明 source 必需. 指定要复制的文件的名称的字符串表达式. _源_可能包含目录或文件夹,和驱动器 ...
- PSR编码规范
PSR-1 代码风格规范(1)常量命名:类中的常量所有字母都必须大写,单词间用下划线分隔(2)类命名:类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范(3)方法命名:方法名称必须符合 c ...
- Hyperledger Fabric服务器配置及修改Docker容器卷宗存储根目录/位置
Hyperledger Fabric节点服务器对存储空间的消耗还是比较大的,在我实际生产体验的过程中,每一条请求数据大概仅2K左右,但实际占用空间远不止这点,每个节点都会对Block及链进行保存维护, ...
- sqli-labs学习笔记 DAY6
DAY 6 sqli-labs lesson 30 与上一题一样,需要用到HPP 查看源代码,参数两边加上了双引号,直接使用lesson 26a与lesson 27a的脚本即可 sqli-labs l ...
- 【推荐系统】neural_collaborative_filtering(源码解析)
很久没看推荐系统相关的论文了,最近发现一篇2017年的论文,感觉不错. 原始论文 https://arxiv.org/pdf/1708.05031.pdf 网上有翻译了 https://www.cnb ...
- python3去除字符串中括号及括号里面的内容
a = """ <option value="search-alias=arts-crafts-intl-ship">Arts & ...
- 基础业务:滚动到指定位置导航固定(CSS实现)
最近公司做的业务都是使用Vue.Element写的,涉及到的相应的基础业务像轮播.预加载.懒加载,都是使用 NPM上的工具来实现,原理和基础还是要有的,就来实现几个项目中常用到的业务. 经常见到这样的 ...
- NABC for Teamproject
“教育是一个社会发展的支柱, 你和我能看到并理解这个博客, 教育功不可没. 高等教育的形式并不是一成不变的, 高等教育一直在演进.”邹欣老师在博客上如此写道.为了迎合信息化时代的特色,网络上的知识传 ...