开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131 #这里ip是为了演示,可以换成其他的
#修改主机名
hostnamectl set-hostname node1
#修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="static"
IPADDR="192.168.88.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

#重启网卡
systemctl stop network
systemctl start network
#或者直接
systemctl restart network
#查看IP信息
ifconfig
1.在Windows系统中修改nosts文件,填入如下内容:
192.168.88.101 node1
192.168.88.102 node2
192.168.88.103 node3
2.在3台Linux的/etc/hosts文件中,填入如下内容(3台都要添加)
vim /etc/hosts
192.168.88.101 node1
192.168.88.102 node2
192.168.88.103 node3
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的密
码互相SSH登陆
1.在每一台机器都执行:`ssh-keygen -t rsa -b 4096`,一路回车到底即可

2.在每一台机器都执行:
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

3.执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通
ssh node1
ssh node2
ssh node3

后续大数据的软件,将不会以root用户启动
我们为大数据的软件创建一个单独的用户hadoop,并为三台服务器同样配置hadoop用户的免密互通
1.在每一台机器执行:useradd hadoop,创建hadoop用户
2.在每一台机器执行:passwd hadoop,设置hadoop密码
3.在每一台机器均切换到nadoop用户:su - hadoop,并执行ssh-keygen -t rsa -b 4096,创建ssh密钥
4.在每一台机器均执行
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

1.创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server内
mkdir -p /export/server
2.上传JDK安装文件
通过rz命令将主机的JDK安装文件上传到finalshell中

3.解压缩JDK安装文件
tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/server
4.配置JDK的软链接
ln -s /export/server/jdk1.8.0_361 /export/server/jdk
5.配置JAVA_HOME环境变量,以及将$JAVA HOME/bin文件夹加入PATH环境变量中
# 编辑/etc/profile文件
vim /etc/profile
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

6.生效环境变量
source /etc/profile
7.配置java执行程序的软链接
# 删除系统自带的java程序
rm -f /usr/bin/java
#软链接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java
8.执行验证
java -version
javac -version

9.同步复制文件夹到其他两个服务器
scp -r jdk1.8.0_361 node2:`pwd`/
scp -r jdk1.8.0_361 node3:`pwd`/
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。
在每一台机器都执行
systemctl stop firewalld
systemctl disable firewalld
Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。
在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可
在每一台机器都执行
vim /etc/sysconfig/selinux
# 将第七行,SELINUX=enforcing 改为
SELINUX=disabled
# 保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统
以下操作在三台Linux均执行
1.安装ntp软件
yum install -y ntp
2.更新时区
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.同步时间
ntpdate -u ntp.aliyun.com
4.开启ntp服务并设置开机自启
systemctl start ntpd
systemctl enable ntpd
1.上传Hadoop安装包到node1节点中
2.解压缩安装包到/export/server/中
tar -zxvf hadoop-3.4.0.tar.gz -C /export/server/
3.构建软链接
cd /export/server
ln -s /export/server/hadoop-3.4.0 hadoop
1.配置workers文件
#进入配置文件目录
cd /export/server/hadoop/etc/hadoop
#编辑workers文件 (填入的node1、node2、node3)
vim workers
#填入如下内容 (表明集群记录了三个从节点(DataNode))
node1
node2
node3
2.配置hadoop-env.sh文件
vim hadoop-env.sh
#填入如下内容
export JAVA_HOME=/export/server/jdk #JAVA_HOME,指明JDK环境的位置在哪
export HADOOP_HOME=/export/server/hadoop #HADOOP_HOME,指明Hadoop安装位置
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #HADOOP_CONF_DIR,指明Hadoop配置文件目录位置
export HADOOP_LOG_DIR=$HADOOP_HOME/logs #HADOOP_LOG_DIR,指明Hadoop运行日志目录位置
#通过记录这些环境变量,来指明上述运行时的重要信息
3.配置core-site.xml文件
vim core-site.xml
#编辑内容如下
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
4.配置hdfs-site.xml文件
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/nn</value>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>node1,node2,node3</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.datanode.data.dir</name>
<value>/data/dn</value>
</property>
</configuration>
5.在/目录下创建文件夹
#node1需创建
mkdir -p /data/nn
mkdir -p /data/dn
#node2,node3需创建
mkdir -p /data/dn
1.分发
# 在node1执行如下命令
cd /export/server
scp -r hadoop-3.4.0 node2:`pwd`/
scp -r hadoop-3.4.0 node3:`pwd`/
2.在node2执行,为hadoop配置软链接
# 在node2执行如下命令
ln -s /export/server/hadoop-3.4.0 /export/server/hadoop
3.在node3执行,为hadoop配置软链接
# 在node3执行如下命令
ln -s /export/server/hadoop-3.4.0 /export/server/hadoop
node1,node2,node3同样配置环境变量
vim /etc/profile
# 在/etc/profile文件底部追加如下内容
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 生效环境变量
source /etc/profile
# 以root身份,在三台服务器上均执行
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export
1.格式化namenode
# 确保以hadoop用户执行
su - hadoop
# 格式化namenode
hadoop namenode -format
2.启动
# 一键启动hdfs集群
start-dfs.sh
#查看当前系统正在运行的java进程
jps
# 一键关闭hdfs集群
stop-dfs.sh
# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
/export/server/hadoop/sbin/start-dfs.sh
/export/server/hadoop/sbin/stop-dfs.sh
启动完成后,可以在浏览器打开:
http://node1公网IP:9870,即可查看到hdfs文件系统的管理网页。
或者直接在浏览器输入node1:9870即可访问页面。


