Hadoop全分布配置


前言

这里在正式搭建hadoop全分布前配置linux基础环境(提前准备好3台虚拟机)


一.配置linux基础环境

1.关闭防火墙

systemctl status firewalld          # 查看防火墙状态
systemctl stop  firewalld           # 关闭防火墙
systemctl disable firewalld         # 下次重启不会开启防火墙

2.网络配置

[root@master ~] vi /etc/sysconfig/network-scripts/ifcfg-ens33 
BOOTPROTO="static" 
ONBOOT=yes
IPADDR=192.168.10.101
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=8.8.8.8	#连通外网要配
[root@master ~]systemctl restart network  #重启网络生效

3.修改主机名和hosts(映射文件)

[root@master ~]vi /etc/hostname #这里修改后需要重启之后才能生效,下面有种方法不用
[root@master ~]hostnamecyl set-hostname master #设置好之后,再bash一下就好了
[root@master ~]vi hosts  #修改映射文件
192.168.10.101 master  
192.168.10.102 slave1
192.168.10.103 slave2
#不要写反了,会识别不了

4.免密登录(都要)

ssh-keygen -t rsa
#回车三次

#拷贝密码到其他机器
ssh-copy-id master 
ssh-copy-id slave1
ssh-copy-id slave2

5.解压jdk,hadoop安装包(配置环境变量)

tar -zxvf /opt/software/jdk  -C /opt/module/
...

二.搭建Hadoop全分布

1.配置Hadoop内部环境变量

vi hadoop/etc/hadoop/hadoop-env.sh
(1)修改hadoop-env.sh
		将export JAVA_HOME=${JAVA_HOME}
		改为:export JAVA_HOME=/opt/module/jdk
(2)配置yarn-env.sh
		vi yarn-env.sh 添加以下内容:
		将JAVA_HOME的注释符去掉,更改JAVA_HOME的路径
(3)配置mapred-env.sh
		vi mapred-env.sh 添加以下内容:
		将JAVA_HOME的注释符去掉,更改JAVA_HOME的路径
并去掉#,修改为正确的jdk路径/usr/module/jdk
Hadoop3.1版本以后不需要在yarn-env.sh,mapreduce-env.sh配置java路径,因为统一采用了hadoop-env.sh中的java路径,如需修改与上同。

2.配置核心组件:

core-sit.xml

<!-- 配置namenode的地址-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>  
</property>
<!--  配置hadoop产生的文件目录-->
#这里配置后要创建对应的data目录 创到hadoop里到时候复制的时候就一起传过去就不用每个都创了

<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop/data</value>
</property>

hdfs.site.xml

<!--副本数-->这个值是指的是最大节点数,默认是3
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
....后续补充
可以配置端口访问地址
hadoop3.0以后的版本端口号换成了9870,不是50070了

<property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
</property>
<!-- 2nn web端访问地址,默认master-->
 <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master1:9868</value>
 </property>
------有默认位置———————————————————————————————————————————————————————————————————————————————————————————————————
<!--存储fsimage文件的地方-->
		<property>
			<name>dfs.namenode.name.dir</name>
			<value>/opt/module/hadoop/data/tmp/dfs/data<value>
		</property>#默认${hadoop.tmp.dir}/dfs/name
		<!--hdfs数据存放block的地方-->
		<property>
			<name>dfs.datanode.data.dir</name>
			<value>/opt/module/hadoop/data/tmp/dfs/data</value>
		</property>#默认${hadoop.tmp.dir}/dfs/data     

yarn-site.xml

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
</property>
 #配置网址监测yarn的运行情况默认端口8088
命令模式 y4y 复制4行,p粘贴

mapreduce-site.xml

<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
</configuration>
与hadoop2.6相比,hadoop3内容增加了很多,hadoop2只需要第一个<property>,但是hadoop3需要指出各个计算组件的环境变量

修改slaves文件(配置工作节点)

删除源文件的localhost
master
node1
node2	

格式化文件系统

该操作只需要在master中进行
hdfs namenode -format    多次格式化会造成datanode启动问题,先删除data
rm -rf  目标目录

启动和关闭hadoop集群

start-dfs.sh 和start-yarn.sh分别启动hdfs和yarn
关闭时先使用stop-yarn.sh然后再stop-dfs.sh
这里需要注意start-yarn.sh需要在你配置resourcrmanger的那个节点启动

检测集群是否启动成功?

输入测试程序

 hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 10 10

总结

以上就是今天要讲的内容,这是我的第一篇博客,全是自己总结的,希望有用

在安装Hadoop环境时,需要将Hadoop压缩包分发到指定路径。根据引用中的内容,需要将Hadoop压缩包分别放置在以下两个路径下:/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads和/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoop-common-project/hadoop-kms/downloads。 另外,在分发Hadoop环境时,还需要进行一些配置。根据引用和引用[3]中的内容,可以按照以下步骤进行Hadoop环境变量的分发: 1. 在第一台机器上执行命令,进入Hadoop配置文件所在目录: ``` cd /kkb/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop ``` 2. 修改core-site.xml文件,可使用文本编辑器打开该文件: ``` vim core-site.xml ``` 3. 在core-site.xml文件中添加以下配置信息: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node01:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas</value> </property> <!-- 缓冲区大小,实际工作中根据服务器性能动态调整 --> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 --> <property> <name>fs.trash.interval</name> <value>10080</value> </property> </configuration> ``` 4. 修改hdfs-site.xml文件,可使用文本编辑器打开该文件: ``` vim hdfs-site.xml ``` 5. 根据引用中的内容,在node01机器上创建所需的目录: ``` mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无聊的n一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值