Centos7搭建Hadoop集群(单点)笔记

it2023-05-14  73

环境准备

依然沿用之前Centos7搭建zookeeper集群的机器,基本配置如下,关闭防火墙,selinux,修改hostname,

配置免密互信
配置hosts文件
vim /etc/hosts 10.15.5.240 zk-master 10.15.5.241 zk-node1 10.15.5.242 zk-node2

使其可以通过hostname 通信(三台都需要配置)

配置ssh 免密

在三台主机都执行

ssh-keygen -t rsa ssh-copy-id zk-master ssh-copy-id zk-node1 ssh-copy-id zk-node1

执行过程中需要输入yes 以及密码,完成之后可以直接通过ssh+主机名登录,不需要输入密码。

集群规划
节点名称NN1NN2DNRMNMzk-masterNameNodeDataNodeNodeManagerzk-node1SecondaryNameNodeDataNodeResourceManagerNodeManagerzk-node2DataNodeNodeManager
下载安装包
wget https://mirror.olnevhost.net/pub/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
解压安装
tar xf hadoop-2.10.1.tar.gz -C /opt/module
修改配置文件

配置文件主要存放路径为:/opt/module/hadoop-2.10.1/etc/hadoop

cd /opt/module/hadoop-2.10.1/etc/hadoop ## 修改core-site.xml vim core-site.xml <configuration> <!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://zk-master:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.10.1/data/full/tmp</value> </property> </configuration> mkdir -p /opt/module/hadoop-2.10.1/data/full/tmp ## 修改hadoop-env.sh vim hadoop-env.sh export JAVA_HOME=/usr

PS:这里我的java是直接用的rpm包安装的,如果是编译安装的,则写你自己的地址~xxx/jdk/

## 修改hdfs-site.xml vim hdfs-site.xml [admin@node21 hadoop]$ vi hdfs-site.xml <configuration> <!-- 设置dfs副本数,不设置默认是3个 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 设置secondname的端口 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>zk-node1:50090</value> </property> </configuration>
修改slaves
vim slaves zk-master zk-node1 zk-node2
修改mapred-env.sh
vim mapred-env.sh exportJAVA_HOME=/usr
修改mapred-site.xml
[admin@node21 hadoop]# mv mapred-site.xml.template mapred-site.xml [admin@node21 hadoop]$ vi mapred-site.xml <configuration> <!-- 指定mr运行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
修改yarn-env.sh
vim yarn-env.sh export JAVA_HOME=/usr
修改yarn-site.xml
vim yarn-site.xml [admin@node21 hadoop]$ vi yarn-site.xml <configuration> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>zk-node1</value> </property> </configuration>
copy 到其他节点
scp -rp /opt/module/hadoop-2.10.1/ zk-node1:/opt/module/ scp -rp /opt/module/hadoop-2.10.1/ zk-node2:/opt/module/
配置环境变量(全部执行)
echo "export PATH=$PATH:/usr/local/scala/scala-2.11.8/bin/" >>/etc/profile source /etc/profile

启动集群

格式化namenode
hdfs-config.sh namenode -format
启动集群
start-dfs.sh

启动Yarn

注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

start-yarn.sh

查看进程
jps

Hadoop启动停止方法
1)各个服务组件逐一启动 分别启动hdfs组件: hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode 启动yarn: yarn-daemon.sh start|stop resourcemanager|nodemanager 2)各个模块分开启动(配置ssh是前提)常用 start|stop-dfs.sh start|stop-yarn.sh 3)全部启动(不建议使用) start|stop-all.sh
最新回复(0)