Hadoop安装前的准备⼯作⼀、Hadoop安装前的准备⼯作
1、安装centOS操作系统(参考发的⼤数据⼯具中的Linux⽂件夹下的安装⽂档)
2、使⽤下发的⼤数据⼯具中的SSH_SFTP⼯具进⼊系统中,新建两个⽬录
mkdir /tools ---->⽤于存放软件包
mkdir /training ---->⽤于安装软件
3、安装JDK
(*) 上传到tools⽬录下,然后执⾏下⾯的命令进⾏解压安装
tar -zvxf -C /training/
(*) 配置环境变量:
vi ~/.bash_profile
在.bash_profile⽂件中添加如下信息:
export JAVA_HOME=/training/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
(*) 让环境变量⽣效
source ~/.bash_profile
(*) 验证jdk是否安装成功
java -version
3、关闭防⽕墙(CentOS7下)
systemctl stop firewalld.service
systemctl disable firewalld.service
4、配置主机名(如何已经设置,此步骤可以不⽤设置)
hostnamectl --static set-hostname niit
说明:--static 参数代表永久⽣效 niit表达你希望设置的主机名
⼆、安装hadoop:
(1)上传hadoop-2.7.到tools⽬录下,然后执⾏下⾯的命令进⾏解压安装
tar -zvxf hadoop-2.7. -C /training/
(2)配置环境变量:
vi ~/.bash_profile
添加如下信息:
export HADOOP_HOME=/training/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(3)让环境变量⽣效:
source ~/.bash_profile
(4)验证是否⽣效:
执⾏:hdfs 或者hadopo 有相关信息出现即可linux安装jdk教程
三、hadoop的三种安装⽅式
0、⾸页配置主机名与IP地址的映射关系
vi /etc/hosts
在⽂件的末尾添加类似于
192.168.215.152 niit04这样的格式ip和主机名称选择⾃⼰的即可
1、本地模式(特点:没有HDFS,只能进⾏MapReduce计算,⽽且只操作Linux上的⽂件)
(1)此模式下只需要配置hadoop-env.sh⽂件即可,修改该⽂件:
vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
(2)在hadoop-env.sh ⽂件中到JAVA_HOME,并进⾏如下修改
export JAVA_HOME=/training/jdk1.8.0_171
(3)运⾏MapReduce程序进⾏测试:
测试前需要创建测试⽬录和测试⽂件:
mkdir ~/input
vi ~/
输⼊如下内容:
I love Guiyang
I love Guizhou
Guiyang is the capital of Guizhou
保存退出
进⼊到:cd /training/hadoop-2.7.3/share/hadoop/mapreduce/⽬录下
执⾏:~/output 不需要事先存在,存在会报错
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/ ~/output
查看结果:
cat ~/output/part-r-0000
MapReduce程序的执⾏结果会默认按照英⽂单词的字典顺序进⾏了排序
2、伪分布模式 (特点:具备HDFS全部功能)
(0)新建⼀个tmp⽬录:mkdir /training/hadoop-2.7.3/tmp
(1)配置免密码登录:
执⾏如下命令:
(*)ssh-keygen -t rsa
(*)cd ~/.ssh/
(*)ssh-copy-id -i id_rsa.pub root@niit04
(2)进⼊到/training/hadoop-2.7.3/etc/hadoop⽬录下
cd /training/hadoop-2.7.3/etc/hadoop
需要对五个⽂件进⾏配置:
(*)hadoop-env.sh
(*)l
(*)l
(*)l
(*)l
(3)对(2)中的五个⽂件进⾏配置,配置步骤如下:
(*)hadoop-env.sh的配置参考本地模式中的(1)(2)两个步骤
(*)配置l⽂件:
vi /training/hadoop-2.7.3/etc/l
在l⽂件的<configuration></configuration>之间添加如下信息:
<property>
<name&plication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(*)配置l⽂件:
vi /training/hadoop-2.7.3/etc/l
在l⽂件的<configuration></configuration>之间添加如下信息:
<property>
<name>fs.defaultFS</name>
<value>hdfs://niit04:9000</value>
</property>
<property>
<name&p.dir</name>
<value>/training/hadoop-2.7.3/tmp</value>
</property>
(*)配置l⽂件(这个⽂件事先是不存在的,需要复制⼀份)
(1)cp /training/hadoop-2.7.3/etc/l.template /training/hadoop-2.7.3/etc/l (2)vi /training/hadoop-2.7.3/etc/l
(3)在l⽂件的<configuration></configuration>之间添加如下信息:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<value>yarn</value>
</property>
(*)配置l⽂件:
vi /training/hadoop-2.7.3/etc/l
在l⽂件的<configuration></configuration>之间添加如下信息:
<property>
<name&sourcemanager.hostname</name>
<value>niit04</value>
</property>
<property>
<name&demanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(4)格式化:HDFS(NameNode)
hdfs namenode -format
成功⽇志:
common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
(5)启动hadoop环境
start-all.sh
(6)验证:
(1)web界⾯进⾏验证
HDFS:niit04:50070
Yarn:niit04:8088
(2)执⾏jps命令,看看是否会有如下进程:
NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager
(7)如果需要停⽌,则执⾏如下操作:
stop-all.sh
(8)伪分布模式安装配置已完成
3、全分布模式(需要3台主机,niit01,niit02,niit03,其中niit01是主节点,其他是从节点)
⼀、准备⼯作
1、所有主机安装jdk
2、所有主机都需要关闭防⽕墙
3、所有主机都需要配置主机名映射关系 vi /etc/hosts
4、配置免密码登录(配置两两之间的免密码登录)
所有的机器都需要产⽣⼀对密钥:公钥和私钥
ssh-keygen -t rsa
所有主机需要执⾏
ssh-copy-id -i .ssh/id_rsa.pub root@niit01
ssh-copy-id -i .ssh/id_rsa.pub root@niit02
ssh-copy-id -i .ssh/id_rsa.pub root@niit03
5、保证每台机器的时间是⼀样的
如果不⼀样的话,我们在执⾏MapReduce程序的时候可能会存在问题
解决⽅案:
1)搭建⼀个时间同步的服务器,⽹上很多教程可以使⽤
2)使⽤putty⼯具,可以简单实现这个功能:
date -s 2018-07-30 后⾯必须敲⼀个回车
⼆、在主节点上进⾏安装配置(niit01)
(*)上传hadoop安装包,解决配置环境变量
tar -zvxf /tools/hadoop-2.7. -C /training/
同时设置:niit01 niit02 niit03
HADOOP_HOME=/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
epxort PATH
(*)mkdir /training/hadoop-2.7.3/tmp
(*)修改配置⽂件
vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 设置JDK的路径-参考伪分布模式
vi /training/hadoop-2.7.3/etc/l 参考伪分布环境
添加如下信息:
<property>
<name&plication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
vi /training/hadoop-2.7.3/etc/l
添加如下信息:
<property>
<name>fs.defaultFS</name>
<value>hdfs://niit01:9000</value>
</property>
<property>
<name&p.dir</name>
<value>/training/hadoop-2.7.3/tmp</value>
</property>
vi /training/hadoop-2.7.3/etc/l
添加如下信息:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vi /training/hadoop-2.7.3/etc/l:
添加如下信息:
<!--Yarn的主节点RM的位置-->
<property>
<name&sourcemanager.hostname</name>
<value>niit01</value>
</property>
<!--MapReduce运⾏⽅式:shuffle洗牌-->
<property>
<name&demanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
vi /training/hadoop-2.7.3/etc/hadoop/slaves:
添加如下信息:
niit02
niit03
(*)格式化nameNode
hdfs namenode -format
⽇志:
common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
(*)将niit01上的hadoop环境复制到niit02 niit03
scp -r hadoop-2.7.3/ root@niit02:/training/
scp -r hadoop-2.7.3/ root@niit03:/training/
(*)在主节点(niit01)上启动hdfs
start-all.sh
————————————————
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论