VMware搭建CentOS7,参考VMware14安装CentOS7,以及网络连接设置
CentOS7安装JDK8,参考CentOS7安装JDK1.8
搭建好一台之后,克隆出两份。右键虚拟名称–管理–克隆–下一步–下一步–创建完整克隆。
克隆完毕后,需要修改ip地址和主机名
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
分别修改下ip地址即可。
改完之后,重启网络服务:
service network restart
另外还需要修改一下主机名:
参考:centos修改主机名的正确方法
三台Linux服务器,分别:
vi /etc/hosts
将下面语句复制进去保存
172.16.1.252 keji01
172.16.1.253 keji02
172.16.1.254 keji03
这样我们可以使用主机名来操作了。
查看防火墙状态:
firewall-cmd --state
关闭防火墙:
systemctl stop firewalld.service
开机不启动防火墙
systemctl disable firewalld
参考CentOS7使用firewalld打开关闭防火墙与端口
ssh-keygen -t rsa //在root用户使用ssh工具生成秘钥(也可以使用普通用户)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //复制一份秘钥
之后输入ssh keji01 输入yes,不用输入密码即可登录表示成功
完成这一步之后,还需要配置主节点ssh免密码登录从节点,因为从节点的进程由主节点启动。
将主节点的秘钥文件传输给从节点即可:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@keji02
root为从节点的一个用户,keji02为从节点主机名
本文选择最新的Hadoop3.1.1。下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz。
下载完成之后,上传到虚拟机中,我的上传目录是/home/develop/app
主节点:keji01 从节点:keji02、keji03
keji01 namenode、resourcemanager、secondarynamenode
keji02 datanode、nodemanager
keji03 datanode、nodemanager
cd /home/develop
tar -zxvf hadoop-3.1.1.tar.gz
hadoop的配置文件,主要在etc/hadoop下面
cd /home/develop/hadoop-3.1.1/etc/hadoop/
主要魔改JAVA_HOME和日志目录
export JAVA_HOME=/home/develop/jdk1.8.0_191
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
export JAVA_HOME=/home/develop/jdk1.8.0_191
export YARN_LOG_DIR=/data/hadoop_repo/logs/yarn
fs.defaultFS
hdfs://keji01:9000
hadoop.tmp.dir
/data/hadoop_repo
注意修改主机名
修改从节点数量,这里有2个。
在哪个节点启动secondary
dfs.replication
2
dfs.namenode.secondary.http-address
keji01:50090
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
keji01
mapreduce.framework.name
yarn
表示MapReduce在Yarn上运行
vi workers
keji02
keji03
cd /home/develop/hadoop-3.1.1/sbin
vim start-dfs.sh
vim stop-dfs.sh
添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi start-yarn.sh
vi stop-yarn.sh
添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
scp -rq hadoop-3.1.1 keji02:/home/develop
scp -rq hadoop-3.1.1 keji03:/home/develop
cd /home/develop/hadoop-3.1.1/bin
./hdfs namenode -format
看到success表示格式化成功
cd /home/develop/hadoop-3.1.1/sbin
./start-all.sh
keji01输入jps
keji02输入jps
keji03输入jps
看到这些即表示成功。
如果提示-bash: /home/develop/jdk1.8.0_191/bin/jps: 权限不够
执行
chmod +x /home/develop/jdk1.8.0_191/bin/jps