在伪分布式的基础上我们继续配置
目录
master配置
slave1配置
启动并测试
master配置
首先查询主机master的节点是否运行
root@master:~# jps 5379 NameNode 5699 SecondaryNameNode 5513 DataNode 8844 Jps
看来节点是正常的,接下来我们继续。
在master上修改本地解析
vim /etc/hosta #将ip对应主机改为以下 10.211.4.103 master 10.211.4.104 slave1 127.0.0.1 localhost #保存退出 wq #查看是否能解析成功 root@master:~# ping master PING master (10.211.4.103) 56(84) bytes of data. 64 比特,来自 master (10.211.4.103): icmp_seq=1 ttl=64 时间=0.019 毫秒 64 比特,来自 master (10.211.4.103): icmp_seq=2 ttl=64 时间=0.033 毫秒 ^C --- master ping 统计 --- 已发送 2 个包, 已接收 2 个包, 0% 包丢失, 耗时 1013 毫秒 rtt min/avg/max/mdev = 0.019/0.026/0.033/0.007 ms root@master:~# ping slave1 PING slave1 (10.211.4.104) 56(84) bytes of data. 64 比特,来自 slave1 (10.211.4.104): icmp_seq=1 ttl=64 时间=0.510 毫秒 64 比特,来自 slave1 (10.211.4.104): icmp_seq=2 ttl=64 时间=0.377 毫秒 64 比特,来自 slave1 (10.211.4.104): icmp_seq=3 ttl=64 时间=0.390 毫秒 ^C --- slave1 ping 统计 --- 已发送 3 个包, 已接收 3 个包, 0% 包丢失, 耗时 2026 毫秒 rtt min/avg/max/mdev = 0.377/0.425/0.510/0.059 ms
修改配置文件
#core-site.xml vi /usr/local/hadoop-3.3.0/etc/hadoop/core-site.xml #将localhost修改为master即可#hdfs-site.xml vi /usr/local/hadoop-3.3.0/etc/hadoop/hdfs-site.xml #将value的值从1修改为2 hadoop.tmp.dir file:/usr/local/hadoop-3.3.0/tmp fs.defaultFS hdfs://master:9000 #maperd-site.xml vi /usr/local/hadoop-3.3.0/etc/hadoop/maperd-site.xml #maperd-site.xml文件描述MapReduce框架名称、历史服务的地址和端口信息 dfs.replication 2 dfs.namenode.name.dir file:/usr/local/hadoop-3.3.0/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/hadoop-3.3.0/tmp/dfs/data #yarn-site.xml vi /usr/local/hadoop-3.3.0/etc/hadoop/yarn-site.xml #yarn-site.xml文件描述ResourceManager服务的主机信息 mapreduce.framework.name yarn mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888 yarn.resourcemanager.hostname master yarn.nodemanager.aux-sercices mapreduce_shuffle
检查hadoop-env.sh
workers配置
vi /usr/local/hadoop-3.3.0/etc/hadoop/workers #将原本的localhost删掉,写入以下 master #之后再写入slave1
重建NameNode
cd /use/local/hadoop-3.3.0 #将原本的tmp目录删除 rm -rf tmp #更新tmp目录 mkdir /usr/local/hadoop-3.3.0/tmp mkdir tmp/dfs mkdir tmp/dfs/name mkdir tmp/dfs/data mkdir tmp/dfs/namesecondary #修改权限 chmod -R +777 tmp #重启namenode hdfs namenode -format #启动服务 start-all.sh mr-jobhistory-daemon.sh start historyserver #查看进程 root@master:/usr/local/hadoop-3.3.0/sbin# jps 11216 ResourceManager 12387 Jps 5379 NameNode 5699 SecondaryNameNode 11352 NodeManager 5513 DataNode 12367 JobHistoryServer
slave1配置
用master克隆一台虚拟机,命名为slave1,由于我原本就有一台,所以这里就不演示了。
slave1的IP地址:10.211.4.104/24
我们使用了两台虚拟机,需要给他们配置一个ssh免密登录,刚好我前面有一个例子就是两台虚拟机配置免密:大数据笔记-hadoop(1)
配置好后我们进行检验
启动并测试
在workers里加入slave1
vi /usr/local/hadoop-3.3.0/etc/hadoop/worker #写入slave1 master slave1
重建tmp目录且设置权限
在master虚拟机上对NameNode进行格式化
hdfs namenode -format
启动集群服务
start-all.sh
查看master进程
然后在查看slave1进程和web-ui信息,确认无误,hadoop就搭建好了。
一些报错
关于记录启动DataNode的主机列表的文件,我看的资料绝大部分配置的都是slaves文件,做好集群后slave1上死活查不出进程,在msater上启动也没有看到slave1;后来我问了别人,才知道Hadoop某个版本更新后slaves文件变成了workers文件.......
然后slave1启动后还是有问题,如图。
我们这里配置好了的话,slave1上应该会显示两个进程:datanode和nodemanager,但我的slave1没有显示datanode。
解决方案参考:解决Hadoop集群中(主,从)节点上无datanode的问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)