Linux下Hadoop集群的搭建(3)—集群模式
来源:互联网 发布:redis和mysql结合使用 编辑:程序博客网 时间:2024/04/30 11:25
上一篇我们介绍了单机模式搭建Hadoop的环境,很简单,这一篇我们来介绍集群模式的Hadoop的搭建,有很多部分是和部署单机是一样的,在这一篇就会省略带过。
搭建环境:
在这里我们使用的是本地局域网内的服务器,分别是2G内存、50G硬盘、CentOS6.0的环境
172.16.139.128 Master
172.16.139.132 Slave1
172.16.139.130 Slave2
部署环境:
这一步我们只需要安装单机模式,把上面每台服务器都部署一下,可以参考上一篇Linux下Hadoop集群的搭建(2)—单机模式,我们在这里不再讲述。
SSH免登陆:
这里也和上一篇介绍的原理差不多,但是需要建立的是服务器之间的免登陆协议
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_salve1 //在Slave1中执行,生成ssh秘钥scp ~/.ssh/id_dsa_slave1.pub root@172.16.139.128:/root/.ssh/ //把Slave1中生成的ssh秘钥,复制到Master的/root/.ssh/cat id_dsa_slave1.pub >> authorized_keys //在Master中把复制的Slave1的秘钥加入到authorized_keys中验证下免登陆是否配置成功
配置成功,这是配置的Slave1->Master之间免登陆,但是Master->Slave1依旧需要密码,因此也需要配置反向的免登陆,因为Hadoop集群之间的通讯是双向的。
同理,配置Master->Slave1、Slave2->Master、Master->Slave2之间的免登陆协议。
修改/etc/hosts文件
添加一下内容,注意不能有关于localhost的内容,否则会报错,这里三台服务器都需要修改
172.16.139.128 Master172.16.139.132 Slave1172.16.139.130 Slave2这一步配置完成以后我们可以使用以下命令把在Master服务器中已经部署好的软件复制到Slave1、Slave2中
scp -r hadoop-2.2.0 jdk1.7.0_71 root@Slave2:/usr/local/soft/ scp -r hadoop-2.2.0 jdk1.7.0_71 root@Slave2:/usr/local/soft/
配置Slave1和Slave2的环境变量
在/etc/profile.d/下新建文件cutom.sh,并写入下面内容,并使之生效
#/etc/profile.d/custom.shJAVA_HOME=/usr/local/soft/jdk1.7.0_71export JAVA_HOMEHADOOP_PREFIX=/usr/local/soft/hadoop-2.2.0export HADOOP_PREFIXexport PATH=$JAVA_HOME/bin:$PATHexport PATH=$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$PATH
修改hadoop目录下的etc/hadoop/slaves文件
MasterSlave1Slave2
修改Hadoop的相关配置文件
修改core_site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/mnt/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> </configuration>
修改hdfs-size.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/mnt/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/mnt/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property></configuration>
修改mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>Master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master:19888</value> </property></configuration>
修改yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --> <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> <property> <name>yarn.resourcemanager.address</name> <value>Master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>Master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>Master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>Master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>Master:8088</value> </property></configuration>
启动运行Hadoop
hdfs namenode -format //格式化Hadoopstart-all.sh //启动Hadoop集群jps //查看状态hdfs dfsadmin -report //查看Hadoop集群工作状态hdfs dfs -mkdir /user hdfs dfs -mkdir /user/roothdfs dfs -mkdir inputhadoop jar /usr/local/soft/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar grep input output 'dfs[a-z.]+'
查看运行结果
hdfs dfs -cat output/*
OK,配置完成!
加群:397706991,共同学习
0 0
- Linux下Hadoop集群的搭建(3)—集群模式
- Linux下Hadoop集群的搭建(2)—单机模式
- Linux下搭建Hadoop集群
- Linux下搭建Hadoop集群
- linux下搭建hadoop集群问题备忘录
- Linux下搭建hadoop集群环境
- Linux下安装搭建Hadoop集群
- 在Linux下搭建Hadoop分布式集群
- Linux下Hadoop集群的搭建(1)—重新编译Hadoop
- hadoop集群搭建多用户模式的hive
- 容器云下hadoop集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- hadoop集群的搭建
- hadoop 集群的搭建
- Hadoop集群的搭建
- Hadoop集群的搭建
- 蓝牙小车中的一些经验
- IOS开发--C语言入门--如何结合Terminal和Vim开发C语言程序
- shader error: unable to unroll loop, loop does not appear to terminate in a timely manner的解决办法
- Android事件分发机制研究
- Eclipse主题修改,换个颜色换个心情撸代码吧
- Linux下Hadoop集群的搭建(3)—集群模式
- Matlab中传递函数的表示和计算_20151222
- 性能测试
- Android中selector背景选择器
- uva 11714——Blind Sorting
- 缓存分级
- unity3d 之 边缘光(rim)
- C++学习笔记36——赋值操作符
- FragmentTransaction的add(),hide(),show()方法与Replace()方法的比较