手动搭建Hadoop分布式集群

简介: 手动搭建Hadoop分布式集群


相比Cloudera Manager的安装方式,手动搭建Hadoop分布式集群能让我们了解Hadoop的详细配置,有利于我们学习HDFS和YARN的工作原理,初学者可以尝试这种方式。


前置准备

和安装Cloudera Manager、CDH一样,首先需要修改主机名、关闭防火墙、同步时钟、安装JDK

添加域名映射

添加每个节点的域名映射,分发到每个节点

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.31.40.0 ambari1.soundhearer.com
172.31.36.6 ambari3.soundhearer.com
172.31.34.161 ambari2.soundhearer.com

配置SSH免密登录

1.执行命令


ssh-keygen

第一个提示是询问将公私钥文件存放在哪,直接回车,选择默认位置。

第二个提示是请求用户输入密钥,既然操作的目的就是实现SSH无密钥登录,故此处必须使用空密钥,所谓的空密钥指的是直接回车,不是空格,更不是其他字符。

第三个提示是要求用户确认刚才输入的密钥,既然刚才是空密钥(直接回车即空),那现在也应为空,直接回车即可。

2.可通过命令


ls -all /root/.ssh

查看到,SSH密钥文件夹.ssh目录下的确生成了两个文件idrsa和idrsa_pub,这两个文件都有用,其中公钥用于加密,私钥用于解密。中间的rsa表示算法为RSA算法。

3.执行命令


ssh-copy-id ambari1.soundhearer.com

ambari1.soundhearer.com服务器公钥拷贝至 ambari1.soundhearer.com服务器本身

第一次连接 ambari1.soundhearer.com时,需要输入yes来确认建立授权的主机名访问,并需要输入root用户密码来完成公钥文件传输

4.拷贝 ambari1.soundhearer.com服务器公钥至其余服务器

5.其余服务器按照同样的方式配置ssh免密登录,完成后验证是否可以互相之间实现SSH免密登录。

部署HDFS

上传 Hadoop3.1.3,解压并放置于 /usr/local/hadoop

修改以下四个配置文件

  • etc/hadoop/hadoop-env.sh
  • etc/hadoop/core-site.xml
  • etc/hadoop/hdfs-site.xml
  • etc/hadoop/workers

hadoop-env.sh

修改 JAVA_HOME环境变量即可


export JAVA_HOME=/usr/local/java # 修改为您的Java目录

core-site.xml

指定HDFS主节点,编辑文件 /usr/local/hadoop/etc/hadoop/core-site.xml,将如下内容嵌入此文件里最后两行的标签之间:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ambari1.soundhearer.com:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/data/tmp</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/datanode</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

workers

ambari3.soundhearer.com
ambari2.soundhearer.com

拷贝集群配置至其它服务器

./batch_scp.sh node.list /usr/local/hadoop/etc/hadoop/workers /usr/local/hadoop/etc/hadoop/
./batch_scp.sh node.list /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hadoop/etc/hadoop/
./batch_scp.sh node.list /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hadoop/etc/hadoop/
 ./batch_scp.sh node.list /usr/local/hadoop/etc/hadoop/hadoop-env.sh /usr/local/hadoop/etc/hadoop/


启动

格式化 HDFS

cd /usr/local/hadoop
bin/hdfs namenode -format

修改 /usr/local/hadoop/etc/hadoop/hadoop-env.sh,末尾添加

HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

启动


sbin/start-dfs.sh

jps查看进程

浏览器输入:


http://ambari1.soundhearer.com:9870

看到如下页面

修改 /usr/local/hadoop/etc/hadoop/hadoop-env.sh,添加:


<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ambari1.soundhearer.com</value>
</property>

开启 YARN

在ambari1.soundhearer.com主节点启动YARN

cd /usr/local/hadoop
sbin/start-yarn.sh

jps发现主节点多了ResouceManager进程,从节点多了NodeManager进程

浏览器输入ambari1.soundhearer.com:8088可以访问如下页面,


相关文章
|
2月前
|
存储 分布式计算 资源调度
Hadoop入门基础(三):如何巧妙划分Hadoop集群,全面提升数据处理性能?
Hadoop入门基础(三):如何巧妙划分Hadoop集群,全面提升数据处理性能?
|
1月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
45 3
Hadoop集群配置https实战案例
|
8天前
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
1月前
|
机器学习/深度学习 分布式计算 安全
Hadoop集群常见报错汇总
这篇博客总结了Hadoop集群中可能遇到的各种常见错误,包括Kerberos认证问题、配置错误、权限问题等,并为每个问题提供了详细的错误复现、原因分析以及相应的解决方案。
47 1
Hadoop集群常见报错汇总
|
1月前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
32 5
|
1月前
|
资源调度 分布式计算 运维
Hadoop集群资源管理篇-资源调度器
详细介绍了Hadoop集群资源管理中的资源调度器,包括资源分配的概念、大数据运维工程师如何管理集群工作负载、资源调度器的背景、Hadoop提供的FIFO、容量调度器和公平调度器三种资源调度器的概述以及它们之间的对比。
71 4
|
1月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
48 2
|
2月前
|
机器学习/深度学习 存储 分布式计算
Hadoop高可用集群搭建
Hadoop高可用集群搭建
|
2月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
79 2
|
2月前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
57 1
下一篇
无影云桌面