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/hadoopexport 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
在文件里添加如下配置
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/src/hadoop/tmp</value></property></configuration>
保存并退出
步骤三:配置hadoop-env.sh
[root@master hadoop]# vi hadoop-env.sh
在文件的最下方添加如下环境配置
export JAVA_HOME=/usr/local/src/javaexport HADOOP_PERFIX=/usr/local/src/hadoopexport HADOOP_OPTS="-Djava.library.path=$HADOOP_PERFIX/lib:$HADOOP_PERFIX/lib/natice"
保存并退出
步骤四:配置hdfs-site.xml
[root@master hadoop]# vi hdfs-site.xml
在文件里添加如下配置
<configuration><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/src/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/src/hadoop/dfs/data</value></property><property><name>dfs.replication</name> <value>3</value></property></configuration>
保存并退出
步骤五:配置mapred-site.xml
将副本拷贝成mapred-queues.xml
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vi mapred-site.xml
在文件里添加如下配置
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value></property></configuration>
保存并退出
步骤六:配置yarn-site.xml
[root@master hadoop]# vi yarn-site.xml
在文件里添加如下配置
<configuration><property><name>yarn.resourcemanager.address</name><value>master:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>master:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>master:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>master:8088</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property></configuration>
保存并退出
步骤七:配置masters文件
执行以下命令修改masters配置文件。
[root@master hadoop]# vi masters #加入以下配置信息
master
保存并退出
步骤八:配置slaves
[root@master hadoop]# vi slaves
在文件里改成如下配置
slave1slave2
保存并退出
步骤九:创建目录
[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
HADOOP的搭建和配置(一)基础环境配置相关推荐
- 从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN)
从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN) 首先先声明一下 这篇是转载来自 : 从零开始搭建深度学习服务器: 基础环境配置( ...
- OpenStack(M)+ ubuntu 搭建学习二:基础环境配置
目录 一.配置网络接口 二.配置域名解析 三 .配置国内的软件源 四. 启用OpenStack库 五.安装OpenStack客户端 六.同步系统时钟与时钟服务器(NTP) 具体步骤可参考官方文档:Op ...
- Hadoop高可用集群搭建-1、服务器等基础环境配置
1. 服务器集群 hostname IP user password path os spark01 192.168.0.201 hadoopadmin java home/hadoopadmin U ...
- 大数据基础平台搭建-(一)基础环境准备
大数据基础平台搭建-(一)基础环境准备 大数据平台系列文章: 1.大数据基础平台搭建-(一)基础环境准备 2.大数据基础平台搭建-(二)Hadoop集群搭建 3.大数据基础平台搭建-(三)Hadoop ...
- 微服架构基础设施环境平台搭建 -(一)基础环境准备
微服架构基础设施环境平台搭建 -(一)基础环境准备 通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekin ...
- 不过如此! jdk 的安装/配置环境变量 jdk与openjdk 的区别 jdk 官网下载所需账号密码 虚拟机基础环境配置 超详细安装教程/介绍 Ubuntu18.04 SDN软件定义网络实验
前情提要:我们已经完成了虚拟机的联网.ssh + vmtools + net-tools + vim的基础环境配置.接下来将进行jdk的安装与环境变量的配置,并介绍jdk与openjdk的区别,分享一 ...
- VMware搭建分布式集群基础环境
VMware搭建分布式集群基础环境 1. 前言 在日常学习.工作当中,我们经常需要用到分布式集群环境,如zookeeper集群.redis集群.大数据集群等,而通常并没有那么多的物理机器可以使用,因此 ...
- OpenStack 的部署T版(一)——基础环境配置
目录 一.资源规划 二.基础环境配置 1.修改添加NAT网卡配置 2.防火墙.核心防护.主机名 3.配置在线源 4.基础环境依赖包 5.VMnet1网卡配置参数 6.配置映射 7.免交互 8.时间同步 ...
- 【No.1 Ionic】基础环境配置
Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...
- python基础环境配置教程
python基础环境配置教程 下载vscode 1.输入网址:https://code.visualstudio.com/ 2.下载windows版vscode并安装. 下载慢的话在自己的浏览器中找到 ...
最新文章
- 算法-------二分法查找
- python 单例模式的四种创建方式
- 7.3.4 异步IO(Asynchronous I/O)
- 品质管控计划ppt怎样写_品质管理需要做好几件事
- 2021牛气新年素材模板,你真的不来看一看吗?
- 帆软报表跨域之插件开发中Controller中定义的方法实现CROS的GET跨域,且请求头带自定义属性
- 特征和多项式回归--machine learning
- android中文朗读包,Android 通过手说tts中文语音包实现中文朗读
- 在国产银河麒麟v10操作系统下安装亿图图示(VISIO替代品)
- Gbase与oracle数据库的区别
- itools苹果录屏大师_【智慧技术】上网课没有手写板怎么办?AirPlayer(苹果录屏大师)秒将苹果手机“操作界面quot;或quot;摄像头quot;投屏到电脑上...
- SQL2008升级SQL2008R2完全教程
- java 优势和劣势
- linux修改shell前缀,Linux shell控制台改变显示前缀
- 网站流量的统计中的IP、PV、UV
- Kaggle案例泰坦尼克号问题
- android m3u8 合并,M3u8合并APP
- 高仿微信 Windows 端
- RSS/RPS/RFS究竟是个什么东西
- 互联网技术研发管理之绩效管理提升