Hadoop环境配置与安装笔记
Hadoop环境配置与安装
==============================================================================
一、Hadoop安装前的准备工作
- 链接:https://pan.baidu.com/s/1-MQBxCdJ5sOFxro_uGLOlw
- 提取码:t10d
mkdir /tools ---->用于存放软件包 mkdir /training ---->用于安装软件3、安装JDK
- xshell上传jdk-8u144-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
tar -zvxf jdk-8u144-linux-x64.tar.gz -C /training/
- 配置环境变量:
vi ~/.bash_profile
- 在bash_profile文件中添加如下信息:注意更改jdk版本
export JAVA_HOME=/training/jdk1.8.0_144 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
- 关闭防火墙(CentOS7下)
systemctl stop firewalld.service systemctl disable firewalld.service
- 配置主机名(如何已经设置,此步骤可以如果安装的时候跟着我步骤来的就不用设置了)
hostnamectl --static set-hostname niit01
说明:–static 参数代表永久生效 niit01表达你希望设置的主机名
二、安装hadoop:
(1)上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装tar -zvxf hadoop-2.7.3.tar.gz -C /training/(2)配置环境变量:
vi ~/.bash_profile
- 添加如下信息:注意hadoop版本
export HADOOP_HOME=/training/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin(3)让环境变量生效:
source ~/.bash_profile(4)验证是否生效:
hdfs
有相关信息出现即可
三、hadoop的三种安装方式
0、首页配置主机名与IP地址的映射关系
vi /etc/hosts
在文件的末尾添加类似于
192.168.215.152 niit
这样的格式ip和主机名称选择自己的即可
vi /etc/sysconfig/network
将localhost 改成主机名 例如
niit
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 ~/input/test.txt
- 输入如下内容:
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 ~/input/test.txt ~/output
- 查看结果:
cat ~/output/part-r-0000
MapReduce程序的执行结果会默认按照英文单词的字典顺序进行了排序
2、伪分布模式 (特点:具备HDFS全部功能)
00、首页配置主机名与IP地址的映射关系
vi /etc/hosts
- 在文件的末尾添加类似于
192.168.215.152 niit01
- 这样的格式ip和主机名称选择自己的即可
vi /etc/sysconfig/network
niit01
1.配置文件
(0)新建一个tmp目录:mkdir /training/hadoop-2.7.3/tmp(1)配置免密码登录:- 执行如下命令:
ssh-keygen -t rsa(一路回车,有y/n选择y,看到请删除此注释) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@niit01 (注意主机名,看到请删除此注释)(2)进入到/training/hadoop-2.7.3/etc/hadoop目录下
cd /training/hadoop-2.7.3/etc/hadoop
- 需要对五个文件进行配置:
hadoop-env.sh
hdfs-site.xml
core-site.xml
mapper-site.xml
yarn-site.xml
vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
- 在hadoop-env.sh 文件中找到JAVA_HOME,并进行如下修改
export JAVA_HOME=/training/jdk1.8.0_171(注意版本,看到请删除此注释)b) 配置hdfs-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
- 在hdfs-site.xml文件的之间添加如下信息:
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>c)配置core-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
- 在core-site.xml文件的之间添加如下信息:
<property> <name>fs.defaultFS</name> <value>hdfs://niit01:9000</value> //(注意主机名,9000不变,看到请删除此注释) </property> <property> <name>hadoop.tmp.dir</name> <value>/training/hadoop-2.7.3/tmp</value> </property>d)配置mapper-site.xml文件(这个文件事先是不存在的,需要复制一份)
- 复制
cp mapred-site.xml.template mapred-site.xml vi /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
- 在mapper-site.xml文件的《configuration》与《/configuration》之间添加如下信息:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>e)配置yarn-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
在yarn-site.xml文件的《configuration》《/configuration》之间添加如下信息:
<property> <name>yarn.resourcemanager.hostname</name> <value>niit01</value> //(注意主机名,看到请删除此注释) </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>f) 格式化:HDFS(NameNode)
hdfs namenode -format
成功日志: common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
g) 启动hadoop环境start-all.shh) 验证:
1)web界面进行验证
HDFS------http://niit01:50070 (注意主机名,打不开就用192.168.xxx.xxx:50070)
Yarn--------http://niit01:8088
2)执行jps命令,看看是否会有如下5个进程:
NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager
stop-all.shj) 伪分布模式安装配置已完成
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 后面必须敲一个回车
- 上传hadoop安装包,解决配置环境变量
tar -zvxf /tools/hadoop-2.7.3.tar.gz -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
- 创建tmp
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/hadoop/hdfs-site.xml 参考伪分布环境
- 添加如下信息:
<property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
- 修改配置文件
vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
- 添加如下信息:
<property> <name>fs.defaultFS</name> <value>hdfs://niit01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/training/hadoop-2.7.3/tmp</value> </property>
- 修改配置文件
vi /training/hadoop-2.7.3/etc/hadoop/mapper-site.xml
- 添加如下信息:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
- 修改配置文件
vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml:
- 添加如下信息:
<!--Yarn的主节点RM的位置--> <property> <name>yarn.resourcemanager.hostname</name> <value>niit01</value> </property> <!--MapReduce运行方式:shuffle洗牌--> <property> <name>yarn.nodemanager.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
- hadoop学习笔记之-生产环境Hadoop大集群配置安装
- Hadoop学习笔记(二)----环境搭建之CentOS 7 配置与安装Hadoop
- hadoop学习笔记之-生产环境Hadoop大集群配置安装
- 在VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境03_配置虚拟机之间SSH无密码登录
- MapReduce and MachineLearning——笔记三(配置hadoop环境)
- wxWidgets笔记_1_linux环境下wxwidgets的安装与配置
- Hbase入门笔记( 二 )-- Hadoop单机环境配置
- hadoop学习笔记<二>----hadoop集群环境的配置
- Windows下Cygwin环境的Hadoop安装(1)- Cygwin安装和配置
- Hadoop2.4.1在lixun14.0.4环境的安装与配置
- J2ME学习笔记_1_开发环境的安装和配置
- 在VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境02_JDK的安装和配置
- VMWare Workstation8.0上安装和配置Hadoop群集环境
- Liferay 6.2学习笔记(一)--开发环境安装配置
- Windows下Cygwin环境的Hadoop安装(2)- Hadoop安装和配置
- Hadoop1.2.1集群安装配置笔记
- Hadoop1.2.1安装笔记3:hadoop配置
- VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境03_配置虚拟机之间SSH无密码登录
- 在VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境01_虚拟机的安装
- hadoop安装笔记-2.配置文件