优秀的手机游戏下载!
首页 hadoop集群搭建(Hadoop

hadoop集群搭建(Hadoop

发布时间:2024-06-05 01:48:02 编辑:手游帝 浏览:198

完全分布式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上执行)

在[nn2]和[nn3]上分别执行,同步 nn1 的元数据信息

启动nn2 nn3,分别执行

所有节点上启动datanode

将[nn1]切换为 Active

查看状态

配置yarn-site.xml

配置mapred-site.xml

分发配置文件,启动yarn(dw03 启动)

dw03节点

dw01节点

dw01执行

dw03执行

测试样例

启动脚本

HA切换namenode手动

修改yarn显示log的bug

【大数据】使用Docker搭建Hadoop集群

环境

修改名称和存储位置即可。

1.3.1 查看你PC上为VMware分配的IP地址段、子网掩码和网关。打开终端,输入如下命令:

more /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf

添加以下信息:

重启机器即可完成静态IP的修改。记得 ping www.baidu.com 测试网络的连通性。

1.4.1 修改主机名称

sudo vim /etc/hostname

将文件修改为你的主机名,例如hadoop101

1.4.2 修改主机名和host的映射

hadoop集群搭建(Hadoop

sudo vim /etc/hosts

1.4.3 重启机器,并使用 ping hadoop10x 测试连通性。

如果你在第一台虚拟机上完成了伪分布模式的搭建,那么此时克隆的两台机器也同样拥有JDK和Hadoop。

scp命令

此时,如果只有一台机器完成了jdk和Hadoop的安装配置,我们可以使用 scp 命令完成数据的安全拷贝。

命令格式: scp -r 要拷贝的文件路径/名称 user@ip:目的路径/名称

rsync命令

与 scp 相同的还有一个命令时 rsync ,其主要用于备份和镜像。 rsync 做文件的复制要比 scp 的速度快, rsync 只对差异文件做更新。 scp 将所有文件都复制过去。使用方法和 scp 一样。

基本格式: rsync -rvl 源文件 目的路径

集群分发脚本

脚本sxync.sh可以更好的同步数据到其他机器上

这个很重要,后面的所有配置都是按照这个来的

3.2.1 配置hadoop-env.sh

3.2.2 配置hdfs-site.xml文件

3.3.1 配置yarn-env.sh

3.3.2 配置yarn-site.xml文件

3.4.1 配置mapred-env.sh

3.4.2 配置mapred-site.xml文件

xsync /opt/module/hadoop-x.x.x/

rm -rf data/ logs/

根据集群配置图,我们可以发现NameNode在hadoop102上,所以我们连接hadoop102,并执行如下命令:

bin/hdfs namenode -format

此时,不允许有任何错,否则格式化失败

4.4.1 在hadoop101上启动DataNode。

sbin/hadoop-daemon.sh start datanode

4.4.2 在hadoop102上启动NameNode和DataNode。

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh start datanode

4.4.3 在hadoop101上启动DataNode和SecondaryNode

sbin/hadoop-daemon.sh start datanode

sbin/hadoop-daemon.sh start secondarynamenode

在浏览器中输入 http://hadoop102:50070 查看集群是否启动成功。如果本机的hosts里边没有Hadoop102到ip地址的映射,此时会无法访问,两种办法:第一,使用过ip:端口号访问;第二,在本机hosts文件里加入三个节点的主机名到ip地址的映射。

5.1.1 在hadoop101上使用指令ssh-keygen -t rsa生成公钥和密钥

6.2.1 在hadoop102上启动HDFS

sbin/start-dfs.sh

7.1 一个大文件个一个小文件

bin/hdfs dfs -put wcinput/wc.input /

bin/hdfs dfs -put /opt/software/hadoop-x.x.x.tar.gz

7.2 在浏览器中输入 http://hadoop102:50070 查看上传结果:

大功告成,告别从入门到放弃!

基于docker搭建hadoop跨主机集群

启动后发现还是无法使用hadoop、hdfs、hive等命令,我们需要安装hadoop和hive

这个时候我们进入bin路径下,即可执行./hadoop或者./hdfs等命令,我们接下来将其加入环境遍历以便全局使用这些命令,在~/.bashrc文件后面追加下面的内容。

之后使用 source ~/.bashrc 命令即可刷新环境变量

追加了上述环境变量后即可全局执行hadoop和hdfs命令。

hdfs执行后有可能访问的还是本地的文件系统,这是因为配置错了。

配置/usr/local/hadoop/etc/hadoop/core-site.xml下的环境变量,使得hdfs可以链接到Docker集群的HDFS系统。

设置环境变量

摘要:本文是基于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访问。

解决方案:

以上就是关于hadoop集群搭建(Hadoop 3.1.3 /Hive 3.1.2/Spark 3.0.0)全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

完全分布式HA 服务器规划 技术栈包含 hdfs hive on spark presto doris superset azkaban kafka fluen…
查看详情
完全分布式HA 服务器规划 技术栈包含 hdfs hive on spark presto doris superset azkaban kafka fluen…
查看详情
完全分布式HA 服务器规划 技术栈包含 hdfs hive on spark presto doris superset azkaban kafka fluen…
查看详情
相关资讯
猜你喜欢