Centos7下hadoop2.7.7完全分布式集群
服务器节点
3台服务器, hostname分别为master, slave1, slave2
关闭防火墙
- systemctl status firewalld.service 或者 firewalld-cmd --state //查看防火墙运行状态
- systemctl stop firewalld.service //停止防火墙
- systemctl disable firewalld.service //禁用防火墙
创建hadoop用户和组
- groupadd hadoop //创建hadoop 组
- useradd -g hadoop -m -d /home/hadoop hadoop //创建用户hadoop并加入hadoop组和创建hadoop用户的目录
- passwd hadoop //为hadoop用户设置密码
配置节点间的ssh免密登录
- su - hadoop //切换到 hadoop 用户
- ssh-****** -t rsa //生成hadoop用户的**,连续按回车键直到完成
- cd ~ //进入hadoop用户目录
- cd .ssh //进入 .ssh 目录
- touch authorized_keys //创建authorized_keys文件
- chmod 600 authorized_keys //修改authorized_keys 文件的权限为600,这个步骤hadoop用户免密登录的关键,root用户做免密登录则无需该步骤
- ll //查看所在目录下的文件
- cat id_rsa.pub >> authorized_keys //将hadoop用户的公钥添加到authorized_keys 文件。
- ssh slave1 //在master使用ssh登录slave1
从上图可以看到不用输入密码就可以登录到slave1了。
注意: 3台服务器应将各自的 id_rsa.pub文件内容追加到同一个authorized_keys 文件,也就是说3台服务器的authorized_keys文件的内容是一样的,都包含了3台服务器的id_rsa.pub文件的内容。
安装jdk
- 上传下载好的jdk,此处使用的是jdk-8u181-linux-x64.tar.gz。
- su - root //切换回root用户
- tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java //解压到/usr/local/java 目录下,路径需要已经存在
- vim /etc/profile //配置环境变量;编辑 profile文件,在文件末尾添加如下图
保存并退出。 - source /etc/profile //更新环境变量
- java -version //查看jdk版本
安装hadoop
- 把下载好的安装包上传到master服务器, 此处使用的是hadoop-2.7.7.tar.gz。
- tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local/hadoop //解压到/usr/local/hadoop目录下,路径需要已经存在
- cd /usr/local/hadoop //进入目录
- mkdir -p hdfs/name hdfs/data logs tmp //创建指定目录
- chown -R hadoop:hadoop ../hadoop //将hadoop目录下所有文件所属更改为hadoop用户和hadoop组
- vim /etc/profile //配置环境变量;编辑 profile文件,在文件末尾添加如下图
保存退出 - source /etc/profile //更新环境变量
- hadoop version //查看hadoop版本
- su - hadoop //切换到hadoop用户
- cd /usr/local/hadoop/hadoop-2.7.7 //进入hadoop安装目录
- vim etc/hadoop/hadoop-env.sh //修改hadoop-env.sh文件
添加上图红框部分内容,保存退出。
- vim etc/hadoop/yarn-env.sh //修改yarn-env.sh文件
添加上图红框部分内容,保存退出。 - vim etc/hadoop/core-site.xml //修改core-site.xml文件
添加上图红框部分内容,保存退出。 - vim etc/hadoop/hdfs-site.xml //修改hdfs-site.xml文件
添加上图红框部分内容,保存退出。 - vim etc/hadoop/mapred-site.xml //修改mapred-site.xml文件
添加上图红框部分内容,保存退出。 - vim etc/hadoop/yarn-site.xml //修改yarn-site.xml文件
添加上图红框部分内容,保存退出。 - vim etc/hadoop/slaves //修改slaves文件,添加从节点的主机名(根据实际情况添加), 3.0版本后修改workers文件
保存退出。 - scp -r [email protected]:/usr/local/hadoop/hadoop-2.7.7 /usr/local/hadoop //分别在slave1和slave2使用命令将master安装的hadoop整个目录拷贝到slave1和slave2主机的指定目录
- hdfs namenode -format //格式化, master主机操作
- start-all.sh //启动, master主机操作
- jps //分别查看master, slave1, slave2节点的启动情况
- stop-all.sh //停止, master主机操作
完毕。