Ububtu18.04安装Hadoop3.1.3全分布集群-持续更新问题集(下)

简介: Ububtu18.04安装Hadoop3.1.3全分布集群摘要Ububtu18.04安装1.选择NAT网络2.关闭防火墙3.SSH连接4.配置静态IP

4.克隆master到slave1和slave2,并配置静态IP

克隆master到slave1和slave2

克隆后需要修改slave1和slave2的静态ip,配置方案为

节点slave1:

配置静态IP

cd /etc/netplan
ls
#返回,这个文件不用修改
01-network-manager-all.yaml
# 创建02-config.yaml文件,添加静态ip
sudo vi 02-config.yaml
#

进入02-config.yaml的编辑界面,yaml格式有严格要求,slave1节点设置为131

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          addresses:
            - 192.168.33.131/24
          gateway4: 192.168.33.2
          nameservers:
              addresses: [8.8.8.8, 1.1.1.1]

执行

sudo netplan apply
• 1

来使得配置生效

节点slave2:

配置静态IP

cd /etc/netplan
ls
#返回,这个文件不用修改
01-network-manager-all.yaml
# 创建02-config.yaml文件,添加静态ip
sudo vi 02-config.yaml
#

进入02-config.yaml的编辑界面,yaml格式有严格要求,slave2节点设置为132

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          addresses:
            - 192.168.33.132/24
          gateway4: 192.168.33.2
          nameservers:
              addresses: [8.8.8.8, 1.1.1.1]

执行

sudo netplan apply

来使得配置生效

5.克隆后配置分布式免密

将master,slave1,slave2节点的公钥都发给给master节点,注意执行的节点

# 将各个节点的公钥发给hadoop@master节点
# master节点
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master 
# slave1节点 
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master
# slave2节点
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master

将合并在hadoop@master节点的公钥分发给slave1和slave2节点

# master节点执行,将公钥分发为slave1和slave2节点 
scp -r ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/authorized_keys
scp -r ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/authorized_keys

在master,slave1,slave2节点分别重启ssh服务

service sshd restart

3.启动测试

在master节点上执行格式化命令

hadoop namenode -format

会在master,slave1,slave2节点上的路径下看到格式化后的

dfs目录

在master执行启动hdfs命令

start-dfs.sh

然后在各个节点上依次执行

jps
• 1

可以查看到启动的节点

其中master节点有

namenode
datanode
secondarynamenode
jps

其中slave1节点有

datanode
jps
• 1
• 2

其中slave2节点有

datanode
jps

打开浏览器

http://192.168.33.130:9870
• 1

即可查看到如下信息,到此,安装完毕


②使用start-dfs.sh

4.报错以及解决方案

问题1:/usr/bin/env: “bash”: 没有那个文件或目录

需要注意的是,执行前,查看自己的环境变量是否设置正确

Starting secondary namenodes [master]
master: /usr/bin/env: "bash": 没有那个文件或目录
hadoop@master:~/opt/app/hadoop$ ls -l `which sh`
lrwxrwxrwx 1 root root 4 11月  4 11:05 /bin/sh -> dash
hadoop@master:~/opt/app/hadoop$ su root
密码:
su:认证失败
hadoop@master:~/opt/app/hadoop$
hadoop@master:~/opt/app/hadoop$ sudo dpkg-reconfigure dash
正在删除 dash 导致 /bin/sh 转移到 /bin/sh.distrib
正在添加 bash 导致 /bin/sh 转移到 /bin/sh.distrib
正在删除 dash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz
正在添加 bash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz
hadoop@master:~/opt/app/hadoop$ ls -l `which sh`
lrwxrwxrwx 1 root root 4 11月  4 15:43 /bin/sh -> bash

同时查看自己的环境变量是否设置正确。

问题2:Cannot set priority of namenode process 15335

本解决方案参考网络,链接有些不记得了,以后找到再给补上。

需要注意的是,执行前,查看自己的环境变量是否设置正确

hadoop@master:~/opt/app/hadoop$ start-dfs.sh
Starting namenodes on [master]
master: ERROR: Cannot set priority of namenode process 15335
Starting datanodes
slaves1: ssh: Could not resolve hostname slaves1: Name or service not known
slaves2: ssh: Could not resolve hostname slaves2: Name or service not known
Starting secondary namenodes [master]
master: ERROR: Cannot set priority of secondarynamenode process 15735

解决方案

在$HADOOP_HOME/etc/hadoop/hadoop-env.sh最后一行加上HADOOP_SHELL_EXECNAME=hadoop,否则该环境变量默认值为hdfs。同时其他涉及USER的变量也改成hadoop,例如:

export HDFS_DATANODE_USER=hadoop 
export HADOOP_SECURE_DN_USER=hadoop 
export HDFS_NAMENODE_USER=hadoop 
export HDFS_SECONDARYNAMENODE_USER=hadoop 
export YARN_RESOURCEMANAGER_USER=hadoop 
export YARN_NODEMANAGER_USER=hadoop

另外,又发现一个地方会导致此问题,vi $HADOOP_HOME/bin/hdfs会发现脚本前几行有个地方如下:

HADOOP_SHELL_EXECNAME="hadoop"

如果您在安装过程中有遇到什么问题,可以留言,有时间会及时回复。

相关文章
|
3月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
206 6
|
3月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
93 4
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
45 3
|
3月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
68 3
|
3月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
81 1
|
3月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
55 1
|
3月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
58 1
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
91 2
|
17天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
53 4
|
2月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
138 2