Hadoop环境搭建配置

这篇文章不错,记录下:

原文:https://blog.csdn.net/u010741032/article/details/80762019

1. 首先 配置Java环境变量:
   先将jdk包用FileZilla上传到linux系统

 tar -xvf jdk-8u144-linux-x64.tar.gz -C ~/training/
 tar 解压命令, x表示解压,v表示显示解压过程,f表示使用档案的名字     ~表示home目录, 表示解压到training目录
 
解压之后配置环境变量: 
  使用vi 打开 .bash_profile。 .bash_profile是隐藏的目录,ls命令是看不到的,使用ls -a列出所有目录即可
 
 vi ~/.bash_profile  java_home的位置防止出错,去java home 目录下pwd 列一下当前目录copy一下即可:
PATH=$PATH:$HOME/bin
 
export PATH
 
JAVA_HOME="/root/training/jdk1.8.0_144"
 
export JAVA_HOME
 
PATH=$JAVA_HOME/bin:$PATH
export PATH
切忌 等号前后不要有空格,否则会出错的,因为java写习惯了,总喜欢加空格,最后总是出错。
source ~/.bash_profile 使环境变量生效。
java -version 列出java版本,表示java环境变量配置好了。
2. 配置Hadoop环境变量 

  首先去官网下载hadoop压缩包 点击打开链接

   将下载好的hadoop压缩包和jdk压缩包一样上传到Linux系统,用命令解压的到目标文件夹:

 tar -xvf hadoop-2.7.3.tar.gz  -C ~/training/

解压好之后,进到解压的目录下,使用命令pwd列出文件所在的目录,copy一下:

之后 使用vi命令: vi ~/.bash_profile:

HADOOP_HOME="/root/training/hadoop-2.7.3"
 
export HADOOP_HOME
 
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
 
export PATH
使用source ~/.bash_profile 使命令生效

3. 搭建Hadoop本地模式:

    Hadoop环境分为三种模式,一种是本地模式,一种是伪分布式,还有一种是全分布式。 伪分布式一般适用于开发,生产环境上是全分布式,伪分布式一台机器就可以了,但是全分布式至少3台机器。

如果想搭建本地模式很简单只需要改一个文件,进入/root/training/hadoop-2.7.3/etc/hadoop 这个个路径下,

 vi hadoop-env.sh,修改里面的export JAVA_HOME="" 指向你jdk的路径即可

如下:

顺便介绍一个命令,如果你不记得你的JAVA_HOME的地址,可以用一个命令查看:echo $JAVA_HOME 

最后各式一下hadoop, 输入命令: hdfs namenode -format 即可

最后 start-all.sh即可


4 . 伪分布式环境搭建

      有了上面的本地模式,搭建伪分布式模式就相对简单的多:只需要配置/root/training/hadoop-2.7.3/etc/hadoop这个目录下的的文件即可:

   (1) hadoop-env.sh

            这个文件中的jdk的安装路径,在上面的本地模式已经配置过。

    (2) hdfs-site.xml

<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>
    这个属性设置的是HDFS文件的副本个数,默认为因为我们是伪分布式,只有一台机器,nameNode 和DataNode都在一台机器上,所以设置为1.

(2)core-site.xml

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value>
</property>
 
<property>
  <name>hadoop.tmp.dir</name>
  <value>/root/training/hadoop-2.7.3/tmp</value>
</property>
这两个参数,第一个设置的是HDFS的访问接口,第二个是HDFS的存放目录

(3)mapred-site.xml

 这个文件是不存在的,但是有这个文件mapred-site.xml.template这个文件,我们可以复制一个:

  cp mapred-site.xml.template mapred-site.xml
这样在里面添加: 这个表示的是MapReduce的运行环境
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
(4)yarn-site.xml

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>localhost</value>
</property>
 
<property>
  <name>yarn.nodemanager.aux-servsuoyuices</name>
  <value>mapreduce_shuffle</value>
</property>
第一个是yarn的主节点,第二个表示MapReduce的运行方式

配置完之后:hdfs namenode -format

start-all.sh

即可启动hadoop

输入命令jps,列出所有的进程如下:

5. 全分布式:

全分布式至少需要3台机器,我们以3台机器为例,一台运行NameNode,另外两台运行DataNode

配置起来跟伪分布式差不多需要更改几处文件

hdfs-site.xml

<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
数据的副本数就不要是1了,改成2

添加另外两台dataNode,需要更改文件slaves:

这个里面原来默认就是你本机,需要将localHost删除,添加你的另外两台机器的ip即可,这台机器作为主机主节点运行NameNode,其他两台机器运行DataNode

三台机器都要这么配置那就太麻烦了,配置好了一个之后可以copy到另外的机器:

scp -r hadoop-xx root@ip:/root/xxx/

这个命令的含义就是将hadoop-xx 这个文件copy到主机ip上,名字是root。:后面是路径

6. 免密登录

 在启动hadoop的时候,你会发现中间会让你输入好几遍密码,如果好几十台烦都烦死了,所以需要配置免密登录。

免密登录,下次再说!
 

猜你喜欢

转载自blog.csdn.net/DH2442897094/article/details/88635166