大数据培训新三板挂牌机构 股票代码:837906 | EN CN
异常解决方案—NameNode 宕机读写测试
异常解决方案—NameNode 宕机切换实验
异常解决方案—Data Node 配置
异常解决方案—Backup Node配置
异常解决方案—NameNode配置
异常解决方案—6.5.1异常情况分析
安装及配置
5NameNode安装及配置以及6BackupNode安装及配置
6.4.4虚拟机集群架设
6.4.3安装JDK
3.配置操作系统
2.创建虚拟机与安装操作系统
6.4构建实验环境
实验方案说明
故障切换机制
日志池(journal spool)机制
元数据操作情景分——BackupNode更新磁盘上的日志文件
元数据操作情景分——NameNode通过日志输出流......
元数据操作情景分——NameNode将日志写入日志文件
元数据操作情景分——NameNode更新内存镜像
元数据操作情景分——客户端执行命令流程
元数据操作情景分
Hadoop的Backup Node方案——运行机制分析(5)
Hadoop的Backup Node方案——运行机制分析(4)
Hadoop的Backup Node方案——运行机制分析(3)
Hadoop的Backup Node方案——运行机制分析(2)
Hadoop的Backup Node方案——运行机制分析(1)
Hadoop的Backup Node方案——系统架构
Hadoop的Backup Node方案—Backup Node 概述
元数据可靠性机制以及使用说明
Checkpoint 过程情景分析
元数据更新及日志写入情景分析
NameNode启动加载元数据情景分析
Hadoop的元数据备份机制的进行分析
元数据应用场景分析
Format情景分析
磁盘元数据文件
HDFS之代码分析——元数据结构
HDFS之内存元数据结构
什么是HDFS的元数据
Hadoop中DRDB方案和AvatarNode方案
Hadoop中常用各方案的对比
Hadoop的BackupNode方案
Hadoop的CheckpointNode方案
Hadoop的SecondaryNameNode方案
Hadoop的元数据备份方案
影响HDFS可用性的几个因素
什么是高可用性? 详细解析
HDFS系统架构简介
如何安装和配置Hadoop集群
如何在Windows下安装Hadoop
在MacOSX上安装与配置Hadoop
Linux下安装Hadoop的步骤
Hadoop的集群安全策略介绍
Hive的数据管理介绍
HBase的数据管理介绍
HDFS的数据管理介绍
Hadoop计算模型之 MapReduce 简介
Hadoop于分布式开发
Hadoop体系结构介绍
Hadoop的项目结构详解
一文读懂Hadoop

异常解决方案—NameNode配置

于2018-01-24由小牛君创建

分享到:


6.5.2NameNode配置

视频参见:\视频\4BackupNode\7hadoop-0.21.0部署流程.exe

1.ssh无密码登录本地或远程节点

HDFS是一个集群系统,因此很多情况下需要通过ssh远程控制其他节点,将集群中的节点设置成无密码的ssh登录,便于实现远程节点的自动控制。

1namenode0无密码登录本机。

$ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

直接回车后会在~/.ssh/中生成两个文件:id_dsaid_dsa.pub。这两个是成对出现,类似钥匙和锁。再把id_dsa.pub追加到授权key里面(当前并没有authorized_keys文件)。

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

完成后可以测试无密码访问本机。

$ ssh localhost hostname

执行以上命令,如果设置成功,将会自动显示本机的Hostname

2namenode0无密码登录其他节点。

下面以namenode0无密码登录datanode00为例,其他节点间的无密码登录可以参照其步骤。远程复制namenode0id_dsa.pub文件到datanode00/home/user/目录:

$ scp ~/.ssh/id_dsa.pub 192.168.1.13:/home/user/

登录192.168.1.13并执行如下命令,把namenode0上的id_dsa.pub文件追加到datanode00authorized_keys内。

$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys

修改datanode00authorized_keys权限,authorized_keys权限应为600,其父目录和祖父目录应为755

$ chmod 600 authorized_keys

关闭防火墙。

$ sudo ufw disable

注意:这步非常重要。如果不关闭,会出现找不到datanode的问题。

3)验证。

重启namenode0,在namenode0上执行。

$ssh datanode00 hostname

如果设置成功,将会自动显示datanode00Hostname

2.Ucarp安装与配置

视频参见:\视频\4BackupNode\7-1ucarp安装流程.exe

Ucarp是一个虚拟IP软件,在NameNodeBackNode上均安装有Ucarp

NameNode启动的时候,将以Ucarp上配置的虚拟IP地址对外提供服务,一旦NameNode宕机,BackNode上的Ucarp将自动接替NameNode上的虚拟IP对外提供服务,所有的一切对于访问虚拟IP的客户端来说是透明的。下面以在namenode0(NameNode)上安装Ucarp为例进行说明。

