189 8069 5689

centos9搭建hadoop集群-创新互联

文章目录
  • 前期准备
  • 一、centos9、hadoop和jdk的安装(安装配置好一台后完整克隆)
  • 二、环境配置
  • 三.测试
  • 总结

成都创新互联-专业网站定制、快速模板网站建设、高性价比牟平网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式牟平网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖牟平地区。费用合理售后完善,十载实体公司更值得信赖。前期准备

centos9镜像 地址:https://centos.org/download/
jdk1.8.0* 地址:https://www.oracle.com/java/technologies/downloads/
hadoop-3.4.3 地址:https://hadoop.apache.org/

一、centos9、hadoop和jdk的安装(安装配置好一台后完整克隆)

1.1 Centos9安装
Centos9安装,在刚进入系统时按上下键选择第一个然后按tab输入net.ifnames=0 biosdevname=0敲回车,磁盘分区可自动也可自己分区,软件选择(server with gui):Legacy Unix ,Developmet Tools,Graphica Adimnistration Toos,Rpm Developmet Tools.
1.2 Hadoop安装
去hadoop官网下载
(https://hadoop.apache.org/,进入官网选择download,页面最上边有3.4.3,选择source下载)
打开centos9的终端(su+密码可以进入root),创建目录mkdir /root/hadoop/server(这里不一定是/root/Hadoop/server,可以再任何目录下创建)然后将hadoop包解压在/root/Hadoop/server(进入目录cd /root/Hadoop/server,后缀为gz的包用tar -zxvf +包名,为rpm的包用 rpm -ivh+包名,包名可以通过左上角活动,文件拖进终端),ll查看当前文件,发现有hadoop-3.4.3的文件,可以用cp 或者mv 命令进行修改,cp -r Hadoop-3.4.3 Hadoop,ll查看当前文件,文件有hadoop-3.4.3和hadoop(此时怕进错的同学可以rm -rf Hadoop-3.4.3将此文件移除,我是为了防止出错和方便记名所以复制的文件,可以直接mv或者不做任何改动文件名就是hadoop-3.4.3)
1.3 Jdk安装
去jdk 官网下载(https://www.oracle.com/java/technologies/downloads/,往下翻可以找到Java SE Development Kit 8u**的字样,rpm包和tar包都可以)
Jdk安装与上述基本一致,因为centos9自带jdk-11-openjdk的包,但是与hadoop3.4.3不兼容所以需要下载jdk-1.8.*的包然后将包解压到/root/Hadoop/server(最好与hadoop的文件位置一致方便记忆,也可cp -r jdk1.8.0_351 jdk1.8.0,也可不做直接用jdk1.8.0_351命名的文件),ll查看当前文件,cp过的用cd jdk1.8.0(未cp的用cd jdk1.8.0_351 )将这层文件为gz和jar的包全部解压(gz包tar -zxvf ,jar包 jar -xvf),cd jre、cd java、cd lib分别进入解压三个文件中的包。cd …退一层在cd bin启动java,做完一切后java -version查看版本号
1.4 主机ip(在hadoop1配置完成后克隆即可,完整克隆ip是会分配的)
在这里插入图片描述

二、环境配置
  1. 主机设置(可以在完整配置一台后,克隆完整虚拟机)

    主机名可以使用su进入root后再终端输入nmtui按上下键选择设置主机名也可以终端输入hostnamectl set-hostname hadoop1(可以是node1,one),克隆后的虚拟机名为hadoop2,hadoop3。在配置完所有文件后克隆完整虚拟机后。添加克隆好的虚拟机名和ip(ifconfig查看ip地址)在vim /etc/hosts添加对应的地址
    192.168.144.133 hadoop1
    192.168.144.141 hadoop2
    192.168.144.142 hadoop3

  2. 关闭防火墙 :
systemctl stop firewalld.service 停止防火墙
systemctl disable firewalld.service 关闭开机自启
  1. ssh免密登录(在完整配置一台后,克隆完整虚拟机后执行):
ssh-keygen 一直敲回车(有判断yes/no 输入yes)
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

4.创建目录:

mkdir -p /root/hadoop/server
mkdir /home/hadoop/tmp
mkdir /home/hadoop/var
mkdir /home/hadoop/dfs
mkdir /home/hadoop/dfs/name
mkdir /home/hadoop/dfs/data

5.安装hadoop
在开头以做了解释这里就不解释了。配置/etc/profile文件

vim /etc/profile  打开此文件,末尾添加
JAVA_HOME= /root/hadoop/server/jdk1.8.0 
#(这就是为什么和hadoop解压在同一目录的原因,这里可以是/home/hadoop等,自己解压的文件目录,其他直接复制就好)
PATH=$GRADLE_HOME/bin:$JAVA_HOME/bin:$NODE_HOME/bin:$NODE_HOME1/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/jre/lib/ext/jar:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
export HADOOP_HOME= /root/hadoop/server/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

配置好后按Esc shift :wq保存退出

source /etc/profile  执行文件生效
hadoop version  查看版本

6.修改配置文件
/root/hadoop/server/hadoop/etc/hadoop(这个路径是解压后hadoop-3.4.3的etc地下的hadoop,直接复制命令cd /root/hadoop/server/hadoop/etc/hadoop进入,在代码后面为用#标注的直接复制,带#的多留意一下)
在这里插入图片描述

(1) vim core-site.xml

fs.defaultFShdfs://192.168.144.133:9000hadoop.tmp.dir/root/hadoop/server/hadoophadoop.http.staticuser.userroothadoop.proxyuser.root.hosts*hadoop.proxyuser.root.groups*fs.trash.interval1440

(2) vim hdfs-site.xml

dfs.name.dir/export/hadoop/dfs/namePath on the local filesystem where theNameNode stores the namespace and transactions logs persistently.dfs.data.dir/export/hadoop/dfs/dataComma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.dfs.namenode.secondary.http-addresshadoop2:50090dfs.namenode.servicerpc-addresshadoop1:8022dfs.https.addresshadoop1:50470dfs.https.port50470dfs.namenode.http-address192.168.144.133:50070dfs.replication2

(3) vim yarn-site.xml

yarn.resourcemanager.hostnamehadoop1<--写自己的主机节点-->yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.pmem-check-enabledfalseyarn.nodemanager.vmem-check-enabledfalseyarn.log-aggregation-enabletrueyarn.log.server.urlhttp://hadoop1:19888/jobhistory/logsyarn.log-aggregation.retain-seconds604800yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage95.0yarn.nodemanager.resource.memory-mb2048yarn.scheduler.minimum-allocation-mb2048yarn.nodemanager.vmem-pmem-ratio2.1

(4) vim mapred-site.xml

mapreduce.jobhistory.addresshadoop1:10020mapreduce.jobhistory.webapp.addresshadoop1:19888yarn.app.mapreduce.am.envHADOOP_MAPRED_HOME=${HADOOP_HOME}mapreduce.map.envHADOOP_MAPRED_HOME=${HADOOP_HOME}mapreduce.reduce.envHADOOP_MAPRED_HOME=${HADOOP_HOME}mapreduce.application.classpath$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib-examples/*

(5) vim yarn-env.sh #(文件最后面添加)

export JAVA_HOME=/root/hadoop/server/jdk1.8.0

(6) vim /root/hadoop/server/hadoop/etc/hadoop/ workers
在这个文件下添加三个主机节点的ip也可以是hadoop1,hadoop2,hadoop3(在hadoop1配置完成克隆后添加,打开三台虚拟机ifconfig查看ip,nmtui改主机名或者hostnamectl set-hostname hadoop1)

hadoop1
hadoop2
hadoop3
或者三台主机IP

(7) vim start-dfs.sh和vim stop-dfs.sh添加(路径cd /root/hadoop/server/hadoop/sbin,在文件开头添加):

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

vim start-yarn.sh 和 vim stop-yarn.sh添加(路径cd /root/Hadoop/server/Hadoop/sbin,在文件开头添加):

RN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
YARN_RESOURCEMANAGER_USER=root

(8) 启动集群
克隆完成后三台机器均执行格式化命令

cd /root/hadoop/server/hadoop/bin进入bin
执行 hdfs namenode -format
cd /root/hadoop/server/hadoop/sbin
执行./start-all.sh
一个集群只有一个Namenode
只在hadoop1执行hdfs --daemon start namenode
其他节点执行:
启动Datanode和secondarynamenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode
jps查看启动节点状态
三.测试

3.1 wordcount示例运行

cd /root/hadoop/server/hadoop/share/hadoop/mapreduce  进入此目录下
mkdir test
创建好test后cd test 进入此文件
vim test
输入一些单词:
例如:
etc hadoop hello 
cat ls df h
du h free h 
linux ps ef
grep java ps
aux gerp
hadoop type enable yum install  
输入完成后按Esc shift : wq保存退出

3.2 使用hdfs的命令创建好输入文件的目录并将file放入输入目录

hdfs dfs -ls /    查看hdfs根目录下文件和目录
hdfs dfs -mkdir /test 在hdfs的根目录下新建test目录
hdfs dfs -put test.txt /test    把本地文件上传到hdfs的test
hadoop jar hadoop-mapreduce-examples-3.3.4.jar wordcount /test/test.txt output/    回到mapreduce目录下
完成之后输入 
hdfs dfs -ls /user/root/output    查看输出文件

在windows浏览器最上边输入http://192.168.144.133:50070/,进入hadoop页面后点击Utilities 下的Brows the file system即可看见传输的内容
在这里插入图片描述

3.3Hadoop开机自启(可以不做此步骤)

cd /usr/lib/systemd/system 
进入这个目录
vim hadoop. service
在此文件中添加一下内容(如果经常使用三台虚拟机都做):
[Unit]
Description=hadoop service
After=network.target
[Service]
Type=forking
ExecStartPre=/root/hadoop/server/hadoop/sbin   
ExecStart=/root/hadoop/server/hadoop/sbin
ExecReload=/root/hadoop/server/hadoop/sbinstart-all.sh -s reload
ExceStop=/root/hadoop/server/hadoop/sbin/stop-all.sh  -s stop
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重启systemctl 重新加载配置:systemctl daemon-reload
添加开机自启动命令:systemctl enable hadoop.service

总结

提示:本文配置使用与cemtos7/8/9以及红帽7/8/9。有感兴趣的同志可以一起探讨关于hadoop的搭建。虽然这个是最基本的搭建,希望大家勿喷。(本人也是新手小白)
注意:个人喜欢配置好一台虚拟机后进行完整克隆,利用nmtui修改主机名,然后再添加三台主机的ip+主机节点名在vim /etc/hosts 和 vim workers.
如果不想克隆可以参考一下命令(/root/server/可以是自己想放的地址但是最好一致,解压在home就改成home即可):

cd /root/server/
rsync -rvl hadoop root@hadoop2:/root/server/
rsync -rvl hadoop root@hadoop3:/root/server/
rsync /etc/profile root@hadoop2:/etc/profile
rsync /etc/profile root@hadoop3:/etc/profile

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:centos9搭建hadoop集群-创新互联
路径分享:http://jkwzsj.com/article/coecci.html

其他资讯