大数据开发【3】 -- hadoop的云集群配置

首先要配置好一台机器的伪分布式,这样方便后面的配置。

关于伪分布式的:请看伪分布式搭建

1. 配置yarn

  1. 配置yarn-env.sh,对于3版本的就不用配置了,因为已经默认从hadoop-env.sh读取了。

  2. 配置yarn-site.xml文件。

  <configuration>
  	<property>
  		<name>yarn.nodemanager.aux-services</name>
  		<value>mapreduce_shuffle</value>
  	</property>
      <property>
      	<name>yarn.resourcemanager.hostnname</name>
          <value>你的主机地址可以是localost</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>bigdata:8032</value>
  	</property>
  	<property>
  		<name>yarn.resourcemanager.scheduler.address</name>
  		<value>bigdata:8030</value>
  	</property>
  	<property>
  		<name>yarn.resourcemanager.resource-tracker.address</name>
  		<value>bigdata:8035</value>
  	</property>
  	<property>
  		<name>yarn.resourcemanager.admin.address</name>
  		<value>bigdata:8033</value>
  	</property>
  	<property>
  		<name>yarn.resourcemanager.webapp.address</name>
  		<value>bigdata:8088</value>
  	</property>
  </configuration>
  
  1. 查看是否运行成功:8088(mapReduce进程)

2. 各个主机配置

  1. 修改/etc/hosts文件和/etc/hostname文件
	vim /etc/hosts

	主服务器如下
	10.104.157.113 node0	# node0的内网ip
	119.29.250.47 node1		# node1的外网Ip
	119.29.251.99 slave2		# node2的外网ip
	从1
	10.104.9.181 node1		# node1的内网ip
	119.29.186.83 node0		# node0的外网ip
	119.29.251.99 node2		# node2的外网ip
	
	注意 本机的hostname与内网ip对应
	    其他的hostname与外网ip对应
	然后依次ping master,ping slave1

vim /etc/hostname
把主机名称修改成对应的名称,比如node0修改成node0, 注意不要有空行。

另外,修改晚名称一般需要重启。
shutdown -r




重启之后,会发现主机名称已经改变了,比如把主机修改成node0重启之后。
在这里插入图片描述

这里的ip地址一定,一定要配置好,否则后面启动可能会出现端口绑定失败,从而导致没法启动namenode或者datanode的问题。

  1. 使用scp将hadoop和java环境配置到另外两台的虚拟机中。
    scp -r hadoop root@node0:/对应的文件夹

注意,如果网速太慢的话,拷贝文件夹是很慢的,所以建议先拷贝压缩包,之后每台机器对应位置解压。最后把配置好的/etc文件夹拷贝到对应机器中的/etc文件夹中。scp -r etc root@node1:/hadoop的位置/这样就会把原本的etc文件夹覆盖,从而起到了配置效果。

3. 集群的配置

  1. 集群的部署规划
node0node1node2
namenodedatanodenodemanager
datanoderesoureceManagersecondaryNamenode
nodenamagerdatanode
  1. 修改core-site.xml文件

    • 将启动的主机地址修改成node0
    • 端口号是9000
  2. 将hdfs中的hdfs-site.xml文件中的

    • 第二结点的http地址修改成node2
    • 端口号修改按照官网上默认的是:9860
    • 2.多版本的端口号是50090
  3. 配置yarn-site-xml

    • 修改ResourceManager到node2
  4. 修改Map-Reduced程序默认在yarn上,

    • 修改文件名(如果没有伪分布式的配置的话)

    • 默认的是本地模式

  5. 已经配置完成之后将文件使用scp分配到各个服务器上面。

  6. 删除./tmp文件,各个都删除, 然后重新格式化namenode

    #针对 DataNode 没法启动的解决方法
    cd /usr/local/hadoop
    ./sbin/stop-dfs.sh   # 关闭
    rm -r ./tmp     # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
    ./bin/hdfs namenode -format   # 重新格式化 NameNode
    
  7. 群起修改wokers或者slaves文件

    node0
    node1
    node2
    

    注意不要有空行

  8. 使用start-dfs.sh命令群起。

    • 命令在hadoop/sbin目录下
  9. 启动yarn

    • 一定要在resoureceManager上启动
    • 使用start-yarn.sh
    • 命令在/hadoop/sbin目录下
  10. 关闭集群

    • 在node0上
    • 使用stop-dfs.sh
    • 命令所谓位置如上
  11. 关闭yarn

    • 在Node1上
    • 使用stop-yarn.sh
  12. 测试是否成功启动:

    • 上传一个小文件, 使用hdfs dfs -put 文件名称 / ,上传到根目录下面
    • 上传一个大文件
    • 产看上传的结果

在这里插入图片描述
14. 查看yarn是否启动成功,使用在浏览器中输入node1主机地址:8088
在这里插入图片描述

  1. 查看第二结点是否启动成功,浏览器中输入node2的地址地址:50090

    在这里插入图片描述

  2. 关于历史服务器,请看文章历史服务器和日志聚集

4.一些问题

  • namenode没法启动。需要修改/etc/sysconfig/network中的主机名字。然后让/etc/hosts文件中的本机名称与内网ip对应。让其他的名称与外网ip对应。
  • 启动yarn的时候,出现了ip地址warning,这是由于ssh没有更新key导致的。
  • 使用hadoop可以,但是下载文件的时候出现了node0:9870这种情况。是什么导致的呢?
  • 启动出现error HADOOP_USER这中情况,请看参考文章。
  • 如果namenode没法启动,先看/hadoop/logs中关于namenode的日志记录。之后自行百度。有可能是端口绑定失败。使用netstat -anp | grep 9000看端口是否被占用。如果没有占用,可能是出现了第一种情况。就是没有把本机的hostsname定义成本机的内网。
  • 如果出现了netstat -anp | grep 50090发现成功启动了端口,但是却没法在浏览器上访问的情况,看一下防火墙是否关闭了。

    腾讯云的防火墙是默认开启的,用命令管不了。得去自己设定规则。
    在这里插入图片描述

5. 强烈推荐的参考文章

hadoop搭建云集群
启动出现HADOOP_USER错误

还有好多关于错误的参考文章,忘了记录了,下次一定记录下来。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值