一、Linux的配置
集群的规模:3台
Windows的服务器:
8GB
50GB左右的一个盘
以下的配置都必须在Master(2G) slave slave1上进行配置
1.时钟同步
su root
aliyun.com 时钟域名
cn.pool.ntp.org 时钟域名
crontab -e 打开linux的自动时钟同步文件
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
或者
0 1 * * * /usr/sbin/ntpdate aliyun.com
分时日月年
重启定时任务 systemctl restart crond
当下立刻同步:/usr/sbin/ntpdate cn.pool.ntp.org
master slave slave1
2. 主机名 hostname
su root
centos7特地添加了hostnamectl命令查看
hostnamectl set-hostname 命令修改主机名
hostnamectl set-hostname master
重新打开窗口即可
或者
vim /etc/hostname
[root@zsls ~]# cat /etc/hostname
slave1
reboot 重启即可
3.关闭防火墙
[root@master ~]# systemctl status firewalld.service #查看状态
[root@master ~]# systemctl stop firewalld.service #停止
[root@master ~]# systemctl status firewalld.service
[root@master ~]# systemctl disable firewalld.service #开机禁用
4.配置主机hosts
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.217.180 master
192.168.217.181 slave1
192.168.217.182 slave2
分别配置master slave1 slave2 主机的/etc/hosts配置
5.安装JDK
6.ssh免密配置
直接执行:(自身免密)
每个机器上执行
ssh-keygen -t rsa
ssh-copy-id IP(自身IP 例如 ssh-copy-id 192.168.217.180)
各节点分别执行
比如IP地址为A,B,C三台,A上执行ssh-copy-id B , ssh-copy-id C ,以此类推
ssh-copy-id IP (其他节点IP 例如 在192.168.217.180机器上 执行 ssh-copy-id 192.168.217.181 然后在执行 ssh-copy-id 192.168.217.182 。。。。)
二、Hadoop集群的配置
1.安装hadoop
上传hadoop安装包
这里学习练习用的是hadoop-2.5.2.tar.gz的版本
[root@master ~]# tar -zxvf hadoop-2.5.2.tar.gz
2.配置hadoop运行时环境 (java开发的)
[root@master hadoop]# pwd
/root/hadoop-2.5.2/etc/hadoop
[root@master hadoop]# vim hadoop-env.sh
在靠前的位置把export JAVA_HOME=${JAVA_HOME}
改成
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
3.配置yarn-env.sh环境变量
YARN 一种集群资源管理 也是java语言开发
[root@master hadoop]# pwd
/root/hadoop-2.5.2/etc/hadoop
[root@master hadoop]# vim yarn-env.sh
修改 export JAVA_HOME=/usr/local/java/jdk1.8.0_161
4.配置core-site.xml
[root@master hadoop]# vim core-site.xml
# fs.defaultFS hdfs的文件系统的入口 它也决定了主节点的角色
# hadoop.tmp.dir 在各个节点上存放数据的位置
/var/hadoopdata需要每个机器都要有创建这个目录
5.配置 hdfs-site.xml
[root@master hadoop]# vim hdfs-site.xml
# dfs.replication 有两台节点 配置2 即为2倍的空间 是牺牲空间每个节点都存储文件 副本的数量
6.配置yarn-site.xml
yarn的核心目标是为各个分布式离线、实时等计算框架提供各个节点上的cpu和内存资源,并负责管理和回收这些资源
7.配置mapred-site.xml
8.在master节点配置slaves文件
即配置那些节点担任slave节点
[root@master hadoop]# vim slaves
[root@master hadoop]# cat slaves
slave1
slave2
9.把master上配置的拷贝到slave节点上
[root@master hadoop]# scp -r /root/hadoop-2.5.2 root@slave1:/root
[root@master hadoop]# scp -r /root/hadoop-2.5.2 192.168.217.182:/root
三 :启动hadoop
1.配置hadoop
[root@master hadoop]# vim /etc/profile
export HADOOP_HOME=/root/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
[root@master hadoop]# source /etc/profile
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
2.在master上格式化
[root@master ~]# hdfs namenode -format
3.启动hadoop
[root@master ~]# start-all.sh
[root@master ~]# jps
4880 ResourceManager
7488 Jps
4581 NameNode
4746 SecondaryNameNode
[root@slave1 ~]# jps
4403 NodeManager
4314 DataNode
6315 Jps
查看每个节点的启动日志:如master的:
[root@master hadoopdata]# cd /root/hadoop-2.5.2/logs/
[root@master logs]# ls
hadoop-root-namenode-master.log hadoop-root-secondarynamenode-master.out yarn-root-resourcemanager-master.out
hadoop-root-namenode-master.out SecurityAuth-root.audit
hadoop-root-secondarynamenode-master.log yarn-root-resourcemanager-master.log