1)安装rpm包。

namenode1(BackupNode)上执行,Ucarprpm包的默认安装目录为/usr/sbin/ucarp$sudo rpm -ivh ucarp-1.5.2-1.el5.i386.rpm

2)复制Ucarp脚本。

将相关的三个Ucarp配置脚本/etc/ucarp.sh/etc/vip-up.sh/etc/vip-down.sh复制到/etc/下。/etc/ucarp.shUcarp的启动脚本。192.168.1.11namenode0(NameNode)的真实IP192.168.1.9为对外的虚拟IP

如果在namenode1BackupNode)上安装Ucarp,需要将“--srcip”后面的值修改为namenode1BackupNode)的真实IP192.168.1.12,这是这两个节点安装Ucarp的唯一区别。

#! /bin/sh

echo "123456" | sudo -S ucarp --interface=eth0 --srcip=192.168.1.11

--vhid=1 --pass=mypassword --addr=192.168.1.9 --preempt --neutral

--advbase=1 --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh

其中,script=本机IP。在Ucarp中有masterslave两种角色,当节点竞争到master角色时,将执行/etc/vip-up.sh,在本实验中,NameNode先启动Ucarp,毫无疑问它将竞争到master/etc/vip-up.sh脚本将给NameNode的网卡添加IP地址192.168.1.9

#! /bin/sh

echo "123456" | sudo -S /sbin/ip addr add 192.168.1.9/24 dev eth0

master节点无法连接,将降级为slave节点,此时将执行/etc/vip-down.sh,去除原来添加的虚拟IP地址192.168.1.9

#! /bin/sh

echo "123456" | sudo -S /sbin/ip addr del 192.168.1.9/24 dev eth0

注意:123456为用户密码,192.168.1.12为物理IP192.168.1.9为虚拟IP,读者在实际使用中可以换成自定义的IP

3.安装Hadoop

Hadoop的安装非常简单,将Hadooptar包解压后,进行相应配置即可,具体步骤描述如下。

1)复制Hadoop安装包。

首先修改/usr/local目录的权限,使得普通用户可以进行读写。

$sudo chmod 777 /usr/local

接下来在user用户下将/home/user/soft目录下的hadoop-0.21.0.tar.gz复制到/usr/local目录下。

2)解压Hadoop

Hadoop的解压目录为/usr/local,在文件管理器中进入该目录,双击hadoop-0.21.0.tar.gz即可完成解压。主要文件和目录如下所示。

jar包:Hadoop运行所需的class文件打成的jar包。

bin目录:HDFSMapReducebalancer工具的启动或关闭脚本。

conf目录:HDFSMapReduce的相关配置文件。

common目录:common源码包。

hdfs目录:HDFS源码包。

mapred目录:MapReduce源码包。

lib目录:程序依赖的jar包。

3)添加Hadoop路径信息。

/etc/profile末尾加入:

export HADOOP_HOME=/usr/local/hadoop-0.21.0

export PATH=$HADOOP_HOME/bin:$PATH

4)配置$HADOOP_HOME/conf/下的mastersslaves文件。master配置文件

192.168.1.11

slaves配置文件

192.168.1.13

192.168.1.14

192.168.1.15

192.168.1.16

5)配置/usr/local/hadoop-0.21.0/conf/hadoop-env.sh

在末尾加入下面一行。

export JAVA_HOME=/home/user/jdk1.6.0_24

6)配置/usr/local/hadoop-0.21.0/conf/core-site.sh

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://0.0.0.0:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

</configuration>

7)配置/usr/local/hadoop-0.21.0/conf/hdfs-site.sh

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<!-- special parameters for avatarnode -->

<configuration>

<property>

<name>dfs.http.address</name>

<value>0.0.0.0:50070</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop/local/namenode</value>

</property>

<property>

<name>dfs.name.edits.dir</name>

<value>/usr/local/hadoop/local/editlog</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/block</value>

</property>

</configuration>

注意:fs.default.namedfs.http.addressIP均配置为0.0.0.0,在本地所有IP地址上监听,客户端可以通过本机的实际IP和虚拟IP访问Active NameNode

8)创建相关目录。

/usr/local/hadoop/tmp

/usr/local/hadoop/local/namenode

/usr/local/hadoop/local/editlog

/usr/local/hadoop/block

//hadoop 临时目录

//镜像存储目录

//日志存储目录

//数据块存储目录

3.格式化

$/usr/local/hadoop-0.21.0/bin/hadoop namenode -format

4.启动测试

运行下面的命令测试NameNode(namenode0)能否正常启动。

$/usr/local/hadoop-0.21.0/bin/hadoop namenode

启动截图。

image.png

6-31ActiveNameNode启动图

使用jps命令查看NameNode的启动情况。

$jps