三台虚拟机:node1是master节点,node2和node3是数据节点,也可选择将node1也作为数据节点
需要的基本设置
1.时间同步(时间服务器),网络,hosts
时间同步设置(时间服务器,ntp服务器)
yum install ntpdate
ntpdate -u 3.tw.pool.ntp.org
可能设置固定IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33/e/cf
添加IPADDR=192.168.3.4
修改hostname:
hostnamectl set-hostname node1.test.com
hosts配置
vim /etc/hosts
192.168.3.4 node1
192.168.3.5 node2
192.168.3.6 node3
重启网路服务
service network restart
2.免密配置(如果不做免密配置,配置完后启动服务,会需要输入密码;NameNode到DataNode做一个免密设置)node 1 到其他节点
免密设置 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Setup_passphraseless_ssh
ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
cd /root/.ssh
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
拷贝密钥到其他节点
root@localhost .ssh]# scp id_dsa.pub node2:/tmp/
root@localhost .ssh]# scp id_dsa.pub node3:/tmp/
在node1上执行以下语句,免密访问node2
cat ~/.ssh/id_rsa.pub | ssh root@node2 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
cat ~/.ssh/id_rsa.pub | ssh root@node3 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
3.jdk
拷贝jdk到node2、node3
[root@localhost tools]# scp jdk-8u211-linux-x64.rpm node2:`pwd`
[root@localhost tools]# scp jdk-8u211-linux-x64.rpm node3:`pwd`
安装(XShell可使用发送键到所有会话来统一安装)
rpm -ivh /usr/tools/jdk*
设置JAVA_HOME(也可这~/.bashrc中设置)
vim /etc/profile
添加JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export PATH=$PATH:JAVA_HOME/bin
生效配置
source /etc/profile
验证配置
java -version
4.安装文件上传解压,配置文件修改
[root@localhost tools]# tar zxvf hadoop-3.2.0.tar.gz -C /home
配置hadoop路径:
export HADOOP_HOME=/home/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
生效配置
source /etc/profile
5.修改配置文件
[root@localhost hadoop-3.2.0]# cd etc/hadoop
vim hadoop-env.sh
(vim中执行命令:!echo $JAVA_HOME)
JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_NAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
vim core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
新增masters(主节点namenode)
node1
修改workers(主节点node1也被作为datanode)
node1
node2
node3
start-dfs.sh,stop-dfs.sh中添加
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_NAMENODE_USER=root
start-yarn.sh,stop-yarn.sh中添加
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
6.同步配置文件,保证集群的配置文件一致
同步到其他节点
[root@localhost home]# scp -r hadoop-3.2.0/ node2:/home
7.格式化NameNode:
hdfs namenode -format
8.启动 start-all.sh
9. 查看启动进程
jps
9.访问web
http://192.168.3.4:9870
YARN UI: http://192.168.3.4:8088/cluster
重新格式化的话,需要将data数据存放目录删除
datanode节点启动正常,但在UI上没有显示
需在hdfs-site.xml添加以下配置: