搭建hadoop2.2.0 HDFS,HA / Federation 和 HA&Federation
来源:互联网 发布:mac蓝牙连接不上iphone 编辑:程序博客网 时间:2024/05/01 20:01
- 准备工作
下载
http://mirrors.cnnic.cn/apache/hadoop/common/stable/hadoop-2.2.0.tar.gz
操作系统
ubuntu12.04
虚拟机
Vmware
安装操作系统, 此步骤略
本次测试安装四台虚拟机
hostnameIP1hw-0100192.168.1.1002hw-0101192.168.1.1013hw-0102192.168.1.1024hw-0150192.168.1.150安装JAVA,此步骤略
- 创建用户
#useradd hadoop
#passwd hadoop
使用sudo操作。编辑/etc/sudoers编辑文件,在root ALL=(ALL)ALL行下添加hadoop ALL=(ALL)ALL
- 配置ssh免密码
$ssh-keygen -t rsa
$cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh localhost 测试通过后,把authorized_keys拷贝到其他节点的~/.ssh目录即可
准备工作完毕
配置HA
先看一下简单的架构图
- JAVA_HOME
配置$HADOOP_HOME/etc/hadoop/hadoop-env.sh中JAVA_HOME
...
export JAVA_HOME = [java_local_dir]
...
- 配置core-site.xml, slaves, hdfs-site.xml
slaves
hw-0101
hw-0102
hw-0150
core-site.xml
<configuration> <property> <name>dfs.nameservices</name> <value>hadoop-cluster1</value> </property> <property> <name>dfs.ha.namenodes.hadoop-cluster1</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.hadoop-cluster1.nn1</name> <value>hw-0100:9000</value> </property> <property> <name>dfs.namenode.rpc-address.hadoop-cluster1.nn2</name> <value>hw-0101:9000</value> </property> <property> <name>dfs.namenode.http-address.hadoop-cluster1.nn1</name> <value>hw-0100:50070</value> </property> <property> <name>dfs.namenode.http-address.hadoop-cluster1.nn2</name> <value>hw-0101:50070</value> </property> <property> <name>dfs.client.failover.proxy.provider.hadoop-cluster1</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hadoop-hdfs3/hdfs/name</value> </property> <property> <name>dfs.namenode.shared.edits.dir.hadoop-cluster1</name> <value>qjournal://hw-0101:8485;hw-0102:8485;hw-0150:8485/hadoop-cluster1</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hadoop-hdfs3/hdfs/data</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>false</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/home/hadoop/hadoop-hdfs3/hdfs/journal</value> </property></configuration>
把以上三个文件分别拷贝到所有节点的etc/hadoop/里。
- 启动namenode, datanode(本文hadoop的命令均在$HADOOP_HOME目录下运行)
配置HA,需要保证ActiveNN与StandByNN有相同的NameSpace ID,在format一台机器之后,让另外一台NN同步目录下的数据。
在hw-0100节点上执行:
#如果使用HQJM,需要先启动jouranlnode$sbin/hadoop-daemons.sh start journalnode$bin/hdfs namenode -format$sbin/hadoop-daemon.sh start namenode
在hw-0101节点上执行:
$bin/hdfs namenode -bootstrapStandby$sbin/hadoop-daemon.sh start namenode
此时hw-0100,hw-0101均处于standby状态
切换hw-0100节点为Active状态
在hw-0100节点上执行:
$bin/hdfs haadmin -transitionToActive nn1
启动所有datanode节点
$sbin/hadoop-daemons.sh start datanode
- 验证
访问http://192.168.1.100:50070查看监控页面
访问HDFS,命令如下:
创建目录
$bin/hadoop fs -mkdir /tmp
查看目录
$bin/hadoop fs -ls /tmp
配置Federation
先看看简单架构图
- 配置core-site.xml, slaves, hdfs-site.xml
slaves
hw-0101
hw-0102
hw-0150
core-site.xml
hdfs-site.xml
把以上三个文件分别拷贝到所有节点的etc/hadoop/里。
- 启动namenode, datanode(本文hadoop的命令均在$HADOOP_HOME目录下运行)
配置Federation,需要在启动多个NameNode上format时,指定clusterid,从而保证2个NameService可以共享所有的DataNodes,否则两个NameService在format之后,生成的clusterid不一致,DataNode会随机注册到不同的NameNode上。
在hw-0100节点上执行:
$bin/hdfs namenode -format –clusterId hadoop-cluster$sbin/hadoop-daemon.sh start namenode
在hw-0102节点上执行:
$bin/hdfs namenode -format –clusterId hadoop-cluster$sbin/hadoop-daemon.sh start namenode
启动所有datanode节点
$sbin/hadoop-daemons.sh start datanode
- 验证
访问http://192.168.1.100:50070查看监控页面
访问HDFS,命令如下:
查看目录
$bin/hadoop fs -ls /#可以查看到 /tmp /tmp1的两个目录。
HA&Federation
先看看简单架构图
- 配置core-site.xml, slaves, hdfs-site.xml
slaves
hw-0101
hw-0102
hw-0150
hdfs-site.xml
把以上三个文件分别拷贝到所有节点的etc/hadoop/里。
- 启动namenode, datanode(本文hadoop的命令均在$HADOOP_HOME目录下运行)
在hw-0100节点上执行:
#如果使用HQJM,需要先启动jouranlnode$sbin/hadoop-daemons.sh start journalnode$bin/hdfs namenode -format –clusterId hadoop-cluster-new$sbin/hadoop-daemon.sh start namenode
在hw-0101节点上执行:
$bin/hdfs namenode -bootstrapStandby$sbin/hadoop-daemon.sh start namenode
此时hw-0100,hw-0101均处于standby状态
切换hw-0100节点为Active状态
在hw-0100节点上执行:
$bin/hdfs haadmin -ns hadoop-cluster1 -transitionToActive nn1
在hw-0102节点上执行:
$bin/hdfs namenode -format –clusterId hadoop-cluster-new$sbin/hadoop-daemon.sh start namenode
在hw-0150节点上执行:
$bin/hdfs namenode -bootstrapStandby$sbin/hadoop-daemon.sh start namenode
此时hw-0102,hw-0150均处于standby状态
切换hw-0102节点为Active状态
在hw-0100节点上执行:
$bin/hdfs haadmin -ns hadoop-cluster2 -transitionToActive nn3
在hw-0100节点上,启动所有datanode节点
$sbin/hadoop-daemons.sh start datanode
- 验证
访问http://192.168.1.100:50070查看监控页面
访问HDFS,命令如下:
查看目录
$bin/hadoop fs -ls /#显示在不同namenode中的目录 /tmp /tmp1
参考:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/Federation.html
http://www.binospace.com/index.php/hdfs-ha-quorum-journal-manager/
知识源于网络 转载请注明出处 http://www.cnblogs.com/nb591/p/3535662.html
- 搭建hadoop2.2.0 HDFS,HA / Federation 和 HA&Federation
- Hadoop2.x之HDFS HA Federation
- HDFS HA+Federation配置
- HDFS HA和Federation安装部署方法
- HDFS再学习:HA和Federation机制
- HA&Federation
- 部署hadoop2.7.2 集群 基于zookeeper配置HDFS HA+Federation
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- Hadoop 2.0 NameNode HA和Federation实践
- tyvj1705树染色
- oracle 物化视图(1)
- 输入年月日,求该年年初到此时的天数
- linux下串口通信
- Oracle修改字段类型方法总结
- 搭建hadoop2.2.0 HDFS,HA / Federation 和 HA&Federation
- linux下mongodb程序和c++客户端的编译
- java23种设计模式
- 输出一个单向链表的中间节点
- 有关substr的一点感想
- 【FAQ Fix】 JPA Double insert with @OneToMany and CASCADE.ALL
- 关于printf中参数压栈顺序
- C++学习之友元类和友元函数
- Android组件间通信库EventBus学习