伪分布搭建hadoop
伪分布式搭建hadoop
伪分布模式
伪分布式模式也是只需要一台机器,但是与本地模式的不同,伪分布式使用的是分布式的思想,具有完整的分布式文件存储和分布式计算的思想。只不过在进行存储和计算的时候涉及到的相关的守护进程都运行在同一台机器上,都是独立的Java进程。因而称为伪分布式集群。比本地模式多了代码调试功能,允许检查内存使用情况、HDFS输入输出、以及其他的守护进程交互。
总结来说: 伪分布式集群就是只有一个节点的分布式集群。
准备工作
以root权限修改ip,配置关网等
查看网络编辑器
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
ping baidu.com
修改主机名
用xshell连接
#修改主机名的两种方式
hostname hadoop
hostnamectl set-hostname hadoop
修改域名映射文件
vi /etc/hosts
关闭防火墙
systemctl stop firewalld
systemctl status firewalld
ssh免密登陆
ssh-keygen -t rsa
ssh-copy-id hadoop
安装JDK
卸载之前的JDK
卸载之前的原因,主要是需要保证安装的JDK版本的正确性。
# 查看是否有jdk
rpm -qa | grep jdk
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
上传JDK安装包到指定的路径
创建目录
mkdir /root/softwares
使用Xftp直接上传即可,上传到 /root/softwares 下
解压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