Hadoop 2.8集群安装及配置记录
第一部分:环境配置(含操作系统、防火墙、SSH、JAVA安装等)
Hadoop 2.8集群安装模拟环境为:
主机:Hostname:Hadoop-host,IP:10.10.11.225
节点1:Hostname:Hadoopnode1,IP:10.10.11.254
两台机器均为Centos 7.*,64位版本。
主机操作系统安装时采用界面化形式,节点1采用最小化安装。安装完成后,首先设置机器名称并设置固定IP,方法如下:
1.修改主机名:
修改/etc/host、hostname文件,注意请在host文件中一并添加hadoopnode1机器的IP地址。
- 10.10.11.225 Hadoop-host
- 10.10.11.254 hadoopnode1
- :: localhost
2.修改IP为固定IP方法:
修改网络配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736的内容,最终如下:
最难的是DNS的设置,刚开始在网上找了很多资料,都说是设置为虚拟机的网关即可,设置后发现主机与节点计算机之间可以Ping通,但是无法上网。几经周折,后发现网络配置页面里面明明写着DNS地址,于是抄过来,按其修改后保存后一切正常。
3.SSH面密码登录设置
首先生成rsa密匙与公匙,ssh-keygen -t rsa,一路回车后生成。然后利用命令:ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.10.11.254,然后输入密码后搞定。
备注:如果执行以上命令时遇到以下错误:
The authenticity of host 192.168.***.*** can't be established.可运行命令:ssh -o StrictHostKeyChecking=no 192.168.***.***,然后输入密码解决。
4.升级java openjdk。
centos 7.*系统版本自带openjdk,因为懒得缘故,本人想利用openjdk,这样就不用安装java jdk了。在此,用命令:yum install java,升级openjdk。升级完后,通过查询得知,openjdk的安装路径默认为:usr/lib/jvm/,根据此路径,设置系统的全局变量JAVA_HOME。打开文件/etc/profile,并在文件最后添加:
- export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.131-.b11.el7_3.x86_64/jre
- export PATH=$JAVA_HOME/bin:$PATH
注意,全局变量中的路径中是到bin文件夹上级目录位置,因此,路径最终必须为****/jre.
第二部分:安装并配置Hadoop 2.8
本人比较喜欢wget方式,找一个国内的Hadoop镜像站点,下载后,解压到指定目录(本示例解压到:/usr/hadoop),然后打开文件/etc/profile,并在文件最后添加:
- export HADOOP_HOME=/usr/hadoop
- export PATH=$PATH:$HADOOP_HOME/bin
保存并退出。
配置/usr/hadoop/etc/hadoop/文件夹下的各个配置文件,分别为:
core-site.xml
- <configuration>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/usr/hadoop/tmp</value>
- <final>true</final>
- <description>A base for other temporary directories.</description>
- </property>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://10.10.11.225:9000</value>
- <!-- hdfs://Master.Hadoop:22-->
- <final>true</final>
- </property>
- <property>
- <name>io.file.buffer.size</name>
- <value></value>
- </property>
- </configuration>
hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value></value>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/usr/local/hadoop/hdfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/usr/local/hadoop/hdfs/data</value>
- </property>
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>dfs.webhdfs.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>dfs.permissions</name>
- <value>false</value>
- </property>
- </configuration>
mapred-site.xml
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
yarn-site.xml
- <property>
- <name>yarn.resourcemanager.address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>yarn.resourcemanager.resource-tracker.address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>yarn.resourcemanager.admin.address</name>
- <value>hadoop-host:</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
- <value>org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- </configuration>
hadoop-env.sh
- export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.131-.b11.el7_3.x86_64/jre
即与系统的环境变量JAVA_HOME保持一致。
设置关键的分布式IP地址配置:(补充:只配置slaves文件也可以)
masters文件:
- 10.10.11.225
slaves文件:
- 10.10.11.254
10.10.11.225
如果在slaves文件里面没有包含Hadoop主机IP,那么启动时会只有一个datanode.
至此Hadoop配置工作告一段落。
最后,利用命令:scp –r /usr/hadoop root@hadoopnode1 :/usr/,将hadoop配置分发至hadoopnode1节点计算机。
第三部分:运行及结果
首先使用命令:hadoop namenode -format,格式化namenode,否则会报:Call From ****/**** to ****:9000 failed on connection exception: java.net.ConnectException: 拒绝连接;错误。
然后运行Hadoop启动命令:
start-all.sh
然后通过命令:hadoop dfsadmin -report可以查看节点情况,本示例为2个datanode,因此结果为:
由上图可以看出,有2个活跃的datanode节点。
通过网址查看整体运行情况:
如果出现节点无法连接情况,很可能是防火墙忘记关了。可采用命令:systemctl stop firewalld.service来关闭,还可以通过命令:system disable firewalld.service来禁止防火墙随开机启动。
总结:Hadoop 2.8本身的配置不算复杂,重点在于Centos 7.*系统环境的各种配置。Centos 7的命令较以前的版本发生了变化,网上资料要么都是以前版本的,无法直接应用,要么就是针对7.*版本的资料很少。这时需要认真分析,仔细排查,找出问题,这样才能逐步掌握配置方法。另外,刚开始学习时,由于缺乏积累,出现几次配置失败是很稀松平常的,这时候千万要抵住压力与挫折,在学习过程中一定要保持足够的耐心,不能因为一点点的挫折而放弃学习新环境的机会。拿自己来说,自己经过几次的配置,满以为总算能成功了,没想到在运行时却发现结果不对,当时差点就放弃了,还好最终时刻通过排查防火墙,发现并解决了问题,出现了预期结果。总之,耐心与细心缺一不可。
Hadoop 2.8集群安装及配置记录的更多相关文章
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)
ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...
- MySQL集群安装与配置
MySQL集群安装与配置 文章目录 [隐藏] 一.mysql集群安装 二.节点配置 三.首次启动节点 四.测试服务是否正常 五.安全关闭和重启 MySQL Cluster 是 MySQL 适合于分 ...
- Hadoop多节点集群安装配置
目录: 1.集群部署介绍 1.1 Hadoop简介 1.2 环境说明 1.3 环境配置 1.4 所需软件 2.SSH无密码验证配置 2.1 SSH基本原理和用法 2.2 配置Master无密码登录所有 ...
- 一步步教你Hadoop多节点集群安装配置
1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesys ...
- hadoop学习之hadoop完全分布式集群安装
注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...
- Hadoop学习---CentOS中hadoop伪分布式集群安装
注意:此次搭建是在ssh无密码配置.jdk环境已经配置好的情况下进行的 可以参考: Hadoop完全分布式安装教程 CentOS环境下搭建hadoop伪分布式集群 1.更改主机名 执行命令:vi / ...
- hadoop2.7.7 分布式集群安装与配置
环境准备 服务器四台: 系统信息 角色 hostname IP地址 Centos7.4 Mster hadoop-master-001 10.0.15.100 Centos7.4 Slave hado ...
- kafka集群安装与配置
一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/ap ...
随机推荐
- Touch Gesture手势总结
- 使用C语言开发PHP扩展(转)
本篇文章给大家带来的内容是介绍如何使用C语言给PHP写扩展,,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.在php源码路径的ext文件夹下,新建一个extend_test.de ...
- AI之旅(7):神经网络之反向传播
前置知识 求导 知识地图 神经网络算法是通过前向传播求代价,反向传播求梯度.在上一篇中介绍了神经网络的组织结构,逻辑关系和代价函数.本篇将介绍如何求代价函数的偏导数(梯度). 梯度检测 在 ...
- python websocket Django 实时消息推送
概述: WebSocket 是什么? WebSocket 是 HTML5 提供的一种浏览器与服务器间进行全双工通讯的协议.依靠这种协议可以实现客户端和服务器端 ,一次握手,双向实时通信. WebSoc ...
- 微信h5,背景音乐自动播放
移动端默认是禁止背景音乐自动播放的,很多需求都需要在页面加载完成的情况下同时出现背景音乐. 既然是微信h5,那么wx.config肯定不陌生,废话不多,直接上代码: html: <audio s ...
- Python 虚拟环境[virtualenv/virtualenvwrapper]设置
virtualenv virtualenv 是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python ...
- 用户控件 RadioButtonList
public static MvcHtmlString RadioButtonList(this HtmlHelper htmlHelper, string name, string codeCate ...
- 理解java容器:iterator与collection,容器的起源
关于容器 iterator与collection:容器的起源 iterator的简要介绍 iterable<T> iterator<T> 关于remove方法 Collecti ...
- 为什么要用docker
一:更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高.无论是应用执行速度.内存损耗或者文件存储速度,都要比传统 ...
- Deloyment Descriptor web.xml
Deployment Descriptor部署描述符: - 部署描述符是要部署到Web容器或EJB容器的Web应用程序或EJB应用程序的配置文件. - 部署描述符应包含EJB应用程序中所有企业bean ...