首页
首页
文章目录
  1. 简介
  2. 操作思路
  3. 配置系统相关信息
    1. 关闭selinux
    2. 关闭虚拟内存
    3. 更改时区
    4. 关闭防火墙、安装网络工具
    5. 系统调优
    6. 更改主机名并配置hosts
  4. 配置java环境
  5. 配置ssh免密登陆
  6. Hadoop 配置文件介绍与配置
    1. 配置/etc/profile
    2. hadoop-env.sh配置
    3. core-site.xml配置
    4. hdfs-site.xml配置
    5. yarn-site.xml配置
    6. mapred-site.xml配置
    7. workers配置
    8. 复制到其他俩个节点 hadoop02、hadoop03
  7. 关闭hadoop 【只在master节点上操作】
  8. 重置hadoop环境 [移除hadoop hdfs log文件] 【谨慎操作,只在master上操作】
  9. 计算验证

Hadoop 集群安装部署记录(3.1.2)

简介

公司另一个项目团队在做大数据分析。然后需要使用到flink。然后就有了今天这篇文章。

操作思路

配置系统相关信息、安装java环境、配置免密登陆、配置Hadoop相关信息。

ip地址 作用 主机名
10.10.76.227 master hadoop01
10.10.76.228 worker hadoop02
10.10.76.229 worker hadoop03

配置系统相关信息

关闭selinux

1
2
setenforce 0
sed -i -E 's/^(SELINUX=)enforcing/\1disabled/' /etc/selinux/config

关闭虚拟内存

1
2
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab

更改时区

1
2
3
4
5
echo 'change system time zone to ShangHai...'
cp -af /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
which ntpdate
[ $? = 1 ] && yum install ntpdate -y
ntpdate cn.ntp.org.cn && hwclock -w

关闭防火墙、安装网络工具

1
2
3
4
iptables -F
systemctl stop firewalld
systemctl disable firewalld
yum install net-tools -y

系统调优

1
2
3
4
5
6
7
echo 'change open file limit numbers '
ulimit -n 65535
echo -e '* soft nofile 65535\n* hard nofile 65535' >> /etc/security/limits.conf
echo 'set TCP somaxconn...'
echo 'net.core.somaxconn = 20480' >> /etc/sysctl.conf
echo 20480 > /proc/sys/net/core/somaxconn
sysctl -p

更改主机名并配置hosts

1
2
3
4
5
6
7
8
9
10
11
12
echo 'hadoop01' > /etc/hostname
hostname hadoop01
echo 'hadoop02' > /etc/hostname
hostname hadoop02
echo 'hadoop03' > /etc/hostname
hostname hadoop03
#cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.76.227 hadoop01
10.10.76.228 hadoop02
10.10.76.229 hadoop03

配置java环境

1
2
3
4
5
6
7
8
9
# tar -zxf jdk-8u191-linux-x64.tar.gz
# mv jdk1.8.0_191 /usr/java
# vim /etc/profile
添加
export JAVA_HOME=/usr/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# source /etc/profile

配置ssh免密登陆

1
2
3
4
ssh-keygen
ssh-copy-id -i hadoop01
ssh-copy-id -i hadoop02
ssh-copy-id -i hadoop03

备注:三台机器都要执行包含本机

Hadoop 配置文件介绍与配置

配置文件介绍

文件名 格式 描述
hadoop-env.sh bash脚本 在运行Hadoop的脚本中使用的环境变量
core-site.xml hadoop配置XML Hadoop核心配置,例如HDFS和MapReduce中很普遍的I/O设置
hdfs-site.xml hadoop配置XML HDFS后台程序设置的配置:名称节点,第二名称节点和数据节点
mapred-site.xml hadoop配置XML MapReduce后台程序设置的配置jobtracker和tasktracker
masters 纯文本 记录运行第二名称节点的机器(一行一个)的列表
slaves 纯文本 记录运行数据节点和tasktracker的器(一行一个)的列表

配置/etc/profile

1
2
3
4
export HADOOP_HOME="/data/hadoop-3.1.2"
export PATH="$HADOOP_HOME/bin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
# export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

注:如果不注释掉”export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop”启动和关闭时会提示WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.报错。

hadoop-env.sh配置

文件目录为:hadoop-3.1.2/etc/hadoop/hadoop-env.sh

54行
修改成
export JAVA_HOME=/usr/java

hadoop-env配置

core-site.xml配置

文件目录为:hadoop-3.1.2/etc/hadoop/

新增

1
2
3
4
5
6
7
8
9
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>

<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>

core-site.xml配置

hdfs-site.xml配置

文件目录为:hadoop-3.1.2/etc/hadoop/

新增:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/lib/hadoop/hdfs/name/</value>
</property>

<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>

<property>
<name>dfs.namenode.handler.count </name>
<value>100</value>
</property>

<!-- Configurations for DataNode: -->

<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/hdfs/data/</value>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

描述:
dfs.data.dir:指定数据节点要存放的数据的目录
dfs.replication:在分布式节点里面要把这个数据块复制多少份,我这里是3台应该改为3,控制最多要写多少份(若模拟伪分布式写1即可)
(备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)
hdfs-site.xml配置

yarn-site.xml配置

文件目录为:hadoop-3.1.2/etc/hadoop/

新增:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<!-- 配置外网只需要替换外网ip为真实ip,否则默认为 localhost:8088 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>10.10.76.227:8088</value>
</property>
<!-- Configurations for NodeManager: -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

yarn-site.xml配置

mapred-site.xml配置

文件目录为:hadoop-3.1.2/etc/hadoop/

新增:

1
2
3
4
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

mapred-site.xml配置

workers配置

文件目录为:hadoop-3.1.2/etc/hadoop/

新增:

1
2
3
# cat workers
hadoop02
hadoop03

复制到其他俩个节点 hadoop02、hadoop03

1
2
scp -r ./* hadoop03:/data/hadoop-3.1.2/etc/hadoop/
scp -r ./* hadoop02:/data/hadoop-3.1.2/etc/hadoop/

注意 1、修改yarn-site.xml中的yarn.resourcemanager.webapp.address对于的value值
2、修改core-site.xml中的fs.defaultFS对应的值

###启动hadoop
1、格式化HDFS [只有首次部署才可使用]【谨慎操作,只在master节点上操作,我这里就是hadoop01上】

1
2
[root@hadoop01 hadoop]# cd /data/hadoop-3.1.2/bin
[root@hadoop01 bin]# ./hdfs namenode -format myhadoop

2、启动

1
2
/data/hadoop-3.1.2/sbin/start-dfs.sh
/data/hadoop-3.1.2/sbin/start-yarn.sh

3、检查,分别在三台执行jps

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@hadoop01 sbin]# jps
22647 Jps
21928 SecondaryNameNode
21563 NameNode
22254 ResourceManager

[root@hadoop02 ~]# jps
6004 Jps
5605 DataNode
5823 NodeManager

[root@hadoop03 ~]# jps
5825 NodeManager
5988 Jps
5607 DataNode

hadoop01-jps
hadoop02-jps
hadoop03-jps

4、web端检查
在浏览器访问10.10.76.227:8088接口
hadoop-web

关闭hadoop 【只在master节点上操作】

1
2
/data/hadoop-3.1.2/sbin/stop-dfs.sh
/data/hadoop-3.1.2/sbin/stop-yarn.sh

重置hadoop环境 [移除hadoop hdfs log文件] 【谨慎操作,只在master上操作】

rm -rf /data/hadoop-3.1.2/logs/*
rm -rf /var/lib/hadoop/

计算验证

1
[root@hadoop02 bin]# /data/hadoop-3.1.2/bin/hadoop jar /data/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar pi 10 100

hadoop-check
表示hadoop集群正常运行

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