系统相关
首页 > 系统相关> > Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)

Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)

作者:互联网

@Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)

Hadoop2.6.5完全分布式环境搭建超详细教程(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)

准备好所需要jdk、hadoop文件,我采用的是

文件名称文件版本号
javajdk-8u60-linux-x64.tar.gz
hadoophadoop-2.6.5.tar.gz

ubuntu虚拟机配置相关(根据自己需要而定)

虚拟机(共计四台,一台主节点master、三台从节点slave)
hostname 用户名 密码 内存 磁盘 ip
master hadoop ****** 2G 50G 192.168.255.**1
slave1 hadoop ****** 1G 20G 192.168.255.**2
slave2 hadoop ****** 1G 20G 192.168.255.**3
slave3 hadoop ****** 1G 20G 192.168.255.**4

Ubuntu18.04
启动虚拟机之前开启:打开任务管理器->点击“服务”->点击“打开服务”,找到VMware DHCP Service和VMware NAT Service并打开,许多电脑拥有防护软件导致VMware DHCP Service和VMware NAT Service两个服务自行开机启动失效。

虚拟机开机启动顺序

1.master 192.168.255.**1

2.slave11 192.168.255.**2

3.slave12 192.168.255.**3

4.slave13 192.168.255.**4

网络配置

四台机器上:
sudo vim /etc/hostname分别改成master、slave1、slave2、slave3

sudo vim /etc/hosts添加:

192.168.255.**1 master
192.168.255.**2 slave1
192.168.255.**3 slave2
192.168.255.**4 slave3

准备步骤

注意★★★
ubuntu安装后,root 用户默认是被锁定了的,不允许登录,也不允许su到 root 。
允许su到 root,sudo passwd
设置自己的root密码

更新软件源:
sudo apt-get update

添加为用户sudoer权限
全部用户为hadoop
切换到root添加hadoop用户权限

sudo vim /etc/sudoers
root ALL=(ALL:ALL) ALL下添加
hadoop ALL=(ALL:ALL) ALL

配置jdk环境

sudo vim /etc/profile

# for java
export JAVA_HOME=/usr/jdk1.8.0_60
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

普通用户环境变量

# for java
export JAVA_HOME=/usr/jdk1.8.0_60
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

然后source .bashrc

java -version
查看jdk是否安装配置成功

ssh相互免密钥登录

ssh可相互之间ssh通:

每个节点生成ssh密钥:

ssh-keygen -t rsa

一路回车
在~/.ssh下生成id_rsa id_rsa.pub

cd ~/.ssh/
在主节点上将公钥拷到一个特定文件authorized_keys中

cp id_rsa.pub authorized_keys

将authorized_keys文件拷到下一个节点,并将该节点的ssh密钥id_rsa.pub加入该文件中。

拷贝

scp authorized_keys  hadoop@192.168.255.***:~/.ssh/
cat id_rsa.pub >> authorized_keys #使用cat追加方式加入

最后一个节点的authorized_keys拷贝到前面1、2、3中

注意★★★
取消ssh每次都要询问yes/no
sudo vim /etc/ssh/ssh_config中的
StrictHostKeyChecking ask 改成

   StrictHostKeyChecking no 

hadoop环境变量配置

同jdk配置类似:
sudo vim /etc/profile

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

gedit .bashrc(同上)

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改文件属组权限

在/usr目录下

sudo chown hadoop:hadoop jdk1.8.0_60/
sudo chown hadoop:hadoop hadoop-2.6.5/

冷酷一点全部777

sudo chmod 777 jdk1.8.0_60/
sudo chmod 777 hadoop-2.6.5/

hadoop version
查看hadoop是否安装配置成功

★★★Hadoop完全分布式环境搭建与配置

仅仅在master上面做,之后传入slave节点即可。

sudo vim /usr/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
加入export JAVA_HOME=/usr/jdk1.8.0_60

hadoop中slave配置文件

sudo vim /usr/hadoop-2.6.5/etc/hadoop/slaves
localhost
master
slave1
slave2
slave3

hadoop配置文件都在/usr/hadoop-2.6.5/etc/hadoop/里

hadoop中core-site.xml配置文件

sudo vim /usr/hadoop-2.6.5/etc/hadoop/core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop-2.6.5/tmp</value>
        </property>
        <property>
                <name>fs.trash.interval</name>
                <value>1440</value>
        </property>
</configuration>

mkdir hdfs在hdfs下mkdir name、data

hadoop中hdfs-site.xml配置文件
sudo vim /usr/hadoop-2.6.5/etc/hadoop/hdfs-site.xml

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>4</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/usr/hadoop-2.6.5/hdfs/name</value>
        </property>
        <property>
                <name>dfs.namenode.data.dir</name>
                <value>/usr/hadoop-2.6.5/hdfs/data</value>
        </property>
</configuration>

hadoop中mapred-site.xml配置文件
首先将template文件复制成xml文件

sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

sudo vim mapred-site.xml

hadoop中yarn-site.xml配置文件

sudo vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
</configuration>

在主节点master上

hadoop namenode -format

把主节点的hadoop文件拷贝到子节点/usr下

sudo scp -r hadoop-2.6.5 root@slave1:/usr
#(更换slave2、slave3)

启动hadoop

进入hadoop目录下的sbin目录,执行
开启hadoop集群

./start-all.sh

关闭hadoop集群

./stop-all.sh

Hadoop集群可视化界面

ip为:
master的ip地址:8088(如我是192.168.255.132:8088)
master的ip地址:50070(如我是192.168.255.132:50070)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上就是Hadoop完全分布式环境搭建(Ubuntu18.04+hadoop2.6.5+jdk1.8.0)的搭建教程,亲测有效,欢迎大家一起学习交流

QQ(WeChat):312506890

标签:jdk1.8,sudo,Hadoop,192.168,hadoop,export,usr,HOME,hadoop2.6
来源: https://blog.csdn.net/qq_40157042/article/details/111682149