HADOOP的搭建和配置(一)基础环境配置

HADOOP的搭建和配置(一)基础环境配置,第1张

HADOOP的搭建和配置(一)基础环境配置 PART1:Linux基础环境配置

步骤一:查看ip

[root@VM-M-01594949483071 ~]# ip a

 

[root@VM-M-01594949481966 ~]# ip a

[root@VM-M-01594949480907 ~]# ip a  

步骤四:修改主机名

[root@VM-M-01594949483071 ~]# hostnamectl set-hostname master

[root@VM-M-01594949483071 ~]# bash 

[root@VM-M-01594949481966 ~]# hostnamectl set-hostname slave1

[root@VM-M-01594949481966 ~]# bash 

[root@VM-M-01594949480907 ~]# hostnamectl set-hostname slave2

[root@VM-M-01594949480907 ~]# bash

步骤五:主机映射

[root@master ~]# vi /etc/hosts

[root@slave1 ~]# vi /etc/hosts

[root@slave2 ~]# vi /etc/host

保存并退出 

实验任务二:时钟同步

步骤一:修改配置文件

[root@master ~]# vi /etc/sysconfig/ntpd

  

[root@slave1 ~]# vi /etc/sysconfig/ntpd

  

[root@slave2 ~]# vi /etc/sysconfig/ntpd

   

图1-5配置文件内容

保存并退出

步骤二:同步时间

[root@master ~]# systemctl start ntpd

[root@master ~]# date

  

[root@slave1 ~]# systemctl start ntpd

[root@slave1 ~]# date

  

 

[root@slave2 ~]# systemctl start ntpd

[root@slave2 ~]# date

  

图1-6时间同步查看

实验任务三:防火墙

步骤一:关闭防火墙(三台都要关闭)

[root@master ~]# systemctl stop firewalld.service

[root@slave1 ~]# systemctl stop firewalld.service

[root@slave2 ~]# systemctl stop firewalld.service

 

步骤二:关闭防火墙自启

[root@master ~]# systemctl disable firewalld

[root@slave1 ~]# systemctl disable firewalld

[root@slave2 ~]# systemctl disable firewalld

步骤三:查看防火墙状态

[root@master ~]# systemctl status firewalld

[root@slave1 ~]# systemctl status firewalld

[root@slave2 ~]# systemctl status firewalld

实验任务四:ssh免密

步骤一:创建免密(三个主机同时进行)

[root@master ~]# su - hadoop

[hadoop@master ~]$ ssh-keygen -t rsa -P ""

输入回车

[root@slave1 ~]# su - hadoop

[hadoop@slave1 ~]$ ssh-keygen -t rsa -P ""

[root@slave2 ~]# su - hadoop

[hadoop@slave2 ~]$ ssh-keygen -t rsa -P ""

  

  

 

 

步骤二:创建公钥

