hadoop-3.1.3ubuntu18.04搭建集群

Posted qq_35404985

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop-3.1.3ubuntu18.04搭建集群相关的知识,希望对你有一定的参考价值。

1、在vmwa机、安装ubuntu、一些准备设置

创建虚拟机的时候虚拟机名称填master,

安装ubuntu时姓名和计算机名都填master,用户名填hadoop,

安装完后检查是否能直接拖动文件到虚拟机中,不能的话要安装vmware-tools,安装完后重启,然后将jdk-8u162-linux-x64.tar.gz和hadoop-3.1.3.tar.gz拖动到主目录下,

设置屏幕不自动熄屏

2、配置ip地址

 

 

验证 

3、安装openssh-server、vim(习惯)

sudo apt-get update
sudo apt-get install openssh-server
sudo apt-get install vim

4、安装java和hadoop

cd ~
sudo tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/local/
sudo tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local

给这两个权限,归hadoop用户所有

cd /usr/local
sudo chown -R hadoop hadoop-3.1.3/
sudo chown -R hadoop jdk1.8.0_162

用ll查看结果

配置环境变量

cd ~
vim .bashrc

在.bashrc文件最下面添加

## java 环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_162/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

# hadoop 变量
export HADOOP_HOME=/usr/local/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

使生效

source .bashrc

校验

5、配置hadoop

cd /usr/local/hadoop-3.1.3/etc/hadoop/ 
vim core-site.xml

#添加到<configuration></configuration>中
        <!-- 指定NameNode地址-->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:8020</value>
        </property>

        <!-- 指定hadoop数据的存储目录-->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop-3.1.3/data</value>
        </property>
vim hdfs-site.xml

 <!-- 指定NameNode web-->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>master:9870</value>
        </property>

        <!-- second name node web   -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave2:9868</value>
        </property>
vim mapred-site.xml

 <!-- 指定NameNode地址-->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
vim yarn-site.xml

  <!-- 指定 MR shuffle-->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

        <!-- ResourceManager  addr-->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>slave1</value>
        </property>

                <property>
                <name>yarn.nodemanager.env-whitelist</name>
                <value>JAVA_HOME,HADOOP_CONNON_HONE,HADOOP_HDFS_HONE,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADO0P_MAPRED_HOME</value>
        </property>
vim workers

master
slave1
slave2
vim hadoop-env.sh

HADOOP_SECURE_DN_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_ZKFC_USER=root
HDFS_JOURNALNODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
JAVA_HOME=/usr/local/jdk1.8.0_162/
HADOOP_SHELL_EXECNAME=root

6、修改hosts文件、关闭防火墙

sudo vim /etc/hosts

192.168.33.10 master
192.168.33.11 slave1
192.168.33.12 slave2
# 关闭防火墙
systemctl stop firewalld.service 
# 禁止开机启动
systemctl disable firewalld.service

7、克隆虚拟机

先关闭虚拟机,右键虚拟机-管理-下一步-创建完整克隆-虚拟机名称slave1位置看着选

以同样方式克隆出slave2

克隆完后打开三台虚拟机

8、修改slave1、slave2的ip地址、hostname

  

#在slave1中
hostnamectl set-hostname slave1
##重新使用hadoop登录
sudo login

#在slave2中
hostnamectl set-hostname slave2
sudo login

9、 配置ssh免密登录

分别在三台机器上生成 ssh 链接的私钥和公钥

ssh-keygen -t rsa
#在master下
cd ~/.ssh
touch authorized_keys
cat id_rsa.pub >> authorized_keys

#在slave1下
scp ~/.ssh/id_rsa.pub hadoop@master:~/

#在master下
cd ~
cat id_rsa.pub >> .ssh/authorized_keys

#slave2
scp ~/.ssh/id_rsa.pub hadoop@master:~/

#master
cd ~
cat id_rsa.pub >> .ssh/authorized_keys

#最后查看一下追加的三段公钥,在master中:
cat .ssh/authorized_keys

#然后使用scp命令将master节点里的authorized_keys文件分别上传到slave1和slave2节点的.ssh/目录下,在master中:
scp /home/hadoop/.ssh/authorized_keys hadoop@slave1:~/.ssh/
scp /home/hadoop/.ssh/authorized_keys hadoop@slave2:~/.ssh/


#验证ssh免密登录,远程登录slave1命令,如果想登录其他节点,将slave1改成其他主机的主机名即可
ssh slave1 
#退出命令
exit


10、启动集群

第一次启动初始化HDFS(在master上)


hdfs namenode -format

启动HDFS(在master上)

start-dfs.sh

浏览器访问

192.168.33.10:9870/

停掉集群(在master上)

stop-all.sh

参考:

hadoop-3.1.3 完全分布式集群搭建 - 知乎 (zhihu.com)

(60条消息) 超级无敌详细使用ubuntu搭建hadoop完全分布式集群_ubuntu搭建hadoop集群_普通网友的博客-CSDN博客

以上是关于hadoop-3.1.3ubuntu18.04搭建集群的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu18.04搭建k8s集群

Ubuntu18.04下Python Web环境搭建

HBase2.3.0的安装与单机和伪分布模式的配置

使用ubuntu server18.04 搭建odoo12运行环境

ubuntu18.04搭建nfs

Ubuntu 18.04 LTS 搭建 LAMP 环境