hadoop3.3.0集群搭建(详细教程)
hadoop3.3.0 集群搭建详细教程
先准备好:
hadoop3.3.0
secureCRT提取码:u3cd
jdk官网
centos7
一、模板机
1、虚拟机的网络适配器选择NAT
2、关闭centos的防火墙
systemctl stop firewalld
systemctl disable firewalld.service
3、将centos设置为自动连接网络
在设置中,找到网络,把有线设置为自动连接
4、让普通(andy)用户具有root权限
sudo vim /etc/sudoers
sudoers文件中找到##Allow people in group wheel to run all commands
,并添加andy ALL=(ALL) NOPASSWD:ALL
注:andy是我的用户名
如果你没有创建用户,可以使用以下命令:
创建用户useradd 用户名
创建密码passwd 用户名
补充:vim 知识
5、设置静态ip、主机名和映射host
(1)设置静态ip
先查看IP地址,在终端中输入ifconfig
IP:192.168.23.10
我们将该ip设为静态的,下次开机ip就不会变了。(如果你想把这个IP地址改变
,只需改变它的主机号
,网络号
不需要改变,最后输入service network restart
)
命令:
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
把BOOTPROTO
改为static
添加:
IPADDR=192.168.23.10
GATEWAY=192.168.23.2
DNS1=192.168.23.2
在输入重启网络命令:
service network restart
(2)设置主机名
sudo vim /etc/hostname
把里面的内容改成自己的主机名Hadoop01
(3)将主机名称映射hosts文件中
sudo vim /etc/hosts
添加的内容如下
根据自己的IP地址,填入连续的IP,后面的是主机名
注意:我们同样也需要把上面的ip地址映射
到Windows
的hosts
中
C:\Windows\System32\drivers\etc
如果不能更改可以把hosts
复制出来,修改后再替换即可
6、安装epel-release
sudo yum install -y epel-release
如果安装出现以下情况
解决:kill -9 进程号
,在重新执行命令
7、卸载自带的openjdk
,并创建/opt/module/
和/opt/software
(1)卸载openjdk
su root
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
如果不用root用户会出现下面错误
(2)创建/opt/module
和/opt/software
sudo mkdir /opt/module
sudo mkdir /opt/software
修改/opt/module
和/opt/software
的所有权
sudo chown andy:andy /opt/module /opt/software
注:andy:andy是我的用户名
8、安装hadoop和jdk
补充:SecureCRT的连接
(1)上传hadoop和jdk
用secureCRT连接linux后,安装yum -y install lrzsz,输入rz
,找到hadoop和jdk文件位置。
注:找到文件后,要选择add。我把文件放在了/opt/software
中
(2)安装hadoop和jdk,并配置文件
把文件解压到/opt/module
中
tar -zxvf /opt/software/hadoop-3.3.0.tar.gz -C /opt/module/
tar -zxvf /opt/software/jdk-8u281-linux-x64.tar.gz -C /opt/module/
配置环境
sudo vim /etc/profile.d/my_env.sh
添加
#JAVA HOME
export JAVA_HOME=/opt/module/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin#Hadoop
export HADOOP_HOME=/opt/module/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
注:JAVA_HOME 和HADOOP_HOME是Hadoop和jdk的位置
保存后,输入source /etc/profile
,让环境立刻起效
检验:hadoop和jdk是否安装好
hadoop
java
二、克隆模板机
1、克隆centos,克隆其他两台:hadoop02
、hadoop03
克隆之前,需要先关闭虚拟机。
一定选择创建完整克隆
2、修改克隆机的主机名
和IP地址
,两台都要修改
(1)修改主机名
sudo vim /etc/hostname
它们的主机名分别是hadoop02
、hadoop03
因为是克隆的第一台,主机名和ip地址都是上一台的
(2)修改IP地址
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改IPADDRKK
它们的IP分别是192.168.23.11
和192.168.23.12
注:它们是我的IP地址,需要修改
(3)重启克隆的虚拟机
reboot
3、检查克隆虚拟机的主机名、IP地址、网络、hadoop和jdk
(1)检查主机名
hostname
(2)检查IP地址
ifconfig
检查是不是自己和设置的一样
(3)检查网络
ping www.baidu.com
(4)检查一下jak和hadoop
执行
java
hadoop
三、配置集群
1、创建ssh 无密登录
注:都是在普通用户
(1)生成公钥和私钥
ssh-keygen -t rsa
然后敲三次回车
然后生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
位置在:/home/用户名/.ssh
(2)将公钥发给hadoop01、hadoop02、hadoop03
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
注意:创建无密登录需要,分别在hadoop01、hadoop02、hadoop03都配置一下。
注:它们都是在普通用户下配置的无密登录,在普通用户创建的只能登陆普通用户的。
都在root用户
创建无密登录,就能登录root用户了。
注:hadoop02 的ip地址已经映射到了hosts
中
2、创建一个分享文件脚本,这样就方便把虚拟机的文件传给其他的虚拟机了
(1)在家目录
下创建一个bin
文件,并进入bin中
mkdir /home/用户/bin
cd bin
(2)在bin中创建xsync
文件
vim xsync
添加的文件如下:
注意:需要把for host in hadoop01 hadoop02 hadoop03
中的hadoop01、hadoop02、hadoop03
改为自己的主机名,一定要改
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement! exit;
fi
#2. 遍历集群所有机器
for host in hadoop01 hadoop02 hadoop03
doecho ==================== $host ====================#3. 遍历所有目录,挨个发送for file in $@ do#4. 判断文件是否存在if [ -e $file ] then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdir elseecho $file does not exists!fi done
done
该脚本主要是应用:rsync
相关知识:
linux 远程拷贝命令
(3)修改xsync
的权限
sudo chmod 777 xsync
(4)将它复制到/bin中,方便在全局中使用
sudo cp xsync /bin/
(5)测试脚本
xsync /home/用户/bin
把bin中的文件分发给其他虚拟机 hadoop01、hadoop02、hadoop03
3、配置hadoop
集群规划
1)配置集群
提醒:注意value中的内容
(1)核心配置文件——core-site.xml
cd /opt/module/hadoop-3.3.0/etc/hadoop/
vim core-site.xml
在<configuration> </configuration>
中添加内容:
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property><!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.3.0/data</value>
</property><!-- 配置 HDFS 网页登录使用的静态用户为 andy -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>andy</value>
</property>
注意:文件中的<value>hdfs://hadoop01:8020</value>
、 <value>/opt/module/hadoop-3.3.0/data</value>
、<value>andy</value>
中的内容,
第一个要hadoop01
,这个是我的主机名
第二个是/opt/module/hadoop-3.3.0/data
,这个是data的位置,注意路径是否存在;
第三andy
是我的用户名
(2)HDFS配置文件——hdfs-site.xml
vim hdfs-site.xml
在<configuration> </configuration>
中添加内容:
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop01:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:9868</value>
</property>
注意value中内容:
<value>hadoop01:9870</value> <value>hadoop03:9868</value>
hadoop01和hadoop03是我的主机名
(3)YARN配置文件——yarn-site.xml
vim yarn-site.xml
在<configuration> </configuration>
中添加内容:
<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property><!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property><!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop01:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
注意:<value>http://hadoop01:19888/jobhistory/logs</value>
(4)MapeRduce配置——mapred-site.xml
vim mapred-site.xml
在<configuration> </configuration>
中添加内容:
<!-- 指定 MapReduce 程序运行在 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>
注意:<value>hadoop102:10020</value>
<value>hadoop01:19888</value>
(5)将配置文件发给其他虚拟机
xsync /opt/module/hadoop-3.3.0/etc/hadoop
注意:在hadoop02和hadoop03上查看文件是否存在
cat /opt/module/hadoop-3.3.0/etc/hadoop/core-site.xml
(5)配置workers
vim workers
添加主机名,如下:
同步该文件
xsync /opt/module/hadoop-3.3.0/etc/hadoop/workers
注意:查看hadoop02、hadoop03是否接收到文件
cat /opt/module/hadoop-3.3.0/etc/hadoop/workers
2)启动集群
(1)第一次启动需要初始化
cd /opt/module/hadoop-3.3.0
bin/hdfs namenode -format
会在 /opt/module/hadoop-3.3.0
/下生成data
和logs
文件
如果一会儿在运行集群中出现问题,需要把data和logs删除,在进行初始化
集群出现问题注意配置文件是否有问题
(2)启动HDFS
sbin/start-dfs.sh
(3)启动YARN,需要去hadoop02中启动
cd /opt/module/hadoop-3.3.0
sbin/start-yarn.sh
(4)用jps分别查看hadoop01、hadoop02、hadoop03
启动情况
3)创建集群启动的脚本和查看启动清楚的
(1)创建集群启动的脚本
vim /home/用户/bin/myhadoop.sh
输入内容:
#!/bin/bashif [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
ficase $1 in
"start")echo " =================== 启动 hadoop 集群 ==================="echo " --------------- 启动 hdfs ---------------"ssh hadoop01 "/opt/module/hadoop-3.3.0/sbin/start-dfs.sh" echo " --------------- 启动 yarn ---------------"ssh hadoop02 "/opt/module/hadoop-3.3.0/sbin/start-yarn.sh" echo " --------------- 启动 historyserver ---------------"ssh hadoop01 "/opt/module/hadoop-3.3.0/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 关闭 hadoop 集群 ==================="echo " --------------- 关闭 historyserver ---------------"ssh hadoop01 "/opt/module/hadoop-3.3.0/bin/mapred --daemon stop historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop02 "/opt/module/hadoop-3.3.0/sbin/stop-yarn.sh" echo " --------------- 关闭 hdfs ---------------"ssh hadoop01 "/opt/module/hadoop-3.3.0/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac
注意:/opt/module/hadoop-3.3.0
是安装hadoop的路径
,这里需要修改
修改权限并复制到/bin
chmod 777 myhadoop.sh
sudo cp myhadoop.sh /bin/
使用:
启动:myhadoop.sh start
停止:myhadoop.sh stop
(2)查看启动进程的脚本
vim /home/用户/bin/jpsall
输入内容如下:
#!/bin/bashfor host in hadoop01 hadoop02 hadoop03
do
echo =============== $host ===============
ssh $host jps
done
修改权限并复制到/bin
chmod 777 jpsall
sudo cp jpsall /bin/
(3)将/home/用户/bin分发给其他机器
xsync /home/andy/bin/
补充知识:
hadoop3.3.0集群搭建(详细教程)相关推荐
- Hadoop 2.0集群配置详细教程
Hadoop 2.0集群配置详细教程 前言 Hadoop2.0介绍 Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop ...
- k8s双节点集群搭建详细教程
K8S v1.13.0 集群搭建 环境 两台centos主机: Master:192.168.11.112 主机名:k8s-master Node:192.168.11.111 主机名:k8s-nod ...
- 【❤️万字长文总结❤️】一篇学会Redis高可用✔集群✔搭建详细教程
大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:今天总结一下Redis集群高可用的搭建流程 [惊喜推荐+优质资源 ...
- hadoop3.1.0集群搭建
一.环境配置 jdk1.8 centos7 二.环境搭建 1.安装jdk 这个不用怎么说了吧,可以直接yum安装或者自己下载tar包.yum安装不用配置javahome,但是需要知道javahome位 ...
- hadoop3.2.0集群搭建的一些坑!
搭建步骤就不多说了,网上教程很多,这里列举几个: https://blog.csdn.net/pucao_cug/article/details/71698903 2.8版本 https://w ...
- Ubuntu18.04 安装搭建 hadoop-3.3.0 集群
Ubuntu18.04 安装搭建 hadoop-3.3.0 集群 参考博文:https://blog.csdn.net/sunxiaoju/article/details/85222290?ops_r ...
- hadoop-3.0.0集群搭建
2019独角兽企业重金招聘Python工程师标准>>> hadoop-3.0.0集群搭建 下载hadoop包 wget -c http://ftp.jaist.ac.jp/pub/a ...
- 二进制安装部署 4 kubernetes集群---超详细教程
二进制安装部署kubernetes集群---超详细教程 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以 ...
- redis3.0.0 集群安装详细步骤
2019独角兽企业重金招聘Python工程师标准>>> redis3.0.0 集群安装详细步骤 博客分类: 缓存 Redis集群部署文档(centos6系统) (要让集群正常工作至少 ...
- Spark2.2.0集群搭建部署之【基础配置篇】
软件准备信息,详见Spark2.2.0集群搭建部署之[软件准备篇] Spark集群在生产环境中,主要部署在linux的集群中,所以需要先安装JDK,SCALA等基础配置. 由于Spark是计算框架,所 ...
最新文章
- 分页功能 (包含增删改查)工具类
- 茶觉 | “治愈”的白牡丹
- 【图像分割模型】BRNN下的RGB-D分割—LSTM-CF
- 《通过C#学Proto.Actor模型》之 HelloWorld
- linux 缩小链接库体积,两个奇技淫巧,将 Docker 镜像体积减小 99%
- 11-4实战上色及修复照片
- 我想批量删除专题内最古老的100篇文章
- Exchange 2010 迁移至Exchange 2013系列之六:创建信任关系并安装ADMT Server
- 坚持就是成功,没有成功就是你失败的次数太少
- vb.net 教程 3-1 窗体编程基础 1
- java编写数独_简单实现java数独游戏
- MySql 报错1548
- Nginx系列教材 (五)- 和Tomcat进行负载均衡
- 贪心算法实例(一):多任务分配问题
- Modelsim设置默认窗口排版
- Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Finding Unexpected Intents
- 关于音效合成APP鸡乐盒4.0
- 【C语言】Linux 下C程序的内存镜像
- Libgdx slg游戏进程记录
- android 安卓GBA GBC NDS FC SFC 街机游戏模拟器源码