大数据 Hadoop 环境搭建图文详解
文章目录
-
- 点击 “编辑虚拟机设置”。 点击 “网络适配器” → “NAT模式” 即可。
- 右键需要克隆的虚拟机 → 管理 → 克隆。 选择“虚拟机中的当前状态”,点击下一步。 选择“创建完整克隆”,点击下一步。 更改虚拟机名称以及位置,点击下一步。 创建完成后关闭即可。
- 查看虚拟网卡信息。 输入 ifconfig ,看到可以正常使用的网卡以及相关信息。 可以看到我们这里的网卡是 ens33。 查看网关。 在 VMware 中的虚拟网络编辑器中可以看到。 修改网卡配置。 输入以下命令,即可编写网卡配置。 vim /etc/sysconfig/network-scripts/ifcfg-网卡名 我这里的网卡名是 ens33,则命令如下: vim /etc/sysconfig/network-scripts/ifcfg-ens33 把有的部分注释掉,没有的部分在最后加上。 # 要配制的部分BOOTPROTO=staticONBOOT=yesIPADDR=192.168.182.128 #IP地址NETMASK=255.255.255.0 #子网掩码NETWORK=192.168.0.0 修改网关配置。 输入以下命令,编写网关配置。 vim /etc/sysconfig/network 编写以下内容。 NETWORKING=yesGATEWAY=192.168.182.2 #网关 修改 DNS 配置。 输入以下内容,编写 DNS 配置。 vim /etc/resolv.conf 编写以下内容。 search localdomainnameserver 8.8.8.8nameserver 192.168.182.2 重启网络服务。 service network restart
- 查看本机主机名 查看本机主机名使用 hostname 即可。 hostname 修改主机名(CentOS 7)。 使用下面的命令修改主机名。 hostnamectl set-hostname 主机名 示例: hostnamectl set-hostname node1 修改主机名(通用,CentOS7 与 非 CentOS7)。 NETWORKING=yesNETWORKING_IPV6=noGATEWAY=192.168.182.2 #网关HOSTNAME=node1 #主机名 修改 CentOS 的 hosts。 使用下面的命令编辑 hosts。 vim /etc/hosts 在每个虚拟机的 hosts 文件后面增加自己所安装的虚拟机的 IP 地址以及主机名。 192.168.182.133 master192.168.182.128 node1192.168.182.129 node2 将 hosts 文件拷贝到 node1 和 node2 节点命令: scp /etc/hosts node1:/etc/hosts # 拷贝到 node1scp /etc/hosts node2:/etc/hosts # 拷贝到 node2 修改 Windows 的 hosts。 进入 C:\Windows\System32\drivers\etc 路径。 打开 hosts 文件,填写如下内容: 192.168.182.133 master192.168.182.128 node1192.168.182.129 node2 保存文件,如果不行的话可以先移出来,再移回去。
- 查看防火墙状态。 systemctl status firewalld.service 绿的running表示防火墙开启。 关闭防火墙。 systemctl stop firewalld.service 或: service iptables stop 开机禁用防火墙自启。 systemctl disable firewalld.service 或: chkconfig iptables off 启动防火墙。 systemctl start firewalld.service 防火墙随系统开启启动。 systemctl enable firewalld.service
- 生成密钥并拷贝到子节点。 主节点执行命令 ssh-keygen -t rsa 产生密钥,一直回车执行命令。 将密钥拷贝到其他两个子节点,命令如下: ssh-copy-id -i node1ssh-copy-id -i node2 实现主节点 master 本地免密码登录。 首先进入到 /root 命令: cd /root 在进入到 ./.ssh 目录下: cd ./.ssh/ 将公钥写入本地执行命令: cat ./id_rsa.pub>> ./authorized_keys
-
- adduser atguigu #添加用户passwd atguigu #修改密码
- 输入以下命令进行配置: vi /etc/sudoers 配置 atguigu 用户的信息: ## Allow root to run any commands anywhereroot ALL=(ALL) ALLatguigu ALL=(ALL) ALL
- 在 /opt 目录下创建 module、software 文件夹。 mkdir module # 创建 module 文件夹mkdir software # 创建 software 文件夹 修改 module、software 文件夹的所有者 cd。 chown atguigu:atguigu modulechown atguigu:atguigu software 查看文件归属。 ls -al
-
- 查询是否安装 Java。 rpm -qa|grep java 如果安装的版本低于 1.7,则卸载该 jdk。 sudo rpm -e 软件包
- 导入 jdk 安装包。 导入 Hadoop 安装包。
- cd software/ ls
- tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
- 获取 jdk 路径。 进入 jdk 的解压路径,输入以下命令即可查看 jdk 路径: pwd 打开 /etc/profile 文件: 输入以下命令打开 profile 文件。 sudo vi /etc/profile 输入以下命令配置 Java 环境变量。 export JAVA_HOME=/opt/module/jdk1.8.0_144export PATH=$PATH:$JAVA_HOME/bin 保存退出。 配置 jdk 环境生效。 source /etc/profile 测试 jdk 是否安装成功。 java -version 重启(如果 java -version 可以用就不用重启)。 syncsudo reboot
-
- cd /opt/software/
- tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/
- ls /opt/module/
- 获取 Hadoop 安装路径。 进入 Hadoop 路径,输入以下命令查看 Hadoop 安装路径。 pwd 打开 /etc/profile 文件。 使用 vim 打开 profile 文件。 sudo vi /etc/profile 编辑 Hadoop 环境。 ##HADOOP_HOMEexport HADOOP_HOME=/opt/module/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin 保存退出。 Hadoop 环境生效。 source /etc/profile 测试 Hadoop 是否安装成功。 hadoop version 重启(如果 hadoop version 可以用就不用重启)。 syncsudo reboot
-
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 修改该目录下的 slaves 文件。 使用 vim 编辑 slaves 文件。 vim slaves 删除原来的内容,修改为如下内容。 node1node2
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 修改该目录下的 hadoop-env.sh 文件。 添加 JAVA_HOME 路径: export JAVA_HOME=/opt/module/jdk1.8.0_144
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 修改该目录下的 core-site.xml 文件。 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/tmp</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property></configuration>
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 修改该目录下的 hdfs-site.xml 文件。 <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property></configuration>
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 修改该目录下的 yarn-site.xml 文件。 <configuration><!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property></configuration>
- 进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。 cd /opt/module/hadoop-2.7.2/etc/hadoop 复制 mapred-site.xml.template 为 mapred-site.xml。 cp mapred-site.xml.template mapred-site.xml 修改该目录下的 mapred-site.xml 文件。 <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property></configuration>
- scp -r /opt/module/hadoop-2.7.2 node1:/opt/module/hadoop-2.7.2scp -r /opt/module/hadoop-2.7.2 node2:/opt/module/hadoop-2.7.2
- 首先看下 hadoop-2.7.2 目录下有没有 tmp 文件夹。 如果没有执行一次格式化命令: cd /opt/module/hadoop-2.7.2 #进入 hadoop 安装目录./bin/hdfs namenode -format # 格式化命令 执行完格式化命令会生成 tmp 文件。 启动 Hadoop。 输入以下命令启动 Hadoop。 cd /opt/module/hadoop-2.7.2 #进入 hadoop 安装目录./sbin/start-all.sh #启动程序 验证主节点进程。 输入以下命令查看进程: jps #显示所有 java 进程 pid 主节点进程: ResourceManager NameNode SecondaryNameNode 子节点进程 DataNode NodeManager ④ 验证 HDFS: 浏览器登录地址:192.168.182.133:50070(ip 地址是 master 节点的地址)。 出现以下界面则证明 HDFS 安装成功: 刚搭建完成,什么都没有。 PS: 如果第一次启动失败了,请重新检查配置文件或者哪里步骤少了。 再次重启的时候 需要手动将每个节点的 tmp 目录删除: rm -rf /opt/module/hadoop-2.7.2/tmp 然后在<font color=“red”>主节点</font>执行以下命令格式化 namenode。 ./bin/hdfs namenode -format 文章相关附件可以点击下面的原文链接前往下载: https://ost.51cto.com/resource/2334。 想了解更多关于开源的内容,请访问: 51CTO 开源基础软件社区 https://ost.51cto.com。

