一、前期准备
参考视频:https://www.bilibili.com/video/BV1SN4y1y7Xg/?spm_id_from=333.337.search-card.all.click&vd_source=49b98bdabd82dbf699f8cd593d4a3d7a
- 准备
jdk1.8.0_202
和hadoop-3.1.3
- 准备一台CentOS模版机
- 模版机要求配置静态IP地址
- 模版机要求修改主机名
规划:
192.168.10.21 hadoop21 NN DN
192.168.10.22 hadoop22 DN
192.168.10.23 hadoop23 DN SN
NN: NameNote 数据的目录
DN: DataNote 数据的位置
SNN: SecondaryNamenode 用于FsImage和Edits的定期合
1.1、必装组件
常用命令:
先更新yum
yum install update -y
yum install epel-release -y
集成命令
yum install vim tree wget net-tools psmisc nc rsync lrzsz ntp libzstd openssl-static iotop git -y
1.2、修改ip地址
修改网卡:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加:
BOOTPROTO=static #static静态IP地址,dhcp动态IP地址
···
ONBOOT=yes #将ONBOOT="no"改为ONBOOT="yes",开启网卡自动连接
···
IPADDR=192.168.10.21 #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.2 #网关
DNS1=8.8.8.8 #修改DNS服务器
重启网卡
service network restart
1.3、修改主机名
修改主机名:
vim /etc/hostname
1.4、禁用防火墙
禁用防火墙:
systemctl stop firewalld
systemctl disable firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
二、Hadoop完全分布式搭建
2.1、上传解压
创建目录:
切换/opt目录
cd /opt
在/opt下创建 module 和 software
mkdir module software
解压:
切换软件目录
cd /opt/software
解压Java
tar -zxvf jdk-8u121-linux-arm64.tar.gz -C ../module/
解压Hadoop
tar -zxvf hadoop-3.1.3.tar.gz -C ../module
2.2、创建用户
创建用户:
useradd ahxin
设置用户密码:密码设置:1
passwd ahxin
2.3、修改全局用户权限
设置权限:
vim /etc/sudoers # 100行,快捷键100gg
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
ahxin ALL=(ALL) NOPASSWD:ALL # 注意修改用户名ahxin
:wq!
退出
2.4、使用用户
使用用户:
su ahxin
也可以Xshell重新使用ahxin用户连接
2.5、赋予Hadoop用户/用户组权限
给hadoop目录权限:
cd /opt
sudo chown -R 用户名:用户名 hadoop目录
sudo chown -R ahxin:ahxin /opt/module/hadoop-3.1.3
验证:
ll /opt/module/hadoop-3.1.3
看到既成功:
2.6、创建HDFS的NN 和 DN工作目录
创建HDFS工作目录
创建:
sudo mkdir /var/big_data
设置权限:
sudo chown -R ahxin:ahxin /var/big_data
验证:
ll /var
2.7、配置环境变量
创建一个dfs.sh
配置文件
sudo vim /etc/profile.d/dfs.sh
添加:
# Java
export JAVA_HOME=/opt/module/jdk1.8.0_121 # 修改Java安装目录
export PATH=$PATH:$JAVA_HOME/bin
# Hadoop
export HADOOP_HOME=/opt/module/hadoop-3.1.3 # 修改Hadoop安装目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
立即生效:
source /etc/profile
验证:
java -version
hadoop version
echo $HADOOP_HOME
echo $JAVA_HOME
三、修改Hadoop配置文件
进入Hadoop主目录
cd $HADOOP_HOME/etc/hadoop
3.1、hadoop-env.sh
sudo vim hadoop-env.sh # 54行,54gg
export JAVA_HOME=/opt/module/jdk1.8.0_121
3.2、yarn-env.sh
sudo vim yarn-env.sh # 按G 在最后一行添加
export JAVA_HOME=/opt/module/jdk1.8.0_121
3.3、core-site.xml
sudo vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop21:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/big_data</value>
</property>
3.4、hdfs-site.xml
sudo vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hdfs://hadoop23:9868</value>
</property>
3.5、mapred-site.xml
sudo vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.6、yarn-site.xml
sudo vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop21</value>
</property>
3.6、workers
sudo vim workers
添加内容
hadoop21
hadoop22
hadoop23
3.7、修改hosts
sudo vim /etc/hosts
添加:
前面两行需要注释
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.84.21 hadoop21
172.16.84.22 hadoop22
172.16.84.23 hadoop23
192.168.10.21 hadoop21
192.168.10.22 hadoop22
192.168.10.23 hadoop23
3.8 修改win hosts
目录位置
C:\Windows\System32\drivers\etc
四、克隆
4.1、使用Hadoop21,克隆Hadoop22,Hadoop23
- 修改主机名
- 修改对应ip地址
4.2、验证hosts
ping hadoop21
ping hadoop22
ping hadoop23
4.3、免密登录
先切换普通用户
ssh-keygen -t rsa
4.4、拷贝密钥:
第一次,三台机执行
ssh-copy-id hadoop21
第二次,三台机执行
ssh-copy-id hadoop22
第三次,三台机执行
ssh-copy-id hadoop23
五、格式化 & 启动
格式化:
hdfs namenode -format
启动
start-dfs.sh
停止:
stop-dfs.sh