伪分布式搭建hadoop

  • 伪分布模式
  • 准备工作
  • 以root权限修改ip,配置关网等
  • 修改完IP地址后,需要重启网络服务
  • 查看ip和是否能ping通
  • 修改主机名
  • 修改域名映射文件
  • 关闭防火墙
  • ssh免密登陆
  • 安装JDK
  • 卸载之前的JDK
  • 上传JDK安装包到指定的路径
  • 创建目录
  • 解压JDK到指定安装路径
  • 配置环境变量
  • 重新引导,使得环境变量生效
  • 验证JDK是否配置完成
  • 安装Hadoop
  • 解压安装
  • 配置环境变量
  • 重新引导,使得环境变量生效
  • 验证是否配置成功
  • 配置文件修改
  • 修改core-site.xml
  • 修改hdfs-site.xml
  • 修改hadoop-env.sh
  • 格式化集群
  • 启动集群(启动全部:start-all.sh)
  • 启动hdfs
  • 启动yarn
  • 查看进程
  • 访问192.168.239.239:50070
  • 访问192.168.239.239:8088
  • 关闭服务


伪分布模式

伪分布式模式也是只需要一台机器,但是与本地模式的不同,伪分布式使用的是分布式的思想,具有完整的分布式文件存储和分布式计算的思想。只不过在进行存储和计算的时候涉及到的相关的守护进程都运行在同一台机器上,都是独立的Java进程。因而称为伪分布式集群。比本地模式多了代码调试功能,允许检查内存使用情况、HDFS输入输出、以及其他的守护进程交互。

总结来说: 伪分布式集群就是只有一个节点的分布式集群。

准备工作

以root权限修改ip,配置关网等

查看网络编辑器

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_hadoop

vi  /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=b17a5305-0168-4609-9bbd-17cfa4ad8896
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.239.239
NETMASK=255.255.255.0
GATEWAY=192.168.239.2
DNS1=8.8.8.8
DNS2=114.114.114.114
~

修改完IP地址后,需要重启网络服务

systemctl restart network

查看ip和是否能ping通

ip addr

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_big data_02

ping baidu.com

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_bash_03

修改主机名

用xshell连接

#修改主机名的两种方式
hostname hadoop
hostnamectl set-hostname hadoop

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_big data_04

修改域名映射文件

vi /etc/hosts

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_big data_05

关闭防火墙

systemctl stop firewalld
systemctl status firewalld

ssh免密登陆

ssh-keygen -t rsa

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_bash_06

ssh-copy-id hadoop

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_hadoop_07

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_hdfs_08

安装JDK

卸载之前的JDK

卸载之前的原因,主要是需要保证安装的JDK版本的正确性。

# 查看是否有jdk
rpm -qa | grep jdk

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_linux_09


rpm -e xxxxxxxx --nodeps # 将查询到的内置jdk强制卸载

rpm -e java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64 --nodeps
rpm -e java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 --nodeps
rpm -e java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64 --nodeps
rpm -e java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64 --nodeps

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_big data_10

上传JDK安装包到指定的路径

创建目录

mkdir  /root/softwares

使用Xftp直接上传即可,上传到 /root/softwares 下

flume 自动hadoop伪分布式安装脚本 hadoop伪分布式搭建_big data_11

解压JDK到指定安装路径

cd /root/softwares
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

配置环境变量

vim /etc/profile
...上述内容省略,在末尾添加即可...
# Java Environment
export JAVA_HOME=/usr/local/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

重新引导,使得环境变量生效

source /etc/profile

验证JDK是否配置完成

java -version

安装Hadoop

上传Hadoop到指定的路径

解压安装

cd /root/softwares && tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local

配置环境变量

vim /etc/profile
...上述内容省略,在最下方添加即可...
# Hadoop Environment
export HADOOP_HOME=/usr/local/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重新引导,使得环境变量生效

source /etc/profile

验证是否配置成功

hadoop version

配置文件修改

#进入/usr/local/hadoop-2.7.7/etc/hadoop
cd /usr/local/hadoop-2.7.7/etc/hadoop

修改core-site.xml

vim core-site.xml
<configuration>
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop:8020</value>
</property>

<property>
	<name>io.file.buffer.size</name>
	<value>131072</value>
</property>

<property>
	<name>hadoop.tmp.dir</name>
	<value>file:/usr/temp</value>
</property>

</configuration>

修改hdfs-site.xml

vim hdfs-site.xml
<configuration>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

<property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/usr/nntemp</value>
</property>

<property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/usr/dntemp</value>
</property>

<property>
	<name>dfs.block.size</name>
	<value>134217728</value>
</property>

<property>
	<name>dfs.http.address</name>
	<value>hadoop:50070</value>
</property>

<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop:9001</value>
</property>

<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>

<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

</configuration>

修改hadoop-env.sh

vim hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_171

格式化集群

hdfs namenode -format

启动集群(启动全部:start-all.sh)

启动hdfs

start-dfs.sh

启动yarn

start-yarn.sh

查看进程

jps

访问192.168.239.239:50070

访问192.168.239.239:8088

关闭服务

stop-all.sh