第一次写博客,有点小激动,这个集群只有三个节点,在网上找了一堆参考资料,配置了前前后后四天才搞清。
因为电脑各有异,建议多看几篇经验,结合来搭建。
1、文件准备
centos7 jdk1.8 hadoop3.1.3

这些文件官网上都有,自己寻找下载
下载Hadoop文件的时候,一定要注意,下载不带src的,src的是源代码包,和正常操作的不一样。。。。
2、创建3台虚拟机
如果选择典型,则只有一个终端界面,并且一直在root下,是管理员模式,个人认为这个比图形界面方便好多,找路径简单,也不用担心操作文件时权限不够,接下来的配置,每一台都要配

别的不用多想,点下一步就行,找到自己下载的镜像文件,然后按提示安装就行。
安装好之后进入界面,root,回车,输入密码,就可以操作了
3、规划
进入界面后,建议改一下名,方便知道自己在操作哪个节点
vi /etc/hostname
master 192.168.88.131 namenode datanode
slave1 192.168.88.132datanode
slave2 192.168.88.133 datanode
修改虚拟机IP,但是要根据自己电脑的网段修改,不能自己随便改
虚拟机网络设置》nat设置》设置为nat模式

4、网络配置
(1)打开虚拟机,#cd …
(2)输入 #cd /etc/sysconfig/network-scripts/
(3)输入 #vi ifcfg-ens33 打开网络配置文件ifcfg-ens33
(4)修改 ONBOOT=no 为
ONBOOT=yes
BOOTPROTO=static
(5)添加IPADDR=192.168.88.5(网段自己设置就行)
NETMASK=255.255.255.0(子网掩码)
(6)修改网关
#vi etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master//这个修改的是主机名
NETWORKING_IPV6=no
GATWAY=192.168.88.2//根据自己虚拟机的nat配置
(7)修改DNS
#vi /etc/resolv.conf
Nameserver 114.114.114.114
#ping www.baidu.com 有回应,说明配置成功

5、安装ssh(三台虚拟机都要整)
检查ssh是否存在
#rpm -qa | grep openssh
如果什么都没有显示就 #yum install openssh-clients
#yum install openssh-server
检查rsync是否存在
#rpm -qa | grep rsync
如果什么都没显示就#yum install rsync
1)开启系统ssh服务
#vi /etc/ssh/sshd_config
RSAAuthentication yes #启用RSA认证(需自己添加)
PubkeyAuthentication yes #启用公钥和私钥配对认证方式(去#即可)
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径**(不用管,文件里有)**
2)生成机器间通信的密钥
#ssh-keygen -t rsa
3)将生成的密钥写入sshd_condig指定公钥文件路径".ssh/authorized_keys"
#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
赋予authorized_keys
#chmod 600 ~/.ssh/authorized_keys
4)重启ssh服务使其生效
#service sshd restart
5)复制公钥到目标机器上(master操作就行)
#scp -r ~/.ssh/id_rsa.pub 远程用户名@远程服务器 ip:~/
例:#scp -r ~/.ssh/id_rsa.pub 192.168.88.129:~/
#scp -r ~/.ssh/id_rsa.pub 192.168.88.130:~/
这样在主节点上就可以免密操作从节点了
6、把所需文件放到虚拟机里(放到一个虚拟机里就行,到时候配置好之后再复制到其他虚拟机里,在没启动Hadoop之前,三台虚拟机平等,所需文件都一样)
1)这里推荐使用Xshell,在Xshell里新建一个会话,主机名就是虚拟机的IP,连接之后,输入root,然后输密码,就可以在xshell里操作虚拟机了,这步的前提是安装好ssh
2)在虚拟机里下载lrzsz
#yum install lrzsz
#rz
会弹出会话框把需要的文件选中就行

7、安装jdk
叭叭了一堆,终于到重点了
1)解压文件
#tar -zxvf jdk-8u241-linux-x64.tar.gz
2)环境变量配置
#vi ~/.bashrc
export JAVA_HOME=/root/jdk(这行代码,哎,刚开始不知道这个直接用 which java就可以,按书上的整了半天也没安装好,后来csdn的博主救了我,每个人安装的位置是不同的,需要自己查找JAVA_HOME的位置)
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
4)使环境变量生效
#source ~/.bashrc
5)验证JDK配置生效
#java -version

8、安装hadoop
1)解压文件
#tar -zxvf hadoop-3.1.2-tar.gz
2)进行hadoop-env.sh配置
#vi hadoop/hadoop-env.sh
export JAVA_HOME=/root/jdk
3)配置路径
#vi /etc/profile
export HADOOP_HOME=/root/hadoop-3.1.3
export CLASSPATH=.:$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
关闭文件后 source etc/profile 这一步必须有,要不然还是找不到hadoop
9、配置hadoop文件
这些文件每个机器是略有不同的,主节点IP啥的,还有文件储存位置,不能直接复制粘贴,需要根据自己的情况稍微修改一下
1)core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.88.131:8020</value>**//这个是主节点的ip**
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop-3.1.3/dfs</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
2)hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoop-3.1.3/dfs/name</value>**//这个文件夹需要自己创建**
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop-3.1.3/dfs/data</value**>//这个文件夹需要自己创建**
</property>
</configuration>
3)yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.88.131:8032</value>**//主节点IP**
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.88.131:8030</value>**//主节点IP**
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.88.131:8031</value>**//主节点IP**
</property>
</configuration>
4)mapred-site.xml (通用,不用改)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
10、修改start-dfs.sh stop-dfs.sh start-yarn.sh stop-yarn.sh文件
这些文件都在sbin下
在start-dfs.sh stop-dfs.sh中添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在start-yarn.sh stop-yarn.sh中添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
11、格式化
第一次启动的时候需要,启动一次之后就不用了
#hdfs namenode -format
12、启动集群
在sbin下输
#./start-dfs.sh

13、jps验证



本文详细介绍了一个包含三个节点的Hadoop集群搭建过程,包括文件准备、虚拟机创建、网络配置、SSH安装、JDK与Hadoop安装、环境变量配置、Hadoop文件配置及集群启动等步骤。

被折叠的 条评论
为什么被折叠?



