(四)大数据学习之Hadoop环境搭建

1.hadoop目录结构

Hadoop目录结构

2.Hadoop安装准备工作:

(1)安装好linux操作系统
(2)关闭防火墙
(3)在linux上安装JDK

3.安装Hadoop

(1)将Hadoop安装包拷贝到/opt/software文件目录下
(2)将Hadoop安装包解压到/opt/module文件目录下
命令为:

tar -zxvf hadoop-2.8.4.tar.gz -C /opt/module          //将hadoop-2.8.4.tar.gz解压到/opt/module目录下

(3)配置环境变量
a.修改环境变量配置文件

修改命令:

vi ~/.bash_profile          //修改环境变量的文件

添加的内容为:

HADOOP_HOME=/opt/module/hadoop-2.8.4
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

b.使环境变量生效
输入命令:

source ~/.bash_profile

c.验证是否配置成功
输入命令:

start      // 按两下tab键,会出现提示,则证明配置成功

4.Hadoop安装---本地安装(没有HDFS和Yarn,只能够测试MR程序是否成功)

a.进入hadoop-2.8.4/etc/hadoop文件夹
输入命令:

cd /opt/module/hadoop-2.8.4/etc/hadoop              //进入hadoop-2.8.4/etc/hadoop文件夹

b.修改配置文件hadoop-env.sh:
输入命令:

vi hadoop-env.sh                             //修改hadoop-env.sh文件

修改内容为:

export JAVA_HOME=/opt/module/jdk1.8.0_144          //修改JAVAHOME地址,改为自己建的jdk地址,应该在25行              
jdk

c.验证(运行一个MR程序)
(1)在/root/temp目录下创建一个a.txt文件
(2)修改a.txt文件

touch a.txt                                 //新建a.txt文件
vi a.txt                                    //修改a.txt

i am a tiger you are also a tiger           //添加内容

(3)进入/opt/module/hadoop-2.8.4/share/hadoop/mapreduce文件夹下
(4)运行wordcount程序 hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount ~/temp/a.txt ~/temp/output/wc0717

cd /opt/module/hadoop-2.8.4/share/hadoop/mapreduce   //进入文件夹

//hadoop jar 程序包 函数名 输入文件地址(这里是本地linux路径,因为本地模式没有hdfs) 输出文件地址
hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount ~/temp/a.txt  ~/temp/output/wc0717     //执行MR程序

运行成功后,会在/root/temp/output/文件夹下,生产wc0717文件下,此文件夹下有两个文件part-r-000000和_SUCCESS


wordcount程序运行结果

5.Hadoop安装---伪分布式安装(安装完伪分布式后,本地模式就不起作用)

(1)特点:在一台机器上模拟一个分布式环境具备的Hadoop的所有功能
HDFS:NameNode+DataNode+SecondarynameNode
Yarn:ResourceManager+NodeManager
(2)修改配置文件
step1:修改hadoop-env.sh文件(如本地模式)
命令:

vi /opt/module/hadoop-2.8.4/etc/hadoop/hadoop-env.sh

修改内容为:

export JAVA_HOME=/opt/module/jdk1.8.0_144
jdk

step2: 修改hdfs-site.xml 文件

cd /opt/module/hadoop-2.8.4/etc/hadoop              //进入etc/hadoop目录

vi hdfs-site.xml                          // 修改hdfs-site.xml文件

添加内容为:


<!--配置数据块的冗余度,默认是3,这里因为是伪分布模式,只有一台机器,因此设置为1-->
<property>
    <name>dfs.replication</name>
    <value>1</value>      
</property> 
<!-- 配置HDFS的权限检查,默认是true-->
<!--
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>  
-->
hdfs-site.xml

step3:修改core-site.xml

vi core-site.xml

修改内容为:

<!--配置HDFS的主节点,namenode地址,9000是RPC通信端口-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop:9000</value>
</property> 
<!--配置HDFS数据块和元数据保存的目录,一定要修改 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.8.4/data/tmp</value>      
</property> 
core-site.xml

step4:修改mapred-site.xml(默认是没有的,需要从mapred-site.xml.template复制转化而来)

命令:

cp mapred-site.xml.template mapred-site.xml       //从mapred-site.xml.template转化
    
vi mapred-site.xml             //修改mapred-site.xml 文件

修改内容为:

<!--配置MR程序运行的框架,Yarn-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>      
</property>            
mapred-site.xml

step5: 修改yarn-site.xml

命令:

vi yarn-site.xml 

修改内容为:

<!--配置Yarn的节点-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop</value>      
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>      
</property>
yarn-site.xml

step6:通过HDFS namenode格式化

输入命令:

cd /opt/module/hadoop-2.8.4/tmp         //这里是step3配置的HDFS数据库和元数据存储目录

hdfs namenode -format                  //格式化

验证是否成功,成功后回显示:

Storage: Storage directory /opt/module/hadoop-2.8.4/tmp/dfs/name has been successfully formatted

验证格式化成功

