准备工作
-
三台Linux主机,
192.168.1.200 master200
192.168.1.201 slave201
192.168.1.202 slave202
-
JDK1.8+
-
hadoop2.7.3
链接:https://pan.baidu.com/s/1ox032ttdWwilgV63pzo8bQ 提取码:kyjb
配置jdk
略
关闭防火墙
查看防火墙状态 service iptables status
关闭防火墙 service iptables stop
查看防火墙开机启动状态 chkconfig iptables --list
关闭防火墙开机启动 chkconfig iptables off
(注:因为在内网操作,需保存三台服务器都要关闭)
设置主机名和ip的映射关系
1. 修改主机名
vim /etc/sysconfig/network
- master200
NETWORKING=yes
HOSTNAME=master200
- slave201
NETWORKING=yes
HOSTNAME=slave201
- slave202
NETWORKING=yes
HOSTNAME=slave202
2. 修改主机名和IP的映射关系
vim /etc/hosts
192.168.1.200 master200
192.168.1.201 slave201
192.168.1.202 slave202
(注:三台服务器都需要配置同样的映射关系)
配置免密码登陆
1. 生成密钥:
ssh-keygen -t rsa(会输入四个回车,默认位于 ~/.ssh/)
2. 拷贝公钥到所有机器:
ssh-copy-id root@master200
ssh-copy-id root@slave201
ssh-copy-id root@slave202
3. 测试免密登录:
ssh master200
ssh slave201
ssh slave202
(注:以上1和2的命令在三台服务器多需要执行)
时间同步
通过xshell--->工具--->选择发送键输入到所有会话--->执行时间同步命令:
date -s 2019-10-24
主节点(master200)上安装
-
创建安装目录 mkdir /root/training
-
上传hadoop-2.7.3.tar.gz 到服务器
-
解压安装文件 tar -zxvf hadoop-2.7.3.tar.gz -C /root/training
-
配置hadoop环境变量
vi ~/.bash_profile (后面追加) HADOOP_HOME=/root/training/hadoop-2.7.3 export HADOOP_HOME PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export PATH 生效:source ~/.bash_profile (注:三台服务器都需要配置环境变量)
-
hadoop文件配置 进入:cd /root/training/hadoop-2.7.3/etc/hadoop hadoop-env.sh
<!--配置jdk地址--> export JAVA_HOME=/root/training/jdk1.8.0_131
hdfs-site.xml
<!--配置数据块的冗余度,默认是3--> <!--原则冗余度跟数据节点个数保持一致,最大不要超过3--> <property> <name>dfs.replication</name> <value>2</value> </property> <!--是否开启HDFS的权限检查,默认是true--> <!--使用默认值,后面会改为false--> <property> <name>dfs.permissions</name> <value>false</value> </property>
core-site.xml
<!--配置HDFS主节点的地址,就是NameNode的地址--> <!--9000是RPC通信的端口--> <property> <name>fs.defaultFS</name> <value>hdfs://master200:9000</value> </property> <!--HDFS数据块和元信息保存在操作系统的目录位置--> <!--默认是Linux的tmp目录,一定要修改--> <property> <name>hadoop.tmp.dir</name> <value>/root/training/hadoop-2.7.3/tmp</value> </property>
mapred-site.xml
<!--MR程序运行容器或者框架--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
yarn-site.xml
<!--配置Yarn主节点的位置--> <property> <name>yarn.resourcemanager.hostname</name> <value>master200</value> </property> <!--NodeManager执行MR任务的方式是Shuffle洗牌--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
-
slaves 配置从节点地址
vim slave slave201 slave202
-
把master200上安装好的hadoop目录复制到从节点上
scp -r hadoop-2.7.3/ root@slave201:/root/training scp -r hadoop-2.7.3/ root@slave202:/root/training
-
对namenode进行格式化,在master200节点执行命令
hdfs namenode -format
-
在主节点(master200)上启动集群
start-all.sh
-
分布式安装完成
更多hadoop学习内容关注公众号: