目录 一、单机安装 二、伪分布式环境搭建 配置SSH免密登录 三、完全分布式环境搭建 设置免密 修改配置文件 本文的所有配置文件,除注释部分都可直接复制粘贴。因为本文的配置文件的语言语法采用的是HTML或JAVA,
目录
本文的所有配置文件,除注释部分都可直接复制粘贴。因为本文的配置文件的语言语法采用的是HTML或JAVA,注释部分可能和linux系统上的不同,因此如果直接复制粘贴记得将注释删除或调整语法。
一、单机安装
安装虚拟机、操作系统(前期初步准备工作已完成)先关闭firewalld防火墙:
systemctl stop firewalld //停止防火墙systemctl disable firewalld //关闭防火墙开机自启动systemctl status firewalld //查看防火墙状态
设置主机名:
hostnamectl set-hostname master //设置主机名为masterhostname //查看主机名
映射主机名和IP地址:
ip add //查看IP地址vi /etc/hosts //在文件最后一行加上IP地址和主机名例:192... master
安装rz命令:
yum install -y lrzsz
mkdir -p /export/server //新建一个专用目录cd /export/server //切换目录rztar -zxvf /root/jdk.tar.gz //解压mv jdk1.8.0_131/ jdk1.8 //重命名
配置JAVA环境
vi /etc/profile//在文件最后加上JAVA_HOME=/export/server/jdk1.8export PATH=$PATH:$JAVA_HOME/bin //保存并退出后,刷新文件source /etc/profile//查看jdk是否安装成功,出现版本号即可java -version
上传hadoop压缩包至服务器并解压:
cd /export/serverrztar -zxvf /root/hadoop-2.7.2.tar.gz//配置hadoop环境变量cd hadoop-2.7.2pwd //显示hadoop安装路径,方便后续配置vi /etc/profile//在文件最后加上HADOOP_HOME=/export/server/hadoop-2.7.2PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport JAVA_HOME HADOOP_HOME PATH//保存并退出后,刷新文件source /etc/profile//查看hadoop是否安装成功hadoop version
二、伪分布式环境搭建
搭建伪分布式前提条件:文章上面的基础hadoop、jdk环境搭建完成
which java //查看java所在位置vi hadoop-env.sh//将export JAVA_HOME的值修改为我们安装的JDK路径export JAVA_HOME=/export/server/jdk1.8
进入hadoop/etc/hadoop目录:
cd /export/server/hadoop/etc/hadoop
修改core-site.xml:
vi core-site.xml
如果配置了存放临时文件则需要创建一个目录:
mkdir -p /export/server/hadoop-2.7.2/data/tmp
fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /export/server/hadoop-2.7.2/data/tmp
修改hdfs-site.xml:
vi hdfs-site.xml
dfs.replication 1 dfs.secondary.Http.address master:50070
修改mapred-site.xml:
这个文件是不存在的,但是有一个模板文件mapred-site.xml.template,我们将这个文件改名为mapred-site.xml,然后进行修改:
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
mapReduce.framework.name yarn
修改yarn-site.xml:
vi yarn-site.xml
该文件为Yarn框架配置文件,配置ResourceManager,nodeManager的通信端口,WEB监视端口等
yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle
格式化DFS:
hdfs namenode -fORMat
如果在格式化的日志中出现succefully format就证明格式化成功
启动所有服务:start-all.sh
关闭所有服务:stop-all.sh
输入:
ssh-keygen -t rsa
按四次回车
建立密钥对:
cd /root/.ssh
查看:ll
私钥:id_rsa
公钥:id_rsa.pub
ssh-copy-id将本机的公钥复制到远程机器的authorized_keys文件中,这里是伪分布式,只有一台机器,所以仍然是master然后需要输入master的root用户密码:
ssh-copy-id master
可以查看:记录多台机器的公钥,让机器之间使用ssh不需要用户名和密码:
#more authorized_keys
可以看到authorized_keys中的内容就是id_rsa.pub的内容,再次使用start-dfs.sh和start-yarn.sh,发现不需要输入密码了,实现免密登录。
三、完全分布式环境搭建
先将可以联网的单机,克隆三台:master、slave1、slave2
没有创建单机,直接搭建完全分布式的。可以创建三台虚拟机,然后配置好基础的hadoop、jdk环境,效果等于克隆三台单机。单机配置可看上文
把每台的文件都修改一下:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
按规划设置各节点IP,网段取决于自己的电脑。为方便记忆,建议master节点IP尾数用200,slave用201,slave用202
//将UUID删除//修改IPADDR=网段例:master的IPADDR=192...200slave1的IPADDR=192...201
重启网络服务:systemctl restart network
为了方便,三台都重命名:hostnamectl set-hostname 名字
例:master主节点重命名:hostnamectl set-hostname master
如果是用远程连接工具修改,需要重新连接才会显示修改后的名字
修改hosts文件,在主节点映射IP地址和主机名(每个节点都要)
vi /etc/hosts//在文件最后加上://主节点IP地址+ master 例:192...200 master//从一节点IP+ slave1//从二节点IP+ slave2
将配置好的hosts文件发送给两个从节点:
scp /etc/hosts slave1:/etc/hosts
scp /etc/hosts slave2:/etc/hosts
查看三台时间是否相同:date
如果时间不同,手动时间同步:
安装NTP服务:yum install ntp
时间同步(三台都要):ntpdate -u ntp1.aliyun.com
查看防火墙是否开启:systemctl status firewalld.service
如果开启,则关闭:systemctl stop firewalld.service
删除三台机上的.ssh目录:rm -rf /root/.ssh
生成新密钥对(三台都要):ssh-keygen -t rsa
连按三次回车
切换目录,将三个节点的.ssh目录下的公钥复制到主节点(master)上(前提是你已经在主节点把/etc/hosts文件配置好并分发给了两台从节点,不然会报不知道master的错误):
cd /root/.ssh
ssh-copy-id master (三个都要)
查看是否复制成功(要在/root/.ssh下):
cat authorized_keys
在主节点上远程拷贝到两个从节点:
scp authorized_keys slave1:/root/.ssh/authorized_keys
scp authorized_keys slave2:/root/.ssh/authorized_keys
在执行过程中输入yes并输入密码
验证:ssh slave1 可以切换
第五点也可以直接将master的/root/.ssh拷贝到另外两台主机上
scp -r /root/.ssh slave1:/root
scp -r /root/.ssh slave2:/root
先在主节点创建三个文件夹:
mkdir -p /export/server/tmp(不配置文件可以不创)
mkdir -p /export/server/hdfs/name(不配置文件可以不创)
mkdir -p /export/server/hdfs/data(不配置文件可以不创)
切换目录:cd /export/server/hadoop-2.7.2/etc/hadoop
修改:vi core-site.xml
fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /export/server/tmp
先查看自己的java所在,方便后续配置:which java
修改文件:vi hadoop-env.sh
//大概25行//export JAVA_HOME=/export/server/jdk1.8 (写自己jdk的存放目录)
修改:vi mapred-env.sh
将java路径写上:
//export JAVA_HOME=/export/server/jdk1.8
修改:vi yarn-env.sh
//将java路径写上//export JAVA_HOME=/export/server/jdk.18
将文件改名:mv mapred-site.xml.template mapred-site.xml
修改:vi mapred-site.xml
mapreduce.framework.name yarn
修改:vi yarn-site.xml
yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle
修改:vi hdfs-site.xml(默认配好,可以不配)
dfs.namenode.name.dir file:/export/server/hdfs/name dfs.datanode.data.dir file:/export/server/hdfs/data dfs.replication 2
vi slaves
将两个从节点的名字写到最后:
slave1
slave2
将文件发送给两个从节点:
scp -r /export/server/hadoop-2.7.2/etc/hadoop slave1:/export/server/hadoop-2.7.2/etc
scp -r /export/server/hadoop-2.7.2/etc/hadoop slave2:/export/server/hadoop-2.7.2/etc
格式化文件:
hdfs namenode -format
启动集群,主节点有4个,从节点有3个:
start-all.sh
来源地址:https://blog.csdn.net/qq_62731133/article/details/127963207
--结束END--
本文标题: Hadoop环境搭建-单机、伪分布式、完全分布式
本文链接: https://www.lsjlt.com/news/440356.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0