hadoop安装与启动

参考

Hadoop集群安装教程(完全分布模式)——更新中 - 成佛在西天 - 博客园

Hadoop3.3.1分布式集群搭建详细教程_忘三日的博客-CSDN博客_hadoop分布式集群搭建

安装java

安装必要插件

ssh

下载

Index of /apache/hadoop/common

hadoop-3.3.2.tar.gz

解压

tar -zxf ./hadoop-3.3.2.tar.gz

tar -zxf ./hadoop-3.3.2.tar.gz  指定目录

/usr/data2/program/hadoop

我解压在这个目录
 

root@pc1-node1:/usr/data2/program/hadoop# ll

total 623708

drwxr-xr-x  3 root root         4096 May  1 17:08 ./

drwxr-xr-x  6 root root         4096 May  1 17:02 ../

drwxr-xr-x 10  501 dialout      4096 Feb 22 04:42 hadoop-3.3.2/

-rw-r--r--  1 root root    638660563 May  1 15:52 hadoop-3.3.2.tar.gz

配置服务器固定IP

动态ip难以区分主从节点ip,因此需要固定

vi /etc/network/interfaces

# The primary network interface

auto enp0s3

# iface enp0s3 inet dhcp

iface enp0s3 inet static

address 192.168.0.11

netmask 255.255.255.0

gateway 192.168.0.1

然后重启

关闭防火墙

如上,查看systemctl status firewalld,看到active(running)说明防火墙在运行

关闭防火墙systemctl stop firewalld

注意:

我的虚拟机安装了多个防火墙,都需要关闭

utw firewalld 都需要关闭

具体关闭方案网上搜:https://blog.csdn.net/weixin_45177786/article/details/121742158

关闭firewall

systemctl disable firewalld

查看两个防火墙状态

ufw status

systemctl status firewalld

映射ip与主机名

vi /etc/hosts

192.168.0.11 pc1-node1

192.168.0.12 pc1-node2

192.168.0.13 pc1-node3

192.168.0.21 pc2-node1

192.168.0.22 pc2-node2

192.168.0.23 pc2-node3

注意,主机名不要乱写。是linux的主机名,要根据实际的主机名来配置。而不是你想象的Master、Slave等。

我这里有6台机器,1台主,5台从,都需要修改

修改保存后,重启网关

/etc/init.d/dns-clean start

/etc/init.d/networking restart

或重启linux(建议重启网关)

设置ssh无密码登录

配置主节点到从节点的免密登录:

在主节点生成密钥

cd ~/.ssh           # 若无该目录可先直接创建一个

ssh-keygen -t rsa # 按3次回车到结束

设置本机免密前,试试自己ssh自己需要密码不  -- 加深感受

ssh hadoopMaster11

可见,需要密码的

设置本机免密

cat ./id_rsa.pub >> authorized_keys

看见,多出了authorized_keys文件

再试试ssh本机,是否可以免密了

未免密时,试试ssh到从节点hadoopSlave12,看到需要输入密码

ssh pc1-node2

复制公钥到其他节点(一个一个操作,需输密码)

ssh-copy-id -i ~/.ssh/id_rsa.pub pc1-node2    --- 一行一行执行,每行执行完后需要输入对于节点机的密码

ssh-copy-id -i ~/.ssh/id_rsa.pub pc1-node3

ssh-copy-id -i ~/.ssh/id_rsa.pub pc2-node1

ssh-copy-id -i ~/.ssh/id_rsa.pub pc2-node2

ssh-copy-id -i ~/.ssh/id_rsa.pub pc2-node3

免密后,试试ssh到从节点hadoopSlave12,已经不需要输入密码

ssh hadoopSlave12

注:若登入Slave节点时还是需要输入密码或者显示权限不够,则只需要进入Slave节点中输入以下代码即可:

chmod 700 ~/.ssh/

chmod 644 ~/.ssh/authorized_keys

依次完成其他从节点的ssh设置

安装Hadoop

所有机器都操作

Hadoop路径,配置到系统环境变量

vi /etc/profile

添加到后面:

export HADOOP_HOME=/usr/data2/program/hadoop/hadoop-3.3.2

export PATH=$PATH:$HADOOP_HOME/bin

保存后,重新加载环境变量

source /etc/profile

进入软件配置目录

cd /usr/data2/program/hadoop/hadoop-3.3.2/etc/hadoop

配置Hadoop的运行变量

vi hadoop-env.sh

添加到后面:

export JAVA_HOME=/usr/local/java/jdk8

export HADOOP_HOME=/usr/data2/program/hadoop/hadoop-3.3.2