点击 “编辑虚拟机设置”。

点击 “网络适配器” → “NAT模式” 即可。

右键需要克隆的虚拟机 → 管理 → 克隆。

选择“虚拟机中的当前状态”,点击下一步。

选择“创建完整克隆”,点击下一步。

更改虚拟机名称以及位置,点击下一步。

创建完成后关闭即可。

查看虚拟网卡信息。
输入 ifconfig ,看到可以正常使用的网卡以及相关信息。

可以看到我们这里的网卡是 ens33。
查看网关。
在 VMware 中的虚拟网络编辑器中可以看到。

修改网卡配置。
输入以下命令,即可编写网卡配置。
vim /etc/sysconfig/network-scripts/ifcfg-网卡名
我这里的网卡名是 ens33,则命令如下:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
把有的部分注释掉,没有的部分在最后加上。
# 要配制的部分
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.182.128 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.0.0

修改网关配置。
输入以下命令,编写网关配置。
vim /etc/sysconfig/network
编写以下内容。
NETWORKING=yes
GATEWAY=192.168.182.2 #网关

修改 DNS 配置。
输入以下内容,编写 DNS 配置。
vim /etc/resolv.conf
编写以下内容。
search localdomain
nameserver 8.8.8.8
nameserver 192.168.182.2

重启网络服务。
service network restart
查看本机主机名
查看本机主机名使用 hostname 即可。
hostname
修改主机名(CentOS 7)。
使用下面的命令修改主机名。
hostnamectl set-hostname 主机名
示例:
hostnamectl set-hostname node1
修改主机名(通用,CentOS7 与 非 CentOS7)。
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.182.2 #网关
HOSTNAME=node1 #主机名