[hadoop@master ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

[hadoop@slave1 ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

[hadoop@slave2 ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

步骤三:给公钥执行权限

[hadoop@master ~]$ chmod 700 ~/.ssh/authorized_keys

[hadoop@slave1 ~]$ chmod 700 ~/.ssh/authorized_keys

[hadoop@slave2 ~]$ chmod 700 ~/.ssh/authorized_keys 

步骤四:将公钥传输给slave1和slave2

[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/ 

[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/ 

第一次传输是需要输入密码的,后面就不用了

步骤五:登陆测试

[hadoop@master ~]$ ssh slave1

[hadoop@master ~]$ ssh slave2

 

 

好了,这是登陆成功了

PART2:Hadoop集群部署

实验任务一:Hadoop软件安装
 

步骤一:解压安装Hadoop
 

[hadoop@master ~]$ su root

[root@master hadoop]$ cd

[root@master ~]# tar -zxvf /opt/software/hadoop-2.7.1.tar.gz -C /usr/local/src/

步骤二:更改hadoop文件名

[root@master ~]# mv /usr/local/src/hadoop-2.7.1 /usr/local/src/hadoop

步骤三:配置hadoop环境变量

[root@master ~]# vi /etc/profile

进行如下配置

export HADOOP_HOME=/usr/local/src/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存并退出

步骤四:修改目录所有者和所有者组

上述安装完成的Hadoop软件只能让root用户使用,要让hadoop用户能够运行Hadoop软件,需要将目录/usr/local/src的所有者改为hadoop用户。

[root@master ~]#  chown -R hadoop:hadoop /usr/local/src

[root@master ~]# ll /usr/local/src/

 

实验任务二:安装JAVA环境

步骤一:解压安装jdk

[root@master ~]# tar -zxvf  /opt/software/jdk-8u152-linux-x64.tar.gz -C /usr/local/src 

步骤二:更改jdk的名称


 

[root@master ~]# mv /usr/local/src/jdk1.8.0_152/ /usr/local/src/java

[root@master ~]# chown -R hadoop:hadoop /usr/local/src/java

步骤三:配置java的环境变量


 

[root@master ~]# vi /etc/profile


 

配置如下环境

export JAVA_HOME=/usr/local/src/java #JAVA_HOME指向JAVA安装目录

export PATH=$PATH:$JAVA_HOME/bin #将JAVA安装目录加入PATH路径 

保存并退出

步骤四:生效环境变量


 

[root@master ~]# source /etc/profile

[root@master ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@master ~]# update-alternatives --set java /usr/local/src/java/bin/java

步骤五:查看java和hadoop

[root@master ~]# java -version

[root@master ~]# hadoop version

 

 

 

这样就是安装成功了

PART3:集群配置

步骤一:进入到hadoop配置文件的目录下hadoop

[root@master ~]# cd /usr/local/src/hadoop/etc/hadoop 

步骤二:配置core-site.xml

[root@master hadoop]# vi core-site.xml

在文件里添加如下配置



        

               fs.defaultFS

               hdfs://master:9000

        

        

               hadoop.tmp.dir

               file:/usr/local/src/hadoop/tmp

        

保存并退出

步骤三:配置hadoop-env.sh

[root@master hadoop]# vi hadoop-env.sh

在文件的最下方添加如下环境配置

export JAVA_HOME=/usr/local/src/java

export HADOOP_PERFIX=/usr/local/src/hadoop

export HADOOP_OPTS="-Djava.library.path=$HADOOP_PERFIX/lib:$HADOOP_PERFIX/lib/natice" 

保存并退出

步骤四:配置hdfs-site.xml

[root@master hadoop]# vi hdfs-site.xml

在文件里添加如下配置



        

               dfs.namenode.name.dir

               file:/usr/local/src/hadoop/dfs/name

        

        

               dfs.datanode.data.dir

               file:/usr/local/src/hadoop/dfs/data

        

        

               dfs.replication   

               3

        

保存并退出

步骤五:配置mapred-site.xml

将副本拷贝成mapred-queues.xml

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml 

[root@master hadoop]# vi mapred-site.xml

在文件里添加如下配置



        

               mapreduce.framework.name

               yarn

        

        

               mapreduce.jobhistory.address

               master:10020

        

        

               mapreduce.jobhistory.webapp.address

               master:19888

        

 

保存并退出

步骤六:配置yarn-site.xml

[root@master hadoop]# vi yarn-site.xml

在文件里添加如下配置



        

               yarn.resourcemanager.address

               master:8032

        

        

               yarn.resourcemanager.scheduler.address

               master:8030

        

        

               yarn.resourcemanager.resource-tracker.address

               master:8031

        

        

               yarn.resourcemanager.admin.address

               master:8033

        

        

               yarn.resourcemanager.webapp.address

               master:8088

        

        

               yarn.nodemanager.aux-services

               mapreduce_shuffle

        

        

               yarn.nodemanager.aux-services.mapreduce.shuffle.class

               org.apache.hadoop.mapred.ShuffleHandler

        

 

保存并退出

步骤七:配置masters文件

执行以下命令修改masters配置文件。

[root@master hadoop]# vi masters  #加入以下配置信息

master 

保存并退出

步骤八:配置slaves

[root@master hadoop]# vi slaves

在文件里改成如下配置

slave1

slave2

保存并退出

步骤九:创建目录

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/name

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/data

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/tmp 

实验任务四:主从节点文件的分发

步骤一:分发hadoop目录

[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/java/ root@slave1:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/java/ root@slave2:/usr/local/src/

步骤二:分发环境配置

[root@master hadoop]# scp -r /etc/profile root@slave1:/etc/ 

[root@master hadoop]# scp -r /etc/profile root@slave2:/etc/ 

在每个Slave节点上修改/usr/local/src/hadoop目录的权限

[root@master ~]# chown -R hadoop:hadoop /usr/local/src/hadoop/

[root@slave1~]# chown -R hadoop:hadoop /usr/local/src/hadoop/ 

[root@slave2~]# chown -R hadoop:hadoop /usr/local/src/hadoop/ 

步骤三:生效环境配置

[root@slave1 ~]# source /etc/profile

[root@slave1 ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@slave1 ~]# update-alternatives --set java /usr/local/src/java/bin/java

[root@slave2 ~]# source /etc/profile

[root@slave2 ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@slave2 ~]# update-alternatives --set java /usr/local/src/java/bin/java

实验三:Hadoop集群启动测试

实验任务一:hadoop启动

步骤一:格式化元数据

进入hadoop用户

[root@master hadoop]# su hadoop

[hadoop@master hadoop]$ source /etc/profile

[root@slave1 hadoop]# su hadoop

[hadoop@slave1 hadoop]$ source /etc/profile

[root@slave2 hadoop]# su hadoop

[hadoop@slave2 hadoop]$ source /etc/profile

[hadoop@master hadoop]$ hdfs namenode -format

状态为0显示的是成功

 

步骤二:启动hdfs

[hadoop@master ~]$ start-dfs.sh

  

步骤三:启动yarn

[hadoop@master ~]$ start-yarn.sh

 

实验任务二:hadoop的查看

步骤一:进程的查看

[hadoop@master ~]$ jps

  

  

 

步骤二:master:50070查看

进入到浏览器查看

 

步骤三:master:8088查看

查看成功

  

步骤四:master:9000查看

显示有人访问

  

实验任务三:mapreduce测试

步骤一:创建一个测试文件

[hadoop@master ~]$ vi a.txt

内容如下:

HELLO WORD

HELLO HADOOP

HELLO JAVA

步骤二:在hdfs创建文件夹

[hadoop@master ~]$ hadoop fs -mkdir /input

步骤三:将a.txt传输到input上

[hadoop@master ~]$ hadoop fs -put ~/a.txt /input

步骤四:进入到jar包测试文件目录下

[hadoop@master hadoop]$ cd /usr/local/src/hadoop/share/hadoop/mapreduce/ 

步骤五:测试mapreduce

[hadoop@master mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input/a.txt /output

成功如下:

  

 

  

  

注:如果需要重复执行,需要删除输出目录,否则会报错

[hadoop@master mapreduce]$ hdfs dfs -rm -r -f /output

步骤六:查看hdfs下的传输结果

[hadoop@master mapreduce]$ hadoop fs -lsr /output

 

步骤七:查看文件测试的结果

[root@master mapreduce]# hadoop fs -cat /output/part-r-00000

 

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5680937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存