Centos7系统的Hadoop3.2.2集群环境搭建
2021/6/4 7:21:57
本文主要是介绍Centos7系统的Hadoop3.2.2集群环境搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Centos7系统的Hadoop3.2.2集群环境搭建
准备工作:
jdk-8u291-linux-x64.tar.gz
hadoop-3.2.2.tar.gz
虚拟机hadoop,hadoop1,hadoop2配置:
hadoop | 就Hadoop1 | hadoop2 | |
---|---|---|---|
IP | 192.168.10.100 | 192.168.10.101 | 192.168.10.102 |
集群规划:
hadoop | hadoop1 | hadoop2 | |
---|---|---|---|
HDFS | NameNode DateNode | DateNode | SeconaryNameNode DateNode |
YARN | NadeManager | ResourceManager NodeManager | NodeManager |
创建模板机hadoop:
修改网络连接方式为NAT模式
修改虚拟适配器VMnet8:
(一)IP和主机名:
创建用户hadoop,修改密码为123456:
[root@h ~]# useradd hadoop [root@h ~]# passwd
配置hadoop用户具有root权限,方便后期sudo执行root权限的命令:
[root@h ~]# vim /etc/sudoers
# 在最后添加 hadoop ALL=(ALL) NOPASSWD:ALL
关闭防火墙:
[root@h ~]# systemctl stop firewalld.service [root@h ~]# systemctl disable firewalld.service
修改主机名:
[root@h ~]# vim /etc/hostname
把原来的主机名删了,修改为hadoop:
修改ip地址映射:
[root@h ~]# vim /etc/hosts
修改为静态ip:
[root@h ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改以下内容: BOOTPROTO=static #将dhcp改为static ONBOOT="yes" #是否开机启动,将no改为yes #添加以下内容 IPADDR=192.168.10.100 #ip地址 GATEWAY=192.168.10.2 #网关 DNS1=192.168.10.2 #dns
#重启网卡 [root@h ~]# systemctl restart network
#如果重启网卡失败,尝试关闭NetworkManager systemctl stop NetworkManager systemctl disable NetworkManager #表示开机不启动
切换用户hadoop,创建/opt/jdk—hadoop目录,用来存放jdk,hadoop:
[hadoop@hadoop ~]$ mkdir /opt/jdk-hadoop
(二)克隆模板虚拟机hadoop,生成hadoop1,hadoop2
进入hadoop1,修改主机名与ip(192.168.10.101):
[root@hadoop ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改以下内容 IPADDR=192.168.10.101 #ip地址
修改主机名为hadoop1:
[root@hadoop ~]# vim /etc/hostname
进入hadoop2,修改主机名与ip(192.168.10.102):
[root@hadoop ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改以下内容 IPADDR=192.168.10.102 #ip地址
修改主机名为hadoop2:
[root@hadoop ~]# vim /etc/hostname
(三)ssh免密登录:
1.在虚拟机hadoop的hadoop用户下生成ssh秘钥
[hadoop@hadoop ~]$ ssh-keygen -t rsa #一路回车
2.将公钥分发给其余两台虚拟机的hadoop用户:
[hadoop@hadoop ~]$ ssh-copy-id -i hadoop@192.168.10.100 #本机 [hadoop@hadoop ~]$ ssh-copy-id -i hadoop@192.168.10.101 #hadoop1 [hadoop@hadoop ~]$ ssh-copy-id -i hadoop@192.168.10.102 #hadoop2
3.现在确认能否不输入口令就用ssh登录localhost:
[hadoop@hadoop ~]$ ssh localhost
4.如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
[hadoop@hadoop ~] ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa [hadoop@hadoop ~] cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
进入虚拟机hadoop1,hadoop2重复1~4的操作
(四)jdk安装:
将jdk的压缩包放在/opt/jdk-hadoop目录下并解压到/opt/jdk-hadoop目录下:
# 进入/opt/jdk-hadoop目录中解压得到文件夹 jdk1.8.0_291 tar -zxvf jdk-8u291-linux-x64.tar.gz
编辑/etc/profile
文件,在文件末尾添加以下内容
# 设置 jdk 环境变量 export JAVA_HOME=/opt/jdk-hadoop/jdk1.8.0_291 export PATH$PATH:JAVA_HOME/bin:
# 使环境变量生效 source /etc/profile
# 任意目录下测试环境变量是否生效 java -version java version "1.8.0_291"
(五)Hadoop的安装
将hadoop的压缩包放在/opt/jdk-hadoop目录下并解压到/opt/jdk-hadoop目录下:
# 进入/opt/jdk-hadoop目录中解压 Hadoop 到/opt/jdk-hadoop tar -zxf hadoop-3.2.2.tar.gz
编辑/etc/profile
文件,在文件末尾添加以下内容:
# set hadoop path export HADOOP_HOME=/opt/jdk-hadoop/hadoop-3.2.2 export PATH=$PATH:$HADOOP_HOME/bin
# 使环境变量生效 source /etc/profile
# 测试环境变量是否生效,任意目录下输入 hadoop
(六)修改Hadoop文件
(1)hadoop-env.sh
cd /opt/jdk-haoop/hadoop-3.2.2/etc/hadoop/ vim hadoop-env.sh # 添加以下内容 export JAVA_HOME=/usr/java/jdk1.8.0_291
(2)core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/jdk-haoop/hadoop-3.2.2/data</value> </property> </configuration>
(3)hdfs-site.xml
<configuration> <property> <name>dfs.namenode.http-address</name> <value>hadoop:9870</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop2:9868</value> </property> </configuration>
(4)mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
(5)yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop1</value> </property> </configuration>
分发jdk与hadoop给虚拟机hadoop1,hadooop2
scp -r /opt/jdk-hadoop/hadoop-3.3.2 hadoop@hadoop1:/opt/jdk-hadoop scp -r /opt/jdk-hadoop/hadoop-3.3.2 hadoop@hadoop2:/opt/jdk-hadoop
格式化namenode:
cd /opt/jdk-hadoop/hadoop-3.2.2 hdfs namenode -format
启动hadoop:
cd /opt/jdk-hadoop/hadoop-3.2.2/sbin ./start-all.sh
在三台虚拟机上分别输入jps,显示如下则符合集群规划:
hadoop | hadoop1 | hadoop2 | |
---|---|---|---|
HDFS | NameNode DateNode | DateNode | SeconaryNameNode DateNode |
YARN | NadeManager | ResourceManager NodeManager | NodeManager |
hadoop:
[hadoop@hadoop hadoop]s ]$ 7585 Namenode 7703 Datanode 8344 Jps 8190 Nodemanager [hadoop@hadoop hadoop]$
hadoop1:
[hadoop@hadoop hadoop]s ]$ jps 2913 Jps 2690 Datanode 2814 Nodemanager [hadoop@hadoop hadoop]$
hadoop2:
[hadoop@hadoop hadoop]s ]$ jps 2913 Jps 3280 Datanode 2814 SecondaryNameNode [hadoop@hadoop hadoop]$
参考地址:http://hadoop.apache.org/docs/r1.0.4/cn/cluster_setup.html
这篇关于Centos7系统的Hadoop3.2.2集群环境搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置