修改 CentOS 的 hosts。
使用下面的命令编辑 hosts。
vim /etc/hosts
在每个虚拟机的 hosts 文件后面增加自己所安装的虚拟机的 IP 地址以及主机名。
192.168.182.133 master
192.168.182.128 node1
192.168.182.129 node2

将 hosts 文件拷贝到 node1 和 node2 节点命令:
scp /etc/hosts node1:/etc/hosts # 拷贝到 node1
scp /etc/hosts node2:/etc/hosts # 拷贝到 node2

修改 Windows 的 hosts。
进入 C:\Windows\System32\drivers\etc 路径。

打开 hosts 文件,填写如下内容:
192.168.182.133 master
192.168.182.128 node1
192.168.182.129 node2

保存文件,如果不行的话可以先移出来,再移回去。
查看防火墙状态。
systemctl status firewalld.service
绿的running表示防火墙开启。

关闭防火墙。
systemctl stop firewalld.service
或:
service iptables stop
开机禁用防火墙自启。
systemctl disable firewalld.service
或:
chkconfig iptables off
启动防火墙。
systemctl start firewalld.service
防火墙随系统开启启动。
systemctl enable firewalld.service
生成密钥并拷贝到子节点。
主节点执行命令 ssh-keygen -t rsa 产生密钥,一直回车执行命令。

将密钥拷贝到其他两个子节点,命令如下:
ssh-copy-id -i node1
ssh-copy-id -i node2

实现主节点 master 本地免密码登录。
首先进入到 /root 命令:
cd /root
在进入到 ./.ssh 目录下:
cd ./.ssh/

将公钥写入本地执行命令:
cat ./id_rsa.pub>> ./authorized_keys

adduser atguigu #添加用户
passwd atguigu #修改密码
passwd atguigu #修改密码

