赞
踩
# 简介:耐心,自信来源于你强大的思想和知识基础!!
# 严禁转载
1.
2.
3.
4.
5.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19. 附:如果实在ping不出来看下一步
20. 连接上网络后进入网络配置文件
21. 在root用户下进入sudoers文件
- vi /etc/sudoers
- 修改后强制保存退出即可!
22. 那么DJAILPO有了root相关权限后,就可以进入网络配置文件了
命令:sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
其中信息修改
23. 重启网络
systemctl restart network
1.先ping一下
2.进行网络配置
这里的普通用户设置拥有root权限。上文有,不在赘述。
sudo vi /etc/sysconfig/network-scripts/ifconfig-ens33
- 修改其中重要的几个参数或者是添加;注释可以不用管
- BOOTPROTO=static #
- ONBOOT=yes # 开机自动启动
- IPADDR=192.168.21.131 # ip地址
- GATEWAY=192.168.21.2 # 网关
- NETMASK=255.255.255.255 # 子网掩码
- DNS1=8.8.8.8 # DNS 设置首选和备用的 DNS 服务器的 IP 地址。在网络中查询域名时,系统将使用这些 DNS 服务器进行解析。
- DNS2=114.114.114.114
3.重启网络
systemctl restart network
4.重启虚拟机 reboot
5.ping一下成功,配置完成!
sudo vi /etc/hostname
重启虚拟机后生效
- systemctl status firewalld # 查看防火墙状态
- systemctl stop firewalld.service #临时关闭防火墙
- root用户下进行:
- useradd lizhiqiang # 创建用户lizhiqiang
- passwd lizhiqiang #修改密码
vi /etc/sudoers
温馨提示:以下操作,若无特别提示,均在lizhiqiang用户下进行的!
进入lizhiqiang用户:su lizhiqiang
- sudo mkdir /opt/module
- sudo mkdir /opt/software
- sudo chown Hadoop: /opt/module
- sudo chown Hadoop: /opt/software
rpm -qa | grep -i java
卸载命令:进入root用户进行卸载,不然会报错!
rpm -qa |grep -i java|xargs -n1 rpm -e --nodeps
which java
这里我用的是WinSCP工具:使用的参考链接:WinSCP参考教程
tar -xvf jdk-8u162-linux-x64.tar.gz -C /opt/module
- /opt/module/jdk1.8.0_162 #先获取JDK路径 在路径下使用命令pwd
- sudo vi /etc/profile #打开/etc/profile文件,在profile文件末尾添加JDK路径
加入以下内容:
- #JAVA_HOME
- export JAVA_HOME=/opt/module/jdk1.8.0_162
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
让修改后的文件生效:
source /etc/profile
- which java
-
- javac
-
- java -version
同上用WinSCP将hadoop安装包导入到/opt/software目录下!
解压到opt目录下面的module文件夹下面:
tar -xvf hadoop-3.1.3.tar.gz -C /opt/module/
sudo vi /etc/profile
添加如下内容:
- #HADOOP_HOME
- export HADOOP_HOME=/opt/module/hadoop-3.1.3
- export PATH=$PATH:$HADOOP_HOME/bin
- export PATH=$PATH:$HADOOP_HOME/sbin
source /etc/profile
hadoop version
配置文件均在 hadoop 安装目录下的 etc/hadoop 目录下
/opt/module/hadoop-3.1.3/etc/hadoop
温馨提示:这里建议快照一下,保护状态!后面要用(将其命名为:jdk和hadoop配置完毕!伪分布式未配置前状态!因为配置完伪分布式后,我们需要恢复到这个状态去配置完全分布式!)
命令:
sudo vi core-site.xml
在最后的configuration之间加入以下内容:
- <!-- 指定 HDFS 中 NameNode 的地址 -->
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://Aimehadoop01:9000</value>
- </property>
-
- <!-- 指定 Hadoop 运行时产生文件的存储目录 -->
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/opt/module/hadoop-3.1.3/data/tmp</value>
- </property>
命令:
sudo vi hdfs-site.xml
加入内容的原理同上
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
进入目录:
/opt/module/hadoop-3.1.3/bin
命令:
hdfs namenode -format
- 进入目录:/opt/module/hadoop-3.1.3/sbin
- 命令:hadoop-daemon.sh start namenode # 启动namenode
- 命令:hadoop-daemon.sh start datanode # 启动datanode
- # 注意启动namenode和datanode时要关闭防火墙
- 命令:systemctl stop firewalld.service # 临时关闭防火墙
- 命令:systemctl status firewalld.service # 查看防火墙的状态
打开浏览器:输入:http://Aimehadoop01:9870 (其中Aimehadoop01是静态ip地址映射)
进入成功!伪分布式配置完成!
查看name
cd /opt/module/hadoop-3.1.3/data/tmp/dfs/name/current/
输入:
cat VERSION
查看data
cd /opt/module/hadoop-3.1.3/data/tmp/dfs/data/current/
输入:
cat VERSION
删除目录:/opt/module/hadoop-3.1.3中的data和logs文件即可
命令:sudo rm -rf data 和 sudo rm -rf logs 然后在重新格式化即可!
注:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和logs日志,然后再格式化NameNode。
命令:
sudo vi yarn-site.xml
加入内容:
-
- <!-- Reducer获取数据的方式 -->
- <property>
- <name>yarn.nodemanager.aux-services</name>
-
- <value>mapreduce_shuffle</value>
- </property>
- <!-- 指定YARN的ResourceManager的地址 -->
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>Aimehadoop01</value>
- </property>
命令:
sudo vi mapred-site.xml
加入内容:
- <!-- 指定MR运行在YARN上 -->
- <property>
- <name>mapreduce.framework.name</name>
-
- <value>yarn</value>
- </property>
启动前必须保证NameNode和DataNode已经启动!
进入目录:
cd /opt/module/hadoop-3.1.3/sbin
命令:
- yarn-daemon.sh start resourcemanager #启动ResourceManager
-
- yarn-daemon.sh start nodemanager #启动NodeManager
打开浏览器输入:
http://Aimehadoop01:8088/cluster
到此:伪分布式整体配置完毕!
客户机在最开始已经准备好了。忘掉的自己回去看伪分布式前言!
- 1.虚拟机Aihadoop02和虚拟机Aihadoop03
-
- 创建用户lizhiqiang(可自行命名)并设置密码和上文类似。两个虚拟机都要创建!
-
- 2.设置用户lizhiqiang具有root权限(前文有详细教程,这里不在赘述)
-
- 3.修改主机名(前文有教程这里不在赘述)
-
- 4.添加映射关系!在文件hosts里面 (前文有教程这里不在赘述)
5.修改网络配置(以主机Aimehadoop02为例)
进入:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
6.重启网络
systemctl restart network
7.重启虚拟机
reboot
8. 最后一步
- 1.这里我们用工具,因为我们前面已经有了Aimehadoop01的配置jdk和hadoop过程!
- (是配置完jdk和hadoop后,没有配置伪分布式前的状态哦!)
- 2.进入Aihadoop01虚拟机,恢复快照(状态为配置完jdk和hadoop后,没有配置伪分布式前)
- 3.在Aihadoop2和3中 卸载现有JDK 查询是否安装Java软件:
- rpm -qa | grep -i java
- 4.如果有,卸载该JDK: 卸载命令:(进入root用户进行卸载,不然会报错!)
- rpm -qa |grep -i java|xargs -n1 rpm -e --nodeps
- 5.查看JDK安装路径:which java
- 6.再次验证:rpm -qa | grep -i java 如果没有显示则说明卸载成功!
scp可以实现服务器与服务器之间的数据拷贝
- 基本语法:scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
- 命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
1.在Aimehadoop01上,将Aimehadoop01上/opt/module目录下的软件拷贝到Aimehadoop02上。
先给Aimehadoop02 /opt目录设置权限777 :
sudo chmod 777 /opt
2.在Aimehadoop01上 root用户 执行
scp -r /opt/module lizhiqiang@Aimehadoop02:/opt
3.同理将Aimehadoop01中/opt/module目录下的软件拷贝到Aimehadoop03上.
4.在Aimehadoop01上 将Aimehadoop01上/etc/profile文件 拷贝到Aimehadoop02 /etc/profile上。
要将/etc/profile 权限设置为777 才可以。然后进入root用户。
scp /etc/profile lizhiqiang@Aimehadoop02 :/etc/profile
5.同理将Aimehadoop01中/etc/profile目录下的软件拷贝到Aimehadoop03上.
拷贝过来的配置文件别忘了source一下/etc/profile,
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
- 基本语法
- rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname
- 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
1. 在Aimehadoop01上,将Aimehadoop01上/opt/module目录下的软件拷贝到Aimehadoop02上。
rsync -rvl /opt/module lizhiqiang@Aimehadoop02:/opt/
2.在Aimehadoop01上 将Aimehadoop01上/etc/profile文件 拷贝到Aimehadoop02 /etc/profile上。
rsync -rvl /etc/profile lizhiqiang@Aimehadoop02 :/etc/profile
3.同理将Aimehadoop01中/etc/profile目录下的软件拷贝到Aimehadoop03上.
只需要在Aimehadoop01生成密钥对,并将公钥复制到每个需要访问的远程节点上。
ssh-keygen -t rsa #一直按回车直到生成结束即可!
执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub
将公钥拷贝到要免密登录的目标机器上
- ssh-copy-id Aimehadoop01
-
- ssh-copy-id Aimehadoop02
-
- ssh-copy-id Aimehadoop03
ssh 主机名
rm -rf ~/.ssh #这将删除旧的SSH密钥对!
然后再根据步骤2生成即可!
在/root/目录下创建bin目录,并在bin目录下xsync.sh创建文件,文件内容编写代码如下:
- #1. 判断参数个数
- if [ $# -lt 1 ]
- then
- echo Not Enough Arguement!
- exit;
- fi
-
- #2. 遍历集群所有机器
- for host in Aimehadoop01 Aimehadoop02 Aimehadoop03
- do
- echo ==================== $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 -rvl $pdir/$fname $host:$pdir
- else
- echo $file does not exists!
- fi
- done
- done
chmod 777 xsync.sh
xsync.sh 文件名称
- xsync.sh /home/lizhiqiang/bin
- #(这个语句的含义是将本机上的 /home/lizhiqiang/bin 路径经过xsync.sh脚本分别分发给里面三台虚拟机)
- #那么此时那三台虚拟机就都有这个路径 /home/lizhiqiang/bin 了!因此省去了每台虚拟机都要写文件和修改配置文件的麻烦!
执行完xsync.sh这个脚本后
这里的bin就是Aimehadoop01执行脚本的命令分配的!里面的所有内容跟Aimehadoop01一致!
hadoop101 | hadoop102 | hadoop103 | |
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager | NodeManager |
目录均在:/opt/module/hadoop-3.1.3/etc/hadoop 下进行。
配置文件hadoop-env.sh 、yarn-env.sh、mapred-env.sh
并在它们的末尾都加上你自己的jdk路径:
export JAVA_HOME=/opt/module/jdk1.8.0_162
sudo vi core-site.xml
加入内容:
- <!-- 指定HDFS中NameNode的地址 -->
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://AimeHadoop1:9000</value>
- </property>
-
- <!-- 指定Hadoop运行时产生文件的存储目录 -->
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/opt/module/hadoop-3.1.3/data/tmp</value>
- </property>
sudo vi hdfs-site.xml
加入以下内容:
- <!-- 指定HDFS副本的数量 -->
- <property>
- <name>dfs.replication</name>
- <value>3</value>
- </property>
- <!-- 指定Hadoop辅助名称节点主机配置 -->
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>Aimehadoop03:50090</value>
- </property>
sudo vi yarn-site.xml
加入以下内容:
- <!-- Site specific YARN configuration properties -->
- <!-- Reducer获取数据的方式 -->
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <!-- 指定YARN的ResourceManager的地址 -->
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>Aimehadoop03</value>
- </property>
sudo vi mapred-site.xml
加入以下内容:
- <!-- 指定MR运行在Yarn上 -->
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
使用xsync.sh脚本将其他另外两个虚拟机配置了!
进入脚本xsync路径:
/home/lizhiqiang/bin
执行命令:
./xsync.sh /opt/module/hadoop-3.1.3/etc/hadoop/
此时另外两个虚拟机的配置文件都配置完毕(可以自行查看是否配置完成!)建议保存这些虚拟机此时的状态!
路径:
/opt/module/hadoop-3.1.3/etc/hadoop
命令:
vi workers
在路径/home/lizhiqiang/bin/ 执行命令将workers分配给每个虚拟机!
./xsync.sh /opt/module/hadoop-3.1.3/etc/hadoop/workers
自行查看是否成功!
集群是第一次启动,需要格式化NameNode (执行前必须关闭防火墙!!!)
进入目录:
/opt/module/hadoop-3.1.3/bin
命令:
hdfs namenode -format
这些命令每一个虚拟机都要做!!!
在主虚拟机也就是Aimehadoop01上(前提是步骤8都做了!)
进入目录:
/opt/module/hadoop-3.1.3/sbin
执行:
start-all.sh
同理:stop-all.sh那么所有虚拟机的所有相应节点都会关闭!!
到此为止,集群分布式搭建基本完毕!感谢各位的观看!希望能够对你有所帮助!
参考链接:
大数据之Hadoop3.x 运行环境搭建(手把手搭建集群)_hadoop环境搭建-CSDN博客https://blog.csdn.net/yuan2019035055/article/details/120901871搭建 Hadoop 集群详细教程_配置hadoop集群-CSDN博客https://blog.csdn.net/sculpta/article/details/107850280?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-107850280-blog-123782963.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-107850280-blog-123782963.235%5Ev38%5Epc_relevant_sort_base2&utm_relevant_index=1三分钟完成虚拟机联网 小白看了都说好!!! 虚拟机超详细联网教程/步骤 SDN软件定义网络实验_虚拟机联网教程_九号迷妹的博客-CSDN博客https://blog.csdn.net/qq_53429158/article/details/119043547?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%80%8E%E4%B9%88%E8%AE%A9%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%9C%89%E7%BD%91&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-119043547.nonecase&spm=1018.2226.3001.4187WinSCP 使用教程-CSDN博客https://zhengys.blog.csdn.net/article/details/107138719?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-107138719-blog-120220823.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-107138719-blog-120220823.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=1&ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI2MzgzOTc1L2FydGljbGUvZGV0YWlscy8xMjAyMjA4MjM%2Fb3BzX3JlcXVlc3RfbWlzYz0lMjU3QiUyNTIycmVxdWVzdCUyNTVGaWQlMjUyMiUyNTNBJTI1MjIxNjk1MzUwNDEyMTY4MDAxODg1ODgzNTUlMjUyMiUyNTJDJTI1MjJzY20lMjUyMiUyNTNBJTI1MjIyMDE0MDcxMy4xMzAxMDIzMzQuLiUyNTIyJTI1N0QmcmVxdWVzdF9pZD0xNjk1MzUwNDEyMTY4MDAxODg1ODgzNTUmYml6X2lkPTAmdXRtX21lZGl1bT1kaXN0cmlidXRlLnBjX3NlYXJjaF9yZXN1bHQubm9uZS10YXNrLWJsb2ctMn5hbGx%2BdG9wX2NsaWNrfmRlZmF1bHQtMS0xMjAyMjA4MjMtbnVsbC1udWxsLjE0Ml52OTReY29udHJvbCZ1dG1fdGVybT13aW5zY3AlRTUlQUUlODklRTglQTMlODUlRTYlOTUlOTklRTclQTglOEImc3BtPTEwMTguMjIyNi4zMDAxLjQxODc%3D
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。