注意
重复格式化,hadoop.tmp.dir 先停止集群,然后在删除tmp文件夹,再重新新建tmp文件夹,重新格式化,然后再启动集群
step7: 启动

命令:

start-all.sh            //启动
启动伪分布式

共需要输入4次linux登录密码

启动成功验证:

jps
启动成功验证

web验证:
http://192.168.127.121:8088 yarn
http://192.168.127.121:50070 HDFS

6.免密码登录的原理和配置

ssh不对称加密算法(加密和解密是两个文件)
(1)原理

  • 公钥--锁:给出去,给其他机器
  • 私钥--钥匙:自己留着,解密


    SSH免密码登录原理

(2)配置免密码登录
输入命令:

ssh-keygen -t rsa    //然后三次回车

ssh-copy-id -i ~/.ssh/id_rsa.pub  root@bigdata121        //自己也要拷贝给自己,中途输入linux登录密码
ssh-copy-id -i ~/.ssh/id_rsa.pub  root@bigdata122
ssh-copy-id -i ~/.ssh/id_rsa.pub  root@bigdata123
ssh-copy-id -i ~/.ssh/id_rsa.pub  root@bigdata124
ssh-copy-id -i ~/.ssh/id_rsa.pub  root@bigdata125

所有机器需要拷贝过去
(3)验证:

ssh bigdata122           //会显示登录上bigdata122

7.Hadoop安装-全分布安装

(1)规划:
192.168.127.121 bigdata121 主节点
192.168.127.122 bigdata122 从节点
192.168.127.123 bigdata123 从节点

全分布式规划

(2)准备工作:
step1:安装jdk,关闭防火墙,设置ssh免密码登录,在etc/hosts添加主机名
step2:时间同步,
a.如果能上网,使用网络时间
b.不能上网,date -s 2019-07-17(同时操作多台机器)或者npt,用机器里面指定一个服务器,作为时钟服务器
step3:修改配置文件

  • 修改hadoop-env.sh

命令:

vi hadoop-env.sh                             //修改hadoop-env.sh文件

修改内容为:

export JAVA_HOME=/opt/module/jdk1.8.0_144          //修改JAVAHOME地址,改为自己建的jdk地址,应该在25行              
jdk
  • 修改hdfs-site.xml

命令:

cd /opt/module/hadoop-2.8.4/etc/hadoop              //进入etc/hadoop目录

vi hdfs-site.xml                          // 修改hdfs-site.xml文件

修改内容为:

<!--配置数据块的冗余度,默认是3-->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property> 
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop2:50090</value>
</property>
<!-- 配置HDFS的权限检查,默认是true-->
<!--
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>  
-->
hdfs-site.xml
  • 修改core-site.xml
    命令:
vi core-site.xml

修改内容为:

<!--配置HDFS的主节点,namenode地址,9000是RPC通信端口-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop:9000</value>
</property> 
<!--配置HDFS数据块和元数据保存的目录,一定要修改 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.8.4/data/tmp</value>      
</property> 
core-site.xml
  • 修改mapred-site.xml(默认是没有的,需要从mapred-site.xml.template复制转化而来)

命令:

cp mapred-site.xml.template mapred-site.xml       //从mapred-site.xml.template转化
    
vi mapred-site.xml             //修改mapred-site.xml 文件

修改内容为:

<!--配置MR程序运行的框架,Yarn-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>      
</property>            
mapred-site.xml
  • 修改yarn-site.xml

命令:

vi yarn-site.xml 

修改内容为:

<!--配置Yarn的节点-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop</value>      
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>      
</property>
yarn-site.xml
  • 修改slaves

命令:

vi slaves

修改内容为:

hadoop2            //bigdata122作为从节点
hadoop3            //bigdata123作为从节点
slaves
  • 通过HDFS namenode格式化

命令:

cd /opt/module/hadoop-2.8.4/tmp         //这里是step3配置的HDFS数据库和元数据存储目录

hdfs namenode -format                  //格式化

验证是否成功,成功后回显示:

Storage: Storage directory /opt/module/hadoop-2.8.4/tmp/dfs/name has been successfully formatted
验证格式化成功

注意
重复格式化,hadoop.tmp.dir 先停止集群,然后在删除tmp文件夹,再重新新建tmp文件夹,重新格式化,然后再启动集群

  • 通过scp拷贝,将bigdata121配置好的hadoop发送到另外两太机器上:

命令:

scp -r /opt/moudle/hadoop-2.8.4/ root@bigdata122:/opt/moudle/         //拷贝到bigdata122

scp -r /opt/moudle/hadoop-2.8.4/ root@bigdata123:/opt/moudle/         //拷贝到bigdata122
  • 启动Hadoop集群

输入命令

start-all.sh             //在bigdata121中启动,因为此机器是主节点

验证是否启动:
bigdata121


bigdata121启动

bigdata122


bigdata122启动

bigdata123
bigdata123启动

与规划的相同,故Hadoop全分布安装成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容