大数据学习笔记-hadoop(3)

在伪分布式的基础上我们继续配置


目录

master配置

slave1配置

启动并测试


master配置

首先查询主机master的节点是否运行

root@master:~# jps
5379 NameNode
5699 SecondaryNameNode
5513 DataNode
8844 Jps

大数据学习笔记-hadoop(3)

 看来节点是正常的,接下来我们继续。


在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即可
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop-3.3.0/tmp</value>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
</configuration>



#hdfs-site.xml
vi /usr/local/hadoop-3.3.0/etc/hadoop/hdfs-site.xml

#将value的值从1修改为2
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop-3.3.0/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop-3.3.0/tmp/dfs/data</value>
        </property>
</configuration>



#maperd-site.xml
vi /usr/local/hadoop-3.3.0/etc/hadoop/maperd-site.xml

#maperd-site.xml文件描述MapReduce框架名称、历史服务的地址和端口信息

<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
vi /usr/local/hadoop-3.3.0/etc/hadoop/yarn-site.xml

#yarn-site.xml文件描述ResourceManager服务的主机信息

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-sercices</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

检查hadoop-env.sh

大数据学习笔记-hadoop(3)


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)

配置好后我们进行检验

大数据学习笔记-hadoop(3)


启动并测试

在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进程

大数据学习笔记-hadoop(3)

然后在查看slave1进程和web-ui信息,确认无误,hadoop就搭建好了。


一些报错

关于记录启动DataNode的主机列表的文件,我看的资料绝大部分配置的都是slaves文件,做好集群后slave1上死活查不出进程,在msater上启动也没有看到slave1;后来我问了别人,才知道Hadoop某个版本更新后slaves文件变成了workers文件.......

然后slave1启动后还是有问题,如图。

我们这里配置好了的话,slave1上应该会显示两个进程:datanode和nodemanager,但我的slave1没有显示datanode。

大数据学习笔记-hadoop(3)

 解决方案参考:解决Hadoop集群中(主,从)节点上无datanode的问题

上一篇:Hadoop漏洞被传挖矿病毒(/tmp/kdevtmpfsi kinsing)


下一篇:[C++]LeetCode476. 数字的补数