二、安装JDK hadoop 、hadoop虚拟配置要求

1.yum安装需要虚拟机可以正常上网,.使用yum安装时先测试下虚拟机联网情况

ping www.baidu.com

2.安装epel-release

yum install -y epel-release
注意:如果Linux安装的是最小系统版还需安装如下工具,如果是桌面版则无需。
yum install -y net-tools   #net-tools工具包集合,包含config等命令
yum install -y vim       #vim 编辑器

3.关闭防火墙,关闭防火墙开机自己启动

systemctl stop firewalld
systemctl disable firewalld.service

4.创建用户,并修改用户密码

useradd youyou
passwd 666666

修改文件。在%wheel下添加一行

vim /etc/sudoers
youyou ALL=(ALL)      NOPASSWD:ALL

5.在youyou用户下创建两个文件夹,service 和softare,并修改二者root用户为youyou

sudo mkdir software service
sudo chown youyou:youyou service/ software/

6.(因为是安装的桌面版Linux,所以默认自动安装了JDK,需卸载,记得reboot重启虚拟机安装最小系统则无需操作此步骤)

0a5731a9c84449eb872d804dd5a7fa49.png

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 
其中rpm -qa | grep -i java表示过滤,xargs -n1表示只传递一个参数

 7.配置Xshell-----新建------填写配置的主机名 用户 密码

8.安装JDK,

cd /opt/
ll
cd service/
选择jar包上传
tar -zxvf 所上传的jar包名称 -C /opt/service/

6bd9b40be09a47389909657aa3bef28a.png

配置JDK

cd /jdk1.8.0_212
ll
cd /etc/profile.d/
ll                 #能看见后缀为.sh的文件
vim my_env.sh     #自己创建一个文件配置jdk环境变量
写入如下内容:
#JAVA_HOME
export JAVA_HOME=/opt/service/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

 配置完记得

source /etc/profile

输入java 会出现许多内容,说明配置成功

9.安装hadoop

同上第8操作一样,但是配置hadoop环境变量时,接着在jdk配置内容下写入内容如下

#JAVA_HOME
export JAVA_HOME=/opt/service/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export JHADOOP_HOME=/opt/service/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

配置完记得

source /etc/profile

输入hadoop会出现许多内容,说明配置成功

10.scp安全拷贝

d6b3c7cff76e48c9afc20e4510268b3f.png

5ccbe40c2de44ecbbae490937e0f0fa2.png

拷贝前提:三台虚拟机均创建service和software两个目录且sudo chown youyou:youyou -R /opt/service

在hadoop1上将hadoop1中/opt/service/jdk1.8.0_212目录拷贝到hadoop2上。
scp -r /opt/service/jdk1.8.0_212 youyou@hadoop1:/opt/service
在hadoop3上,将hadoop2中/opt/service/jdk1.8.0_212目录拷贝到hadoop3上.
scp -r youyou@hadoop2:/opt/service/jdk1.8.0_212  /opt/service
在hadoop3上,将hadoop2中/opt/service目录下所有目录拷贝到hadoop3上.
scp -r youyou@hadoop2:/opt/service/*  youyou@hadoop3:/opt/service

11.rsync远程同步工具

1a918c13fa274d6eb0ca717b77ece7b1.png

 2ec46c3bc6ba4b1aa0a099c43cff3cd6.png

 第一次同步等同于拷贝

rm -rf wc/   #删除hadoop3中/opt/service/hadoop-3.1.3/wc
 #在hadoop2下同步hadoop2中/opt/service/hadoop-3.1.3到hadoop3
rsync -av hadoop-3.1.3/ youyou@hadoop3:/opt/service/hadoop-3.1.3/    

 12.xsync集群分发脚本:循环复制文件到所有节点的相同目录下

脚本放在声明了全局变量的路径下,在任何路径均可使用脚本

echo $PATH
​
#在/home/youyou/bin目录下创建xsync

cd /home/youyou
mkdir bin
cd bin/
vim xsync

#copy以下所有命令到rsync

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=ly1; host<ly4; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
#修改脚本 xsync 具有执行权限
chmod 777 xsync

三台虚拟机上分别执行以下命令

xsync bin/

xsync /etc/profile.d/my_env.sh

之后记得source /etc/profile

#调用脚本形式:xsync 文件名称
xsync /home/youyou/bin

注意:如果将xsync放到/home/youyou/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。

13.配置集群,此处在第一台虚拟机上配置13.1-13.4

#先执行以下命令进入hadoop
cd /opt/service/hadoop-3.1.3
ll
cd etc/hadoop/

13.1配置core-site.xml        vim  core-site.xm l输入以下内容

<!-- 指定HDFS中NameNode的地址 -->
<property>
		<name>fs.defaultFS</name>
      <value>hdfs://hadoop1:8020</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-3.1.3/data/tmp</value>
</property>

13.2配置hdfs-site.xmll       vim  hdfs-site.xmll输入以下内容

671ca33ef70b4fb599a41d06c96e5844.png

13.3配置yarn-site.xml       vim yarn-site.xmll输入以下内容

<!-- Reducer获取数据的方式 -->
<property>
 		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>

13.4配置 mapred-site.xml       vim  mapred-site.xml输入以下内容

<!-- 指定MR运行在YARN上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

14.在集群上(第二、三台虚拟机)分发配置好的hadoop配置文件【注意:在/opt/service/hadoop-3.1.3/etc目录下】

xsync hadoop/

可以在第二、三台虚拟机上进入到/opt/service/hadoop-3.1.3/etc/hadoop/目录下,输入cat core-site.xml  、hdfs-site.xmll 、yarn-site.xml 、 mapred-site.xml以确认是否同步分发成功。

15.配置workers

cd /opt/service/hadoop-3.1.3/etc/hadoop
ll
vim workers
dd删除内容,输入如下
hadoop1  #自己配置的三台虚拟机主机名称,仅三行不能有空格
hadoop2
hadoop3

16.格式化

注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

hdfs namenode -format

格式化成功多了两个目录data和logs。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值