1-hadoop安装、ssh、节点退役与服役
1、准备
四台虚拟机
①卸载openjdk
②安装jdk
2. 配置静态ip:
ip : 每个机器在internet上的唯一标识
子网掩码: 必须结合IP地址一起使用,将某个IP地址划分成网络地址和主机地址两部分。
网关 : 网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备
DNS : 它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
①进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-xxxxx),
BOOTPROTO=static #改成静态连接
ONBOOT=yes
IPADDR=192.168.40.10 #需要设置的静态ip,必须在网段内,需要自己查看虚拟机的网段
NETMASK=255.255.255.0 #子网掩码,虚拟机上有
GATEWAY=192.168.40.2 #网关,路由器角色
DNS1=114.114.114.114 /#域名解析器
注:除了上面的几个属性,配置文件中其余的都是不必要的。
②关闭防火墙
systemctl stop firewalld.service //关闭防火墙
systemctl disable firewalld.service //永久关闭
systemctl status firewalld.service //查看防火墙状态。出现:disavtive(dead): 说明防火墙已经关闭
③验证
ping www.baidu.com //ping外网
ping 192.168.40.10 //ping另一台linux机器
3、修改主机映射
vi /etc/hosts 添加以下映射
192.168.40.10 s10 192.168.40.11 s11 192.168.40.12 s12 192.168.40.13 s13
2、SSH
1、在用户名中的家目录中进入到.ssh 隐藏目录中:
cd ~
cd ./.ssh
2、生成秘钥:
ssh-keygen -t rsa
3、所有机器上上重复以上的步骤1、2步骤
4、每台机器将秘钥分配到其他机器(包括本机):
ssh-copy-id s10 //我的分布式有四台,分别是s10,s11,s12,s13,每台机器都得把公匙发出去,发给所有的集群,包括发给自己
ssh-copy-id s11
ssh-copy-id s12
ssh-copy-id s13
注:如果是root用户免密登录,上述的操作都在root用户下。
5、验证
ssh s11 //能登录就行,第一次好像要输密码
3、hadoop安装:
①集群分配
s10:namenode,resourcemannager,secondary //名称节点,资源管理节点
s11:datanode,datamannager //数据节点
s12: datanode,datamannager //数据节点
s13:datanode,datamannager //数据节点
②修改配置文件
cd $HADOOP_HOME/etc/hadoop/
修改下面的四个文件
配置文件修改:
①core-site(名称节点及其文件保存路劲(默认文件系统)): <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.40.10:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/app/hadoop-2.7.2/data/tmp</value> </property> </configuration> ②hdfs-site(辅助名称节点、名称节点外部访问地址,是否开启权限): <configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.40.10:50090</value> </property> <property> <name>dfs.namenode.http-address</name> <value>192.168.40.10:50070</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> </configuration> ③yarn-site(mapreduce框架名、历史服务器外部访问地址,日志外部访问地址): <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.40.10:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.40.10:19888</value> </property> </configuration> ④mapred-site(resourcemanager节点,日志保存时间(7天),好像没有这个文件,需要 将mapred-site.xml.temple这个文件复制一份,然后名字改为mapred-site.xml): <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>192.168.40.10</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> </configuration> ⑤slave(名称节点): s11 s12 s13
格式化:
scp -r /opt/app/hadoop-2.7.2/etc/hadoop/ s11:/opt/app/hadoop-2.7.2/etc/ //目录分发(已存在则会覆盖)
rm -rf /opt/app/hadoop-2.7.2/data/tmp/* //删除目录文件(每一台)
hadoop namenode -format //格式化文件系统,会删除所有
启动:
start-all.sh
stop-all.sh //停止
4、节点退役与服役
1、准备工作:
①新节点的ip、hostname配置
②所有节点对新节点的主机映射、ssh配置
③将一个datanode的hadoop安装目录的scp给新节点
④新节点删除logs、data\tmp下面的所有文件
2、服役(namenode下配置)
①在slaves文件中添加新节点的主机映射
②新建dfs.include(白名单)、dfs.exclude(黑名单),并在白名单中输入所有的数据节点主机映射
③hdfs-site.xml
<property>
<!-- 白名单信息-->
<name>dfs.hosts</name>
<value>/home/hadoop/hadoop/etc/dfs.include</value>
</property>
<property>
<!-- 黑名单信息-->
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop/etc/dfs.exclude</value>
</property>
④单独启动节点(新节点中操作)
hadoop-daemon.sh start datanode //启动datanode,在50070端口可看到结果
yarn-daemon.sh start nodemanager //启动nodemannager,在8088端口可看见结果
⑤刷新节点
hdfs dfsadmin -refreshNodes
⑥平衡节点
start-balancer.sh
注:端口中查看可能会延迟一些时间
3、退役(namenode下配置)
①dfs.exclude(黑名单)文件中添加退役节点映射
②hdfs-site.xml
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/app/hadoop-2.7.2/etc/hadoop/dfs.exclude</value>
</property>
④刷新节点
hdfs dfsadmin -refreshNodes
注:此时web中,会出现正在退役,对其数据进行拷贝,待到出现已经退役,则退役成功。
⑤单独关闭节点(新节点中操作)
hadoop-daemon.sh stop datanode
yarn-daemon.sh stop nodemanager
⑥ 删除dfs.include(白名单) 中的新增节点的主机名称
⑦再次刷新节点
1-hadoop安装、ssh、节点退役与服役的更多相关文章
- hadoop 节点退役和服役
节点的服役和退役(hdfs)---------------------- 黑白名单的组合情况-------------------------include //dfs.includeexclude ...
- hadoop新旧节点
注意:黑白名单只出现在名称(nn)节点<!-- 白名单 --><property><name>dfs.hosts</name>/Users/yangya ...
- linux hadoop安装
linux hadoop安装 本文介绍如何在Linux下安装伪分布式的hadoop开发环境. 在一开始想利用cgywin在 windows下在哪, 但是一直卡在ssh的安装上.所以最后换位虚拟机+ub ...
- Hadoop基础-Hadoop的集群管理之服役和退役
Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...
- Hadoop安装教程_单机(含Java、ssh安装配置)
文章更新于:2020-3-24 按照惯例,需要的文件附上链接放在文首 文件名:Java SE Development Kit 8u241 文件大小:72 MB+ 下载链接:https://www.or ...
- 安装Hadoop系列 — 安装SSH免密码登录
配置ssh免密码登录 1) 验证是否安装ssh:ssh -version显示如下的话则成功安装了OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 ...
- 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...
- Hadoop安装指引
pre.ctl { font-family: "Liberation Mono", monospace } p { margin-bottom: 0.25cm; line-heig ...
- [Hadoop入门] - 2 ubuntu安装与配置 hadoop安装与配置
ubuntu安装(这里我就不一一捉图了,只引用一个网址, 相信大家能力) ubuntu安装参考教程: http://jingyan.baidu.com/article/14bd256e0ca52eb ...
随机推荐
- PHP 换行符 PHP_EOL
PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性: unix系列用 \n windows系列用 \r\n mac用 \r <?php echo PHP_EOL; //w ...
- Centos系统下Docker的安装
一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...
- js this详解,事件的三种绑定方式
this,当前触发事件的标签 在绑定事件中的三种用法: a. 直接HTML中的标签里绑定 onclick="fun1()"; b. 先获取Dom对象,然后利用dom对象在js里绑定 ...
- C# DataAdapter.Update() 无法更新数据表中删除的数据行
用DataAdapter.Update() 方法更新删除了部分DataRow 的 DataTable .但是数据库中的数据没有随着更新而变化. 原因:DataTable 删除 DataRow 时,使用 ...
- Gradle Java Web应用程序并在Tomcat上运行
1- 创建Gradle工程 打开 Eclipse ,在菜单中找到 File -> New -> Other…,在打开界面中选择 Gradle Project,如下图中所示 - 点击下一步( ...
- Java第07次实验提纲(异常)
PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换.父类型转化为子类型常见错误. 如何捕获多种类型的异常 简要输出异常信息,System.out.pri ...
- Jenkins的详细安装
操作环境:Windows 一.环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe: 2 配置tomcat 本文采用tomcat8,无需安装,配置JAVA_HOME及J ...
- 持续集成(Continuous Integration)基本概念与实践
本文由Markdown语法编辑器编辑完成. From https://blog.csdn.net/inter_peng/article/details/53131831 1. 持续集成的概念 持续集成 ...
- Java线程池管理及分布式Hadoop调度框架搭建
平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头. 怎么做一套简便的线程开发模 ...
- LeetCode——8. String to Integer (atoi)
一.题目链接:https://leetcode.com/problems/string-to-integer-atoi/ 二.题目大意: 实现一个和C语言里atoi具有相同功能的函数,即能够把字符串转 ...