本文目录
- 搭建hadoop集群,常用配置文件是什么,以及配置哪些属性
- 基于docker搭建hadoop跨主机集群
- Flink1.8 集群搭建完全指南(1):Hadoop伪分布式
- 搭建全分布式集群的原理是什么
- hadoop集群搭建(Hadoop 3.1.3 /Hive 3.1.2/Spark 3.0.0)
- vmware16可以搭建hadoop集群吗
- 如何部署完全分布式hadoop
搭建hadoop集群,常用配置文件是什么,以及配置哪些属性
一. 简介
参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功。下面就把详细的安装步骤叙述一下。我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本。(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明)
二. 准备工作
2.1 创建用户
创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好。
1 sudo adduser hadoop2 sudo vim /etc/sudoers3 # 修改内容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL
给hadoop用户创建目录,并添加到sudo用户组中,命令如下:
1 sudo chown hadoop /home/hadoop2 # 添加到sudo用户组3 sudo adduser hadoop sudo
最后注销当前用户,使用新创建的hadoop用户登陆。
2.2 安装ssh服务
ubuntu中默认是没有装ssh server的(只有ssh client),所以先运行以下命令安装openssh-server。安装过程轻松加愉快~
sudo apt-get install ssh openssh-server
2.3 配置ssh无密码登陆
直接上代码:执行完下边的代码就可以直接登陆了(可以运行ssh localhost进行验证)
1 cd ~/.ssh # 如果找不到这个文件夹,先执行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys
注意:
这里实现的是无密登陆自己,只适用与hadoop单机环境。如果配置Hadoop集群设置Master与Slave的SSH无密登陆可
三. 安装过程
3.1 下载hadoop安装包
有两种下载方式:
1. 直接去官网下载:
2. 使用wget命令下载:
3.2 配置hadoop
1. 解压下载的hadoop安装包,并修改配置文件。我的解压目录是(/home/hadoop/hadoop-2.7.1),即进入/home/hadoop/文件夹下执行下面的解压缩命令。
tar -zxvf hadoop-2.7.1.tar.gz
2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。
(1). core-site.xml 配置:其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。
《configuration》《property》《name》hadoop.tmp.dir《/name》《value》file:/home/hadoop/hadoop/tmp《/value》《description》Abase for other temporary directories.《/description》《/property》《property》《name》fs.defaultFS《/name》《value》hdfs://localhost:9000《/value》《/property》《/configuration》
(2). mapred-site.xml.template配置:
《configuration》《property》《name》mapred.job.tracker《/name》《value》localhost:9001《/value》《/property》《/configuration》
(3). hdfs-site.xml配置: 其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。
注意:如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop-env.sh里面,具体如下:
export JAVA_HOME="/opt/java_file/jdk1.7.0_79",即安装java时的路径。
《configuration》《property》《name》dfs.replication《/name》《value》1《/value》《/property》《property》《name》dfs.namenode.name.dir《/name》《value》file:/home/hadoop/hadoop/tmp/dfs/name《/value》《/property》《property》《name》dfs.datanode.data.dir《/name》《value》file:/home/hadoop/hadoop/tmp/dfs/data《/value》《/property》《/configuration》
配置完成后运行hadoop。
四. 运行hadoop
4.1 初始化HDFS系统
在hadop2.7.1目录下执行命令:
bin/hdfs namenode -format
出现如下结果说明初始化成功。
4.2 开启 NameNode 和 DataNode 守护进程
在hadop2.7.1目录下执行命令:
sbin/start-dfs.sh
成功的截图如下:
4.3 使用jps命令查看进程信息:
若出现如图所示结果,则说明DataNode和NameNode都已经开启。
4.4 查看web界面
***隐藏网址***
至此,hadoop的环境就已经搭建好了。
五. 运行wordcount demo
1. 在本地新建一个文件,里面内容随便填:例如我在home/hadoop目录下新建了一个haha.txt文件,里面的内容为" hello world! "。
2. 然后在分布式文件系统(hdfs)中新建一个test文件夹,用于上传我们的测试文件haha.txt。在hadoop-2.7.1目录下运行命令:
# 在hdfs的根目录下建立了一个test目录bin/hdfs dfs -mkdir /test# 查看HDFS根目录下的目录结构bin/hdfs dfs -ls /
结果如下:
3. 将本地haha.txt文件上传到test目录中;
# 上传bin/hdfs dfs -put /home/hadoop/haha.txt /test/# 查看bin/hdfs dfs -ls /test/
结果如下:
4. 运行wordcount demo;
# 将运行结果保存在/test/out目录下bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/haha.txt /test/out# 查看/test/out目录下的文件bin/hdfs dfs -ls /test/out
结果如下:
运行结果表示:运行成功,结果保存在part-r-00000中。
5. 查看运行结果;
# 查看part-r-00000中的运行结果bin/hadoop fs -cat /test/out/part-r-00000
结果如下:
至此,wordcount demo 运行结束。
六. 总结
配置过程遇到了很多问题,最后都一一解决,收获很多,特此把这次配置的经验分享出来,方便想要配置hadoop环境的各位朋友~
(Hadoop集群安装配置过程基本和单机版是一样的,主要是在配置文件方面有所区别,以及ssh无密登陆要求master和slave能够互相无密登陆。
基于docker搭建hadoop跨主机集群
摘要:本文是基于docker 17.09.0搭建的hadoop 2.7.2 分布式跨主机集群,集群规模为一个master和两个salve,一共使用三台物理主机(两台或者多台物理机均可模拟),集群网络使用的是docker swarm搭建。
备注:中文社区中相关资料极少,相关资料请直接翻阅 官方文档
运行之后会有如下信息提示
进入slave1中,运行如下命令:
同样进入slave2中,运行相同命令
这样,节点slave1 slave2就加入了master的swarm网络了。其中运行的命令即为第二步中创建完网络提示的信息。
观察上一步我们发现, hadoop-master容器启动在master主机上。我们进入到master。
自此,使用docker的跨主机的hadoop集群搭建完成。
问题描述:笔者在搭建过程中碰到了这个问题,docker容器hadoop-master和hadoop-slave1,hadoop-slave2在一个swarm网络中,能够互相ping通,但是在ssh登录的时候出现 connection time out 异常,等了很久最后连接超时,也没有报其他问题。笔者在碰到这个问题的时候,找到的原因是物理主机slave1,slave2的防火墙没有关,直接截拦了对容器内部的ssh访问。
解决方案:
Flink1.8 集群搭建完全指南(1):Hadoop伪分布式
Flink是目前在国内非常流行的大数据的计算框架,其设计理念可以完美的实现数据的批流计算一体化。Flink的集群,如果要使用到JobManager的HA,以及Yarn的资源调度的话,整体的部署过程还是比较复杂的。本系列文章将完整介绍Hadoop,Kerberos,SASL,Yarn,以及Flink集群的搭建过程,一步步完成整个系统环境的部署。 Hadoop的HDFS在Flink中用作JobManager的HA,Yarn可以用于Flink任务的资源调度,因此是必不可少的。下面我们先搭建好一个Hadoop的集群。 对于一些不熟悉Hadoop集群的搭建的同学,我们先来看下伪分布式集群的搭建,可以快速的熟悉简化的配置过程,以及Hadoop的各配置文件等。 以下是我用于部署该服务的机器: 在伪分布式集群中,所有的服务都在同一节点启动,但它们之间也同样通过ssh的方式访问,所以需要配置ssh免密码登录,配置的方式如下: 测试以下命令,成功跳转即可: 在集群搭建完成后,可以运行Hadoop的示例任务,检查集群是否能够正常工作,命令如下: 该程序会打印PI的值,则执行成功。在Yarn的Web页面,可以看到有一个成功的Application。 下一节我们会介绍Hadoop的分布式集群,Kerberos和SASL等的部署。
搭建全分布式集群的原理是什么
全分布式集群是指将系统的计算和存储资源分散到多台服务器上,通过网络互相连接,形成一个高可用、高可靠、高性能的分布式计算环境。搭建全分布式集群可以提高系统的计算能力、数据处理能力和容错能力。实现全分布式集群需要遵循以下原则:1. 水平扩展:将系统的计算和存储资源分散到多个节点上,可以根据业务需求按需增加或减少节点,从而方便地扩展系统的性能和容量。2. 节点均衡:每个节点都应该具有相同的硬件配置和软件环境,以保证节点之间的任务分配均衡,并且方便进行故障转移和负载均衡。3. 数据一致性:在分布式环境下,数据的一致性是非常重要的。为了保证数据的一致性,需要采用合适的同步机制,如数据复制、数据分片等。4. 故障容错:从节点故障恢复和任务重试等方面提供容错功能,使得系统可以在节点故障的情况下继续工作。5. 高性能通信:使用高速网络通信协议,如Infiniband、RDMA等,保证节点间的通信速度和吞吐量。搭建全分布式集群需要使用一些分布式系统的基础组件,如分布式文件系统、分布式数据库、分布式缓存、分布式任务调度等,并且需要根据实际业务需求进行选择和调整。常用的分布式平台包括Hadoop、Spark、HBase、Cassandra等。同时,为了更好地管理和监控集群,还需要使用一些集群管理工具,如Zookeeper、Ambari等。
hadoop集群搭建(Hadoop 3.1.3 /Hive 3.1.2/Spark 3.0.0)
完全分布式HA 服务器规划 技术栈包含 hdfs hive on spark presto doris superset azkaban kafka fluent\flume sqoop\kettle\flink-cdc atlas 禁用swap/selinux 修改 IP/修改主机名/及主机名和 IP 地址的映射 时间同步/设置时区/自动时间同步 关闭防火墙 关闭SELINUX 新建用户 免密登录(先升级openssh) 发送密钥(dw01上执行) 授权 Tencent Kona v8.0.8-GA 腾讯开源的konaJDK,针对大数据场景下优化 解压并重命名至安装地址:/usr/local/java/ zookeeper-3.5.9 解压并重命名至安装地址:/usr/local/zookeeper apache-hadoop-3.1.3 解压至安装地址:/usr/local/hadoop 修改环境变量 /usr/local/zookeeper/conf 启动zookeeper集群(每台执行) 三台服务器启动 格式化namenode(dw01执行) 启动namenode(dw01上执行) 在上分别执行,同步 nn1 的元数据信息 启动nn2 nn3,分别执行 所有节点上启动datanode 将切换为 Active 查看状态 配置yarn-site.xml 配置mapred-site.xml 分发配置文件,启动yarn(dw03 启动) dw03节点 dw01节点 dw01执行 dw03执行 测试样例 启动脚本 HA切换namenode手动 修改yarn显示log的bug
vmware16可以搭建hadoop集群吗
可以。Hadoop集群可以定义为一种特殊类型的计算集群,旨在用于分布式计算环境中存储和分析大量非结构化数据。vmware16可以搭建hadoop集群。vmwareworkstation16是一款功能强大的电脑虚拟机软件,它可以帮助用户轻松的将一个或多个操作系统,它作为虚拟机运行,是一款能够在一台PC上同时运行多个不同的操作系统的软件。
如何部署完全分布式hadoop
安装流程
我们先来回顾上一篇我们完成的单节点的Hadoop环境配置,已经配置了一个CentOS 6.8 并且完成了java运行环境的搭建,Hosts文件的配置、计算机名等诸多细节。
其实完成这一步之后我们就已经完成了Hadoop集群的搭建的一半的工作了,因为我们知道通过虚拟机搭建所搭建的好处就是直接拷贝机器。多台同步进行操作,减少分别配置的时间消耗浪费。这也是虚拟化技术所带来的优势。
下面,咱们进去分布式系统的详细操作过程。
1、首先需要在VMWare中将之前创建的单实例的计算机进行拷贝。
这里根据之前第一篇文章的规划,我们至少需要再克隆出三台计算机,作为DataNode数据节点的数据存储。之前的上一台机器作为Master主节点进行管理。
这里先来梳理一下整个Hadoop集群的物理架构图,大家有一个直接的观念和认识,上表中已经和明确了,总共需要5台服务器来使用,四台用来搭建Hadoop集群使用,另外一台(可选)作为MySQL等外围管理Hadoop集群来使用。