您当前的位置:首页 > 计算机 > 服务器 > 网络服务

Hadoop虚拟机配置

时间:12-31来源:作者:点击数:

一、配置固定IP地址

开启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

三、配置SSH免密登录

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台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

四、创建hadoop用户并配置免密登录

后续大数据的软件,将不会以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

五、配置JDK环境

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`/

六、关闭防火墙和SELinux

集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。

在每一台机器都执行

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

十、分发Hadoop文件夹

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

十二、授权为hadoop用户

# 以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

十四、查看HDFS WEBUI

启动完成后,可以在浏览器打开:

http://node1公网IP:9870,即可查看到hdfs文件系统的管理网页。

或者直接在浏览器输入node1:9870即可访问页面。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