Hadoop完全分布式部署(超全)

本文详述了Hadoop完全分布式部署的全过程,包括配置vm共享文件夹、虚拟机网络设置、服务器配置与免登陆、文件传输、Hadoop、Zookeeper、Scala、Hbase和Mysql的安装与配置,以及在安装过程中遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

Hadoop完全分布式部署

1、配置vm共享文件夹

注意:主要是实现window与虚拟机之间的文件共享,如果用实体机的,就不需要这步

1.1 linux系统创建共享目录

mkdir -p /work/software/share

1.2 vm配置共享文件夹

image-20201009160910342

2、配置vm网络

image-20201009111740976

image-20200929172344049

vm安装步骤看这

三台服务器ip为:

hdp01 192.168.10.133
hdp02 192.168.10.134
hdp03 192.168.10.135

3、配置虚拟机

注意:以下内容三台服务器同样配置(以第一台服务器为例)

3.1 服务器配置

3.1.1 配置默认登录模式为init 3
#centos 7以前
vi /etc/inittab
#将id:5:initdefault改为id:3:initdefault
#centos 7以后
systemctl set-default multi-user.target
3.1.2 配置自动启动网络连接
  #1.进入网络配置目录
  cd /etc/sysconfig/network-scripts/
  #2.修改要自动启动的网卡
  sudo vi ifcfg-eth0
  #  ps:  ifcfg-eth0  要根据实际情况修改,不同 server 或 多个网卡时应该时不一样的。
  # 将
  ONBOOT=no
  #改成
  ONBOOT=yes
3.1.3修改hostname文件
vim /etc/sysconfig/network
#修改为以下内容
NETWORKING=yes
HOSTNAME=hdp01
#保存后需要重启才生效
3.1.4 修改host文件
vi /etc/hosts
#添加以下内容
192.168.10.133 hdp01
192.168.10.134 hdp02
192.168.10.135 hdp03

需要把以上hosts配置到windows的hosts文件中,不然windows连接不上hdfs,也不能传输文件

路径:C:\Windows\System32\drivers\etc下的hosts文件
3.1.5 关闭防火墙和selinux(不关闭会造成我们的集群运行不成功)

关闭 iptables

#切换到root用户查看防火墙的状态
service iptables status
# 停止防火墙
service iptables stop
#永久关闭防火墙
chkconfig iptables off
#关闭selinux
vim /etc/sysconfig/selinux

关闭 firewalld

# 查看防火墙状态
firewall-cmd --state
(not running 表示防火墙未开启, running 表示防火墙开启)

# 关闭防火墙
systemctl stop firewalld

# 永久关闭防火墙
systemctl disable firewalld

配置文件可以source一下,但hostname修改必须需要重启

reboot

3.2服务器的免登陆

注意:以下内容三台服务器同样配置(以第一台服务器为例)

3.2.1 生成公钥并拷贝到其他服务器
#生成公钥
ssh-keygen -t rsa  #enter键一直敲到底
# 将自己生成的公钥写入authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#拷贝生成的公钥到另外两台虚拟机
ssh-copy-id -i ~/.ssh/id_rsa.pub hdp02
ssh-copy-id -i ~/.ssh/id_rsa.pub hdp03

3.2.2 测试免密登录
# ssh到hdp02服务器
ssh hdp02
# 退出ssh连接
exit

出现如下表示免密登录成功

image-20201009160133181

4、window系统向linux系统传输文件

注意:没有第一步配置VM共享文件夹的,可以考虑用这步,以下内容三台服务器同样操作(以第一台服务器为例)

4.1 liunx系统创建存放安装包目录

mkdir -p /work/software/share

4.2 文件传输

mysql的rpm下载地址

#下面相关的组件安装包自行去官网下载或者linux链接下载到服务器hdp01上那就不用以下步骤了
#window端打开cmd命令窗口,服务器名称,自行修改
scp E:\linux系统软件\jdk-linux-x64.tar.gz root@hdp01:/work/software/share/
scp E:\linux系统软件\hadoop-2.9.2.tar.gz  root@hdp01:/work/software/share/
scp E:\linux系统软件\apache-zookeeper-3.6.2.tar.gz root@hdp01:/work/software/share/
scp E:\linux系统软件\scala-2.13.3.tgz root@hdp01:/work/software/share/
scp E:\linux系统软件\hbase-2.3.2-bin.tar.gz root@hdp01:/work/software/share/
scp E:\linux系统软件\mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz root@hdp01:/work/software/share/
#scp E:\linux系统软件\mysql80-community-release-el7-3.noarch.rpm root@hdp01:/work/software/share/
scp E:\linux系统软件\apache-hive-3.1.2-bin.tar.gz root@hdp01:/work/software/share/

5、hadoop集群安装和配置

5.1 集群方案

主机名 NameNode DataNode ResourceManager NodeManager SecondaryNameNode
hdp01
hdp02
hdp03

5.2 环境搭建

5.2.1 JDK安装
#  解压jdk安装包
tar -zxvf /work/software/share/jdk-linux-x64.tar.gz 
# 重命名
mv jdk1.8.0_131 /work/software/jdk1.8
# 配置环境变量
vim /etc/profile
#添加如下内容
export JAVA_HOME=/work/software/jdk1.8
export JRE_HOME=/work/software/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
# 使用source命令生效
source /etc/profile
# 5.2.2 查看Java环境变量配置是否成功
java -version

出现以下内容表示配置成功

image-20201009214133422

5.2.2 hadoop安装
#  解压jdk安装包
tar -zxvf /work/software/share/hadoop-2.9.2.tar.gz 
# 重命名
mv hadoop-2.9.2 /work/software/hadoop2.9
# 配置环境变量
vim /etc/profile
#添加如下内容
export HADOOP_HOME=/work/software/hadoop2.9
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
# 使用source命令生效
source /etc/profile
# 5.2.2 查看Java环境变量配置是否成功
hadoop version

出现以下内容表示配置成功

image-20201009214024346

5.2.3 hadoop相关文件配置

hadoop文件下的目录结构:

  • etc目录存放配置文件
  • sbin目录下存放服务的启动命令
  • share目录下存放jar包与文档

image-20201009214550673

(1)配置mapred-env.sh

#添加
export JAVA_HOME=/work/software/jdk1.8

(2)配置yarn-env.sh

export JAVA_HOME=/work/software/jdk1.8

(3)配置core-site.xml

vi /work/software/hadoop2.9/etc/hadoop/core-site.xml
<configuration>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/work/software/hadoop2.9/data/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://hdp01:9000</value>
   </property>
</configuration>

(4)配置hdfs-site.xml

vi /work/software/hadoop2.9/etc/hadoop/hdfs-site.xml
<configuration>
       <property>
                <name>dfs.namenode.secondary.http-address</name>
               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarvis数据之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值