添加主节点配置

vi core-site.xml

        <property>

                <name>fs.default.name</name>

                <value>hdfs://pc1-node1:9000</value>

        </property>

  <property>

    <name>hadoop.proxyuser.root.hosts</name>

    <value>*</value>

   </property>

   <property>

    <name>hadoop.proxyuser.root.groups</name>

    <value>*</value>

 </property>

hadoop.proxyuser.root.hosts

hadoop.proxyuser.root.groups

是hadoop的权限、组,这里全部设置为*,方便后面使用hive进行连接

配置分布式文件系统副本数、存储位置等

因为我这里是两个区域,每个区域3个节点,共6个节点

但有一个节点是主节点,没有数据。 因此我有5个数据节点。

因此我设置副本数是4,如果有一个区域挂了,至少还有一个数据副本

vi hdfs-site.xml

<configuration>

        <property>

                <name>dfs.replication</name>

                <value>4</value>

       </property>

       <property>

                <name>dfs.name.dir</name>

                <value>/usr/data2/program/hadoop/hdfs/name</value>

       </property>

       <property>

                <name>dfs.data.dir</name>

     <value>/usr/data2/program/hadoop/hdfs/data</value>

        </property>

        <property>

            <name>dfs.namenode.format.enable</name>

            <value>true</value>

        </property>

</configuration>

配置分布式计算框架

vi mapred-site.xml

<configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

    <name>yarn.app.mapreduce.am.env</name>

    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

  </property>

  <property>

    <name>mapreduce.map.env</name>

    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

  </property>

  <property>

    <name>mapreduce.reduce.env</name>

    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

  </property>

</configuration>

配置yarn策略

vi  yarn-site.xml

这里,要根据自己的主节点机器,修改节点名,也就是yarn.resourcemanager.hostname的值

<configuration>

  <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>pc1-node1</value>

  </property>

  <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

  </property>

</configuration>

设置工作机器(配置为从节点)

vi workers

pc1-node2

pc1-node3

pc2-node1

pc2-node2

pc2-node3

格式化HDFS

第一次启动前,必须格式化

hadoop namenode -format

报错:2022-05-02 19:21:14,936 WARN net.DNS: Unable to determine address of the host -falling back to 'localhost' address

1,host配置时,不要乱写主机名是什么master slaver,要看自己真实的主机名称是什么

2,配置host后,需要重启网络,host才生效,参看前面的host配置步骤

格式化正常:(不应该出现error)

启动Hadoop

并验证安装是否成功

1,赋执行权限

cd /usr/data2/program/hadoop/hadoop-3.3.2

chmod +x -R ./sbin

2,启动,只需要在主节点执行:

cd /usr/data2/program/hadoop/hadoop-3.3.2

source ./sbin/start-all.sh

注意启动后,还要检查所有节点机,关闭防火墙,有些服务器防火墙自己又恢复了。。。

查看两个防火墙状态

ufw status

systemctl status firewalld

在Master节点和Slave节点分别使用如下命令

jps

  

若在Master节点上出现了NameNode、ResourceManager、SecondaryNameNode;

且在Slave节点上出现了DataNode、NodeManager。

3.x版本的Hadoop默认带了YARN

则表明Hadoop安装成功。

报错:

ERROR: Attempting to operate on hdfs namenode as root

ERROR: Attempting to operate on hdfs secondarynamenode as root

说明不能以root启动。

但这里,我是用于个人学习的,因此我采用的解决方案是:

vi /etc/profile

然后向里面加入如下的内容

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

保存后,输入如下命令使改动生效

source /etc/profile

参考:https://www.cnblogs.com/nihilwater/p/13849396.html

测试集群有没有成功启动

hdfs dfsadmin -report

因为还没写入数据,因此这些数据都是0

root@pc1-node1:/usr/data2/program/hadoop/hadoop-3.3.2# hdfs dfsadmin -report

Configured Capacity: 0 (0 B)

Present Capacity: 0 (0 B)

DFS Remaining: 0 (0 B)

DFS Used: 0 (0 B)

DFS Used%: 0.00%

Replicated Blocks:

        Under replicated blocks: 0

        Blocks with corrupt replicas: 0

        Missing blocks: 0

        Missing blocks (with replication factor 1): 0

        Low redundancy blocks with highest priority to recover: 0

        Pending deletion blocks: 0

Erasure Coded Block Groups:

        Low redundancy block groups: 0

        Block groups with corrupt internal blocks: 0

        Missing block groups: 0

        Low redundancy blocks with highest priority to recover: 0

        Pending deletion blocks: 0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值