Hadoop集群的搭建教程

举报
tea_year 发表于 2024/02/11 08:57:26 2024/02/11
【摘要】 1. 因为之前的是master,修改主机名修改主机名是自己需要的名字。查看主机名发现还是had1,怎么办?需要reboot重启一下啊!!!重启完毕再看!!!2. 克隆主机注意,必须是完整克隆,否则就是假克隆。查看网址,发现有问题哦:因为原来老的网卡的是eth0,则默认新的是eth1,所以,需要删除旧的网卡,即删除eth0vi /etc/udev/rules.d/70-persistent-n...

1. 因为之前的是master,修改主机名

修改主机名是自己需要的名字。

查看主机名发现还是had1,怎么办?

需要reboot重启一下啊!!!

重启完毕再看!!!

2. 克隆主机

注意,必须是完整克隆,否则就是假克隆。


查看网址,发现有问题哦:

因为原来老的网卡的是eth0,则默认新的是eth1,所以,需要删除旧的网卡,即删除eth0

vi /etc/udev/rules.d/70-persistent-net.rules

在新克隆的虚拟机里面删除

vi /etc/sysconfig/network-scripts/ifcfg-eth0

删除里面的UUID和HWADDR,不删除的话,则两个虚拟机无法启动联网。(如果你感觉删除了,很难受!!!就改成和之前的不一样的两个。)


关闭防火墙:

service iptables stop

设置防火墙开机不启动

chkconfig iptables off


内外网不同或者虚拟机之间不同的原因:

1. 防火墙没有关闭(windows防火墙、linux虚拟机防火墙)

2. 编辑--》虚拟网络编辑器里面的NAT设置,看看你的网关是什么?老师这里的是192.168.80.2,要保持你的网关和系统的一致。就像代理服务器一样。保证各个虚拟机之间的连通。







SSH免密登录

设置master节点和两个slave节点之间的双向ssh免密通信,下面以master节点ssh免密登陆slave节点设置为例,进行ssh设置介绍(以下操作均在master机器上操作):

首先生成master的rsa密钥:$ssh-keygen -t rsa 

设置ssh免密码登录是为了操作方便
生成秘钥文件
在每台机器上都执行一遍
首先输入:



有的会有问题,在下一步有问题,需要配置hosts文件

vi /etc/hosts


先在master机器上试验

ll ~/.ssh/

再次使用ssh访问就不再需要密码了!


看看slave02

从master处登录slave1


拷贝slave1

可以直接登录啦,可以试下ssh slave1

同理,拷贝到slave2,再次实习

升级配置master的几个文件


修改当前hadoop2-8-2下的core-site.xml

<!--NameNode命名空间的配置-->

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<!--配置hdfs的缓存大小-->

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

<!--配置临时存储目录,你自己建立的目录-->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/bigdata/tmp</value>

</property>

修改hdfs-site.xml


<!-- 指定HDFS副本的数量 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!--存放位置-->

<property>

<name>dfs.namenode.dir</name>

<value>/home/hadoopdata/dfs/name</value>

</property>

<!--hadoop的存放位置-->

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoopdata/dfs/data</value>

</property>

<!--检测点目录-->

<property>

<name>fs.checkpoint.dir</name>

<value>/home/hadoopdata/checkpoint/dfs/cname</value>

</property>

<!--可以在web网站看到,hadoop01就是你的namenode节点名,hadoop01变化-->

<property>

<name>dfs.http.address</name>

<value>hadoop01:50070</value>

</property>

<!--secondary namenode配置-->

<property>

<name>dfs.secondary.http.address</name>

<value>hadoop01:50090</value>

</property>

mapred-site.xml是改名过来的.

修改mapred-site.xml

<!--运行在yarn上,一句即可-->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!--历史通信的地址-->

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop01:10020</value>

</property>

<!--历史通信的web通信端口-->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop01:19888</value>

</property>


修改yarn-site.xml

<!-- reducer 获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- YARN 的老大 ResourceManager 的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

<!--指定rm的内部通信地址-->

<property>

<name>yarn.resourcemanager.address</name>

<value>hadoop01:8032</value>

</property>

<!--指定rm的scheduler的内部通信地址-->

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>hadoop01:8030</value>

</property>

<!--指定resource-tracker通信地址-->

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>hadoop01:8031</value>

</property>

<!--指定rm的admin的管理通信地址-->

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>hadoop01:8033</value>

</property>

<!--指定rm的web地址-->

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>hadoop01:8088</value>

</property>

在slave1和slave上删除原来从hadoop的路径信息,不要在hadoop01上机器上删除,否则就什么东东都没有了,切记,切记!

rm -rf /usr/local/hadoop-2.8.2/

拷贝hadoop信息


格式化:






namespaceID=2114046441

clusterID=CID-b47b7f19-a765-4b3d-8b74-65d47ad0bc49


最终效果

测试、Web访问

(1)浏览器打开http:// 主机IP :8088 / hadoop的管理

(2)浏览器打开http:// 主机IP :50070/ hdfs文件系统管理

四、测试程序

1. hdfs dfs -mkdir /test; hdfs dfs -ls / 在分布式文件系统中创建目录test

2.touch words 在本地创建文件,vim words编辑保存随便输入一些单词,以空格分开。

3. hdfs dfs -put words /test 把words文件上传到分布式文件系统中

4./home/hadoop/hadoop-2.9.2/bin/hadoop jar /home/hadoop/hadoop-2.9.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /test/words /test/output

或我的位置或任意你的hadoop位置

/usr/local/hadoop-2.8.2/bin/hadoop jar /usr/local/hadoop-2.8.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar wordcount /test/words /test/output

再次执行的时候,output需要改名,也就是说不用自己创建output

5.查看结果:

bin/hdfs dfs -cat /test/output/part-r-00000


Grep案例

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar grep /test/words /test/output3 'zh[a-z.]+'

使用正则表达式查找文件中符合条件的字符串


后记,错误小贴士:

笔者在第四部的时候出现如下错误:

经过不懈努力,发现原来是hadoop的etc下的mapred-site.xml里面的配置了问题

现在将hadoop01.10020,改成hadoop01:10020就可以了。

再次启动就可以了:

和自己输入的words内容进行对比:

我进到浏览器进行查看就可以了


这个不就是我们看到的名字吗?

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。