centos7搭建hadoop3.1.4环境
作者:互联网
1.准备工作
(准备工作需要三台虚拟机都进行操作)
1.1准备三台centos7的虚拟机
在vm中安装好三台centos7的虚拟机
1.2更改虚拟机的主机名
使用 hostnamectl set-hostname hostname 命令修改主机名
为三台虚拟机分别更改主机名为node1,node2,node3(名字可以自己取,最好有个顺序)
[root@localhost ~]# hostname #查看当前的主机名
localhost
[root@localhost ~]# hostnamectl set-hostname node1 #永久修改主机名,node1为自己修改的主机名
[root@localhost ~]# hostname # 查看主机名是否修改成功
hadoop-1
1.3修改虚拟机ip
配置文件的位置:vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置文件 ifcfg-ens33 每个人可能不一样,大家按自己的来。
修改网卡配置文件如下:
TYPE=Ethernet
BOOTPROTO=static #将dhcp改为static 表示手动设置静态IP
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c2fc8f33-3273-45c6-86c0-96240601e105
DEVICE=ens33 #网卡名
ONBOOT=yes #改为yes,表示自动激活网卡
#以下内容需自己添加
IPADDR=192.168.5.210 #IP地址(根据自己的地址池修改)
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.5.2 #网关IP
DNS1=192.168.5.2 #DNS配置选择和网关一致即可
重启网络服务
[root@code1 ~]# service network restart
1.4修改hosts文件
hosts文件位置:vi /etc/hosts
#在文件中添加集群所有主机的IP和主机名的对应关系,IP 与主机名之间使用一个 TAB 键分隔
192.168.5.210 node1
192.168.5.220 node2
192.168.5.230 node3
1.5关闭防火墙
centos7 中使用 systemctl 命令来管理服务,命令如下:
[root@localhost ~]# firewall-cmd --state #查看防火墙状态
[root@localhost ~]# systemctl disable firewalld # 永久关闭防火墙(重启生效)
[root@localhost ~]# systemctl stop firewalld # 临时关闭防火墙(立即生效)
1.6同步时间
centos7同步时间命令:
yum install ntpdate #安装过程中,需要按提示输入两次Y或yes
ntpdate cn.pool.ntp.org #安装完毕后,执行该语句同步时间
1.7ssh免密登录
实现三台虚拟机之间免密登录
ssh-keygen -t rsa #安装过程中要按4个回车,生成公钥、私钥
将公钥分别拷贝其他机器上,如在node1上将公钥拷贝到node2和node3。
ssh-copy-id node2
ssh-copy-id node3
测试三台虚拟机之间的免密登录
ssh node3 #登录到node3上
使用exit命令登出
[root@node1 ~]# ssh node3
Last login: Sat Oct 2 14:00:33 2021 from 192.168.5.1
[root@node3 ~]# exit
登出
Connection to node3 closed.
1.8创建统一工作目录
mkdir -p /export/server/ #软件安装路径
mkdir -p /export/data/ #数据存储路径
mkdir -p /export/software/ #安装包存放路径
2.下载安装jdk
(以下操作可以先对一台虚拟机进行操作,然后在发到其他的虚拟机上)
2.1在官网(Java Downloads | Oracle)下载jdk1.8版本
(官网下载需要注册oracle账号,若嫌麻烦可以在我的百度网盘上下载jdk和Hadoop的安装包
链接:https://pan.baidu.com/s/1pn71mprVUWJXDeraauWkIQ
提取码:yjjn )
2.2将jdk上转到虚拟机中
将jdk上传到虚拟机的 /export/software/ 目录下 (上传及操作可以使用XShell+Xftp)
2.3对jdk进行解压安装
cd /export/software/ # 切换到jdk的安装包路径
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /export/server/ # 进行解压到 /export/server/ 路径下
2.4配置环境变量
vi /etc/profile
JAVA_HOME=/export/server/jdk1.8.0_181(这里 JAVA_HOME=你自己的jdk的安装路径)
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
source /etc/profile # 令配置文件立即生效
2.5测试
javac或者java -version
下图代表JDK安装成功
2.6分发同步安装包及配置文件
# 发送jdk文件
scp -r /export/server/jdk1.8.0_181 root@node2:/export/server/
scp -r /export/server/jdk1.8.0_181 root@node3:/export/server/
# 发送配置文件
scp -r /etc/profile root@node2:/etc/
scp -r /etc/profile root@node3:/etc/
2.7在其他虚拟机上更新配置文件
source /etc/profile #重新加载环境变量
3.hadoop安装
3.1在官网(hadoop下载)选择下载hadoop3.1.4
3.2上传解压安装hadoop
将hadoop上传到 /export/software 路径下,进行解压安装
cd /export/software/ # 切换到hadoop的安装包路径
tar zxvf hadoop-3.1.4-bin-snappy-CentOS7.tar.gz -C /export/server/
3.3配置hadoop的环境变量
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.1.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile #重新加载环境变量
3.4测试
4.修改hadoop的配置文件
4.1core-site.xml
<configuration>
<!-- 指定 namenode 的通信地址 默认 8020 端口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.1.4</value>
</property>
</configuration>
4.2hadoop-env.sh
#配置JAVA_HOME
export JAVA_HOME=/export/server/jdk1.8.0_65
4.3hdfs-site.xml
<!-- 设定SNN运行主机和端口。-->
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
</configuration>
4.4mapred-site.xml
<configuration>
<!-- mr程序默认运行方式。yarn集群模式 local本地模式-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR App Master环境变量。-->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR MapTask环境变量。-->
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR ReduceTask环境变量。-->
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
4.5yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- yarn集群主角色RM运行机器。-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MR程序。-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 每个容器请求的最小内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<!-- 每个容器请求的最大内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<!-- 容器虚拟内存与物理内存之间的比率。-->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>4</value>
</property>
</configuration>
4.6workers
node1
node2
node3
4.7在环境变量中添加配置
vi /etc/profile.d/my_env.sh # my_env.sh是自己添加的文件,不建议直接修改profile.d
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
4.8分发同步安装包
在node1机器上将Hadoop安装包scp同步到node1,node2机器上
scp -r /export/server/hadoop-3.1.4 root@node2:/export/server/
scp -r /export/server/hadoop-3.1.4 root@node3:/export/server/
# 发送配置文件
scp -r /etc/profile root@node2:/etc/
scp -r /etc/profile root@node3:/etc/
scp -r /etc/profile.d/my_env.sh root@node2:/etc/profile.d
scp -r /etc/profile.d/my_env.sh root@node3:/etc/profile.d
5.启动
5.1 格式化
启动之前需对每一台虚拟机进行格式化
cd /export/server/hadoop3.1.4/ # 先进入Hadoop路径下
hdfs namenode -format # 进行格式化
5.2在hadoop的sbin目录下启动
start-all.sh
5.3启动完毕之后可以使用jps命令查看进程是否启动成功
5.4访问hadoop web
地址:http://namenode_host:9870
其中namenode_host是namenode运行所在机器的主机名或者ip
Hadoop Web UI页面-YARN集群
地址:http://resourcemanager_host:8088
其中resourcemanager_host是resourcemanager运行所在机器的主机名或者ip
标签:hadoop3.1,hadoop,server,centos7,etc,export,HOME,root,搭建 来源: https://www.cnblogs.com/yang888/p/15361945.html