输入以下命令进行配置:
vi /etc/sudoers
配置 atguigu 用户的信息:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) ALL

在 /opt 目录下创建 module、software 文件夹。
mkdir module # 创建 module 文件夹
mkdir software # 创建 software 文件夹
修改 module、software 文件夹的所有者 cd。
chown atguigu:atguigu module
chown atguigu:atguigu software
查看文件归属。
ls -al

查询是否安装 Java。
rpm -qa|grep java
如果安装的版本低于 1.7,则卸载该 jdk。
sudo rpm -e 软件包
导入 jdk 安装包。

导入 Hadoop 安装包。

cd software/
ls

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
获取 jdk 路径。
进入 jdk 的解压路径,输入以下命令即可查看 jdk 路径:
pwd

打开 /etc/profile 文件:
输入以下命令打开 profile 文件。
sudo vi /etc/profile
输入以下命令配置 Java 环境变量。
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
保存退出。
配置 jdk 环境生效。
source /etc/profile
测试 jdk 是否安装成功。
java -version

重启(如果 java -version 可以用就不用重启)。
sync
sudo reboot
cd /opt/software/
tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/
ls /opt/module/

获取 Hadoop 安装路径。
进入 Hadoop 路径,输入以下命令查看 Hadoop 安装路径。
pwd

打开 /etc/profile 文件。
使用 vim 打开 profile 文件。
sudo vi /etc/profile
编辑 Hadoop 环境。
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
保存退出。
Hadoop 环境生效。
source /etc/profile
测试 Hadoop 是否安装成功。
hadoop version

重启(如果 hadoop version 可以用就不用重启)。
sync
sudo reboot
进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
修改该目录下的 slaves 文件。
使用 vim 编辑 slaves 文件。
vim slaves
删除原来的内容,修改为如下内容。
node1
node2

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
修改该目录下的 hadoop-env.sh 文件。
添加 JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_144

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
修改该目录下的 core-site.xml 文件。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
修改该目录下的 hdfs-site.xml 文件。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
修改该目录下的 yarn-site.xml 文件。
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。
cd /opt/module/hadoop-2.7.2/etc/hadoop
复制 mapred-site.xml.template 为 mapred-site.xml。
cp mapred-site.xml.template mapred-site.xml
修改该目录下的 mapred-site.xml 文件。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>

scp -r /opt/module/hadoop-2.7.2 node1:/opt/module/hadoop-2.7.2
scp -r /opt/module/hadoop-2.7.2 node2:/opt/module/hadoop-2.7.2
scp -r /opt/module/hadoop-2.7.2 node2:/opt/module/hadoop-2.7.2
首先看下 hadoop-2.7.2 目录下有没有 tmp 文件夹。 如果没有执行一次格式化命令:
cd /opt/module/hadoop-2.7.2 #进入 hadoop 安装目录
./bin/hdfs namenode -format # 格式化命令
执行完格式化命令会生成 tmp 文件。
启动 Hadoop。
输入以下命令启动 Hadoop。
cd /opt/module/hadoop-2.7.2 #进入 hadoop 安装目录
./sbin/start-all.sh #启动程序
验证主节点进程。
输入以下命令查看进程:
jps #显示所有 java 进程 pid
主节点进程:
- ResourceManager
- NameNode
- SecondaryNameNode

子节点进程
- DataNode
- NodeManager

④ 验证 HDFS:
浏览器登录地址:192.168.182.133:50070(ip 地址是 master 节点的地址)。
出现以下界面则证明 HDFS 安装成功:

刚搭建完成,什么都没有。
PS:
如果第一次启动失败了,请重新检查配置文件或者哪里步骤少了。 再次重启的时候 需要手动将每个节点的 tmp 目录删除:
rm -rf /opt/module/hadoop-2.7.2/tmp
然后在<font color=“red”>主节点</font>执行以下命令格式化 namenode。
./bin/hdfs namenode -format

文章相关附件可以点击下面的原文链接前往下载:
https://ost.51cto.com/resource/2334。