Hadoop集群环境部署

编程

域名

服务器地址

HDFS 角色

YARN 角色

node01

192.168.202.135

DataNode, NameNode

NodeManager

node02

192.168.202.136

DataNode

NodeManager, ResourceManager

node03

192.168.202.134

DataNode, SecondaryNameNode

NodeManager

1.安装JDK

由于 hadoop 部署需要 jdk 请 根据 https://my.oschina.net/u/943316/blog/794029 部署

2.安装 hadoop

#获取 hadoop 压缩包

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

#创建 hadoop 安装目录

mkdir /usr/local/hadoop

#解压 hadoop到 安装目录

tar -zxvf hadoop-2.7.2.tar.gz /usr/local/hadoop/

#配置 hadoop 环境变量

vim /etc/profile

#添加 hadoop 环境变量

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.2

export PATH=$PATH:$HADOOP_HOME/bin

#重新加载 环境配置

source /etc/profile

#验证

hadoop version

3.修改环境配置 文件

#编辑环境配置文件

vim /usr/local/hadoop/hadoop-2.7.2/etc/hadoop/hadoop-env.sh

#修改 java环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_231

3.修改  集群全局参数

#修改 集群 全局配置

vim ${HADOOP_HOME}/etc/hadoop/core-site.xml

#添加 xml 标签

<configuration>

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://192.168.202.135:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/hadoop-2.7.2/data/tmp</value>

</property>

</configuration>

4.配置 hdfs

#配置  hdfs配置 

vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

#添加 xml 标签

<configuration>

<!--副本数量 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- secondarynamenode的地址 -->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>192.168.202.134:50090</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/root/data/hadoop/name/</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/root/data/hadoop/data/</value>

</property>

<!--默认为true,namenode连接datanode时,会进行host解析查询-->

<property>

<name>dfs.namenode.datanode.registration.ip-hostname-check</name>

<value>false</value>

</property>

</configuration>

5 配置 yarn

#配置yarn

vim ${HADOOP_HOME}/etc/hadoop/yarn-site.xml

<configuration>

<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>192.168.202.136</value>

</property>

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>1024</value>

</property>

</configuration>

6. 配置 MapReduce

#进入 hadoop配置文件

cd ${HADOOP_HOME}/etc/hadoop/

#重命名 配置

mv mapred-site.xml.template mapred-site.xml

#配置 mapred-site.xml

vim mapred-site.xml

<configuration>

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

7.指定从节点

vim slaves

#内容

192.168.202.135

192.168.202.134

192.168.202.136

8.设置/etc/hosts

#修改 host

vim /etc/hosts

#添加

192.168.202.135 node01

192.168.202.136 node02

192.168.202.134 node03

#重启 网络

systemctl restart network

9.免密登陆

#生成 密钥

ssh-keygen

#复制密钥 到 全部 机器 包括 本机 否则 集群启动报错

ssh-copy-id -i /root/.ssh/id_rsa.pub node01

ssh-copy-id -i /root/.ssh/id_rsa.pub node02

ssh-copy-id -i /root/.ssh/id_rsa.pub node03

10. 单点启动

注意:如果集群是第一一次启动,需要在Namenode所在节点格式化NameNode,非非第一一次不不用用执行行行格式化Namenode操作

#初始化 nameNode

hadoop namenode -format

#启动 nameNode

cd ${HADOOP_HOME}

./sbin/hadoop-daemon.sh start datanode

#启动 datanode

cd ${HADOOP_HOME}

./sbin/hadoop-daemon.sh start datanode

停止其他角色脚本

/usr/local/hadoop/hadoop-2.7.2/sbin/hadoop-daemon.sh stop namenode|datanode|secondarynamenode

/usr/local/hadoop/hadoop-2.7.2/sbin/yarn-daemon.sh stop resourcemanager|nodemanager

11. 集群启动

#集群  在namenode节点启动  启动/停止hdfs

cd ${HADOOP_HOME}

./sbin/start-dfs.sh

./sbin/stop-dfs.sh

集群 在resourcemanager节点 启动/停止yarn

cd ${HADOOP_HOME}

./sbin/start-yarn.sh

./sbin/stop-yarn.sh

问题:

     配置缺少  host 导致

 

3.结果

 

以上是 Hadoop集群环境部署 的全部内容, 来源链接: utcz.com/z/518965.html

回到顶部