- 节点配置
- 允许root远程登录
- hostname修改
- IP地址修改
- host修改
- SSH免密登录
- JDK 安装
- Hadoop集群安装
- 安装目录规划
- 集群角色规划
- 集群安装
- 集群配置
Step 1:登录 node1 节点,修改 root 密码
sudo passwd root su root
Step 2:修改 ssh 配置文件,允许 root 远程登录
vim /etc/ssh/sshd_config #取消PermitRootLogin注释,并将其改为 PermitRootLogin yes # 重启SSH服务 systemctl restart sshd
Step 3:使用 root 账户远程登录进行验证
Step 4:按照同样的方式修改 node2 和 node3
hostname修改Step 1:使用 root 远程登录 node1,修改 hostname 为 node1
vim /etc/hostname
Step 2:重启系统
reboot
Step 3:以同样的方式修改 node2 和 node3
IP地址修改各节点IP地址规划如下
node1 192.168.10.10 node2 192.168.10.20 node3 192.168.10.30
Step 1:使用 root 账户远程登录到 node1 节点,将其 IP 地址改为 192.168.10.10
vim /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.10.10/24] # node2和node3只用修改这里的IP
nameservers:
addresses: [114.114.114.114,8.8.8.8]
version: 2
# 使得配置生效 netplan apply
Step 2:使用 root 账户,并使用修改后的 IP 地址登录,进行验证
ip addr
Step 3:以同样的方式修改 node2 和 node3 的 IP 地址
host修改Step 1:使用 root 账户登录 node1节点,修改 hosts文件
vim /etc/hosts
192.168.10.10 node1 192.168.10.20 node2 192.168.10.30 node3
Step 2:以同样的方式修改 node2 和 node3
SSH免密登录Step 1:使用 root 账户登录 node1 节点,生成 RSA 密钥对
ssh-keygen -t rsa
Step 2:使用 ssh-copy-id 将公钥拷贝到各个节点
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3
Step 3:免密登录验证
Step 4:以同样的方式在 node2 和 node3 上进行配置
JDK 安装Step 1:远程登录 node1 节点,创建 JDK 安装目录,并把安装包上传到该目录
mkdir /opt/software cd /opt/software ls
Step 2:解压安装包到当前目录
tar -xzvf jdk-8u202-linux-x64.tar.gz # 解压之后可以删除安装包 rm jdk-8u202-linux-x64.tar.gz ls
Step 3:环境变量配置
vim /etc/profile.d/env.sh
export JAVA_HOME=/opt/software/jdk1.8.0_202 export PATH=$PATH:$JAVA_HOME/bin
# 让环境变量生效 source /etc/profile
Step 4:安装验证
java -version
Step 5:远程将 JDK 文件和 环境变量文件拷贝到 node2 和 node3
scp -r /opt/software/ root@node2:/opt/software/ scp -r /opt/software/ root@node3:/opt/software/ scp /etc/profile.d/env.sh root@node2:/etc/profile.d/env.sh scp /etc/profile.d/env.sh root@node3:/etc/profile.d/env.sh # 分别登录 node2 和 node3 让环境变量生效 source /etc/profileHadoop集群安装
本例使用 Hadoop 3.1.4 版本进行安装
安装目录规划# 数据存储目录 /opt/bigdata/data # 安装目录 /opt/bigdata/server集群角色规划
NN: NameNode SNN: SecondaryNameNode DN: DataNode RM: ResourceManager NM: NodeManager集群安装
Step 1:远程登录 node1 节点,创建相关目录,并把 Hadoop 安装包上传到 server目录
mkdir -p /opt/bigdata/data mkdir -p /opt/bigdata/server cd /opt/bigdata/server ls
Step 2:解压安装包到当前目录
tar -xzvf hadoop-3.1.4.tar.gz # 解压之后可以删除安装包 rm hadoop-3.1.4.tar.gz ls
Step 3:环境变量配置
vim /etc/profile.d/env.sh
export JAVA_HOME=/opt/software/jdk1.8.0_202 export HADOOP_HOME=/opt/bigdata/server/hadoop-3.1.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 让环境变量生效 source /etc/profile
Step 4:安装验证
hadoop version集群配置
Step 1:hadoop-env.sh 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop vim hadoop-env.sh
#配置JAVA_HOME export JAVA_HOME=/opt/software/jdk1.8.0_202 #设置用户以执行对应角色shell命令(hadoop3.0版本开始,如果需要用root账户执行,则需要添加如下环境变量) export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
Step 2:core-site.xml 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop vim core-site.xml
fs.defaultFS hdfs://node1:8020 hadoop.tmp.dir /opt/bigdata/data/hadoop-3.1.4 hadoop.http.staticuser.user root
Step 3:hdfs-site.xml 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop vim hdfs-site.xml
dfs.namenode.secondary.http-address node2:9868
Step 4:mapred-site.xml 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop vim mapred-site.xml
mapreduce.framework.name yarn yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME}
Step 5:yarn-site.xml 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop vim yarn-site.xml
yarn.resourcemanager.hostname node1 yarn.nodemanager.aux-services mapreduce_shuffle yarn.scheduler.minimum-allocation-mb 512 yarn.scheduler.maximum-allocation-mb 2048 yarn.nodemanager.vmem-pmem-ratio 4
Step 6:workers 配置
cd /opt/bigdata/server/hadoop-3.1.4/etc/hadoop/workers vim workers
node1 node2 node3
Step 7:将修改后的 Hadoop 安装包和数据目录拷贝到 node2 和 node3
scp -r /opt/bigdata/ root@node2:/opt/bigdata/ scp -r /opt/bigdata/ root@node3:/opt/bigdata/
Step 8:NameNode 格式化操作
首次启动HDFS时,必须对其进行格式化操作。以后无需再格式化。
# 在node1上执行 hdfs namenode -format
格式化时,从打印的日志可以看出
# hadoop的log目录为 /opt/bigdata/server/hadoop-3.1.4/logs # hdfs的存储目录为 /opt/bigdata/data/hadoop-3.1.4/dfs/name



