编辑
👨🏻🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
- 集群规划
编辑
- 检查三台机器之间是否可以ping通这里的三台主机ip分别如下:
#hadoop1 192.168.123.75 #hadoop2 192.168.123.76 #hadoop3 192.168.123.77
- 在/etc/sudoers中设置hadoop的权限(三台)
root ALL=(ALL) ALL hadoop ALL=(ALL) NOPASSWD:ALL
- 修改分别修改三台机的network和hostname的名字为:
192.168.123.75→master
192.168.123.76→slave1
192.168.123.77→slave2 - 查看并永久关闭防火墙
#查看防火墙状态 systemctl status firewalld.service #关闭防火墙 systemctl stop firewalld.service #永久关闭防火墙 systemctl disable firewalld.server
- 开启SSH免密登录
- master:
#生产密钥对 ssh-keygen -t rsa #三连击回车 ssh-copy-id master #将master的公钥传到远程主机上 scp -r /home/hadoop/.ssh/authorized_keys slave1:/home/hadoop/.ssh/authorized_keys scp -r /home/hadoop/.ssh/authorized_keys slave2:/home/hadoop/.ssh/authorized_keys
- slave1:
#生产密钥对 ssh-keygen -t rsa #三连击回车 ssh-copy-id master
- slave2:
#生产密钥对 ssh-keygen -t rsa #三连击回车 ssh-copy-id master
- 验证登录其他节点是否无需密码,无需密码说明成功
ssh slave1
- 使用xftp上传
jdk-8u144-linux-x64.tar.gz
和hadoop-2.6.0.tar.gz
到/usr/local/src/目录下 - 解压文件,并且重命名
tar -zxvf jdk-8u144-linux-x64.tar.gz tar -zxvf hadoop-2.6.0.tar.gz
mv jdk1.8.0-bin jdk8 mv hadoop2.6.0-bin hadoop
- 在~/.bash_profile配置环境变量
export JAVA_HOME=/usr/local/src/jdk8 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/local/src/hadoop export PATH=$PATH:$HADOOP_HOME/sbin
#使环境变量生效 source ~/.bash_profile
- 测试jdk是否正常
java -version
- 在/usr/local/src/hadoop/etc/hadoop/下做以下配置
- 配置slaves
#对应每台的host映射 master slave1 slave2
- 配置hadoop-env.sh、mapred-env.sh、yarn-env.sh,添加jdk路径
export JAVA_HOME=/use/local/src/jdk8
- 配置core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/src/hadoop/data/tmp</value> </property> </configuartion>
- 配置hdfs-site.xml
<configuration> <property> <name>dfs.replicaiotn</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave2:50090</value> </property> </configuartion>
- 配置yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>slave1</value> </property> </configuartion>
- 配置mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuartion>
- 分发配置文件及软件
- 分发环境变量
#目前master位于~/目录下 scp -r ~/.bash_profiel slave1:$PWD scp -r ~/.bash_profiel slave2:$PWD
- 别忘了到slave1、slave2上source一把
- 分发jdk
#当前master位于/usr/local/src/目录下 scp -r ./jdk8 slave1:$PWD scp -r ./jdk8 slave2:$PWD
- 分发hadoop
#当前master为于/usr/local/src/目录下 scp -r ./hadoop slave1:$PWD scp -r ./hadoop slave2:$PWD
- 格式化hdfs磁盘
#在集群的主节点上进行格式化这里为master,格式化status应该为0,不为0需要根据info进行修改 hdfs namenode -format
- 启动hdfs和yarn
#master节点上启动 start-dfs.sh #在有resourcemanager所在的机器上使用 start-yarn.sh
- 启动之后可以通过
http://master:9000
进行网页访问,可以看到集群信息