安装Hadoop2.10.1

文章目录


前言

通过在Hadoop1安装Hadoop,然后配置相应的配置文件,最后将Hadoop 所有文件同步到其他Hadoop节点。


一、集群规划

#主机名
‘master/hadoop1’        ‘slave01/hadoop2’         ‘slave02/hadoop3’

#启动节点
Namenode                  Nodemanager              Nodemanager        
Resourcemanager           Datanode                 Datanode
                          Secondarynamenode

二、安装JDK

1、三个节点都需要按照下面步骤安装JDK环境。

执行java-version查看JDK是否已经安装,如果已经安装了,可以跳过这一步骤,进入环境部署环节。

java -version     # which Java是无法定位到Java的安装路径的,只能定位到执行路径

2、下载安装包后,将JDK安装包复制到/usr/lib/jvm/

sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel    #通过此命令安装 OpenJDK,默认安装位置为 /usr/lib/jvm/

rpm -ql java-1.8.0-openjdk-devel | grep '/bin/javac'   #检验路径,输出结果除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了

3、配置相应环境变量(hadoop1-3都要) 

拓展:设置Linux环境变量的方法和区别

vim  /etc/profile  

#在文件末尾加入

#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  #java安装地址
export PATH=$PATH:$JAVA_HOME/bin

source ~/.bashrc    # 使变量设置生效

echo $JAVA_HOME     # 检验变量值
java -version  
$JAVA_HOME/bin/java -version  #与直接执行 java -version 一样,一起执行作对比

配置静态ip 和 联网

为VMware的多台虚拟机配置静态ip 和联网_慕诡的博客-CSDN博客

三、安装Hadoop

下载安装Hadoop2.10.1

cd ~

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz  #下载

tar -zxf hadoop-2.10.1.tar.gz -C /usr/local    # 解压到/usr/local中

cd /usr/local/

sudo mv ./hadoop-2.10.1/ ./hadoop           # 将文件夹名改为hadoop
sudo chown -R hadoop:hadoop ./hadoop        # 修改文件权限

ls ./hadoop

Hadoop配置

1、配置主节点环境

1)配置core-site.xml文件

vim  /usr/local/hadoop/etc/hadoop/core-site.xml   #修改xml文件用 gedit 比较方便,但在Xshell连接时用不了
<configuration>
  <property>
    <!--定义Hadoop HDFS中 namenode 的URI和端口【必须配置】-->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9000</value>
  </property>
  <property>
    <!--Hadoop运行时产生临时的存储目录【必须配置】-->
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/data/tmp</value>
  </property>

</configuration>

2)配置hdfs-site.xml文件

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <!--指定DataNode存储block的副本数量,不大于DataNode的个数就行,默认为3【必 须】-->
      <name>dfs.replication</name>
      <value>3</value>
  </property>
    <property>
    <!--namenode节点元数据存储目录【必须配置】-->
      <name>dfs.namenode.name.dir</name>
      <value>/usr/local/hadoop/hdfs/name</value>       
  </property>
  <property>
        <!--datanode 真正的数据存储目录【必须配置】-->
        <name>dfs.datanode.data.dir</name>
       <value>/usr/local/hadoop/hdfs/data</value>     
  </property>

  <property>
        <!--指定SecondaryNamenode的工作目录【必须配置】-->
      <name>dfs.namenode.checkpoint.dir</name>
      <value>file:/usr/local/hadoop/dfs/namesecondary</value>          
  </property>
  <property>
        <!--指定Hadoop辅助名称节点主机配置 -->
        <!--指定SecondaryNamenode的http协议访问地址【必须配置】--> 
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop2:9001</value>
  </property>
  <property>
        <!--必须设置为true,否则就不能通过web访问hdfs上的文件信息【必须配置】-->
      <name>dfs.webhdfs.enabled</name>
      <value>true</value>
  </property>
    
</configuration>

3)配置workers文件

vim /usr/local/hadoop/etc/hadoop/slaves #修改为3个主机名称

# hadoop-3.3.0版本文件名为workers , hadoop-2.x.x版本文件名为slaves
hadoop1
hadoop2
hadoop3

4)配置mapred-site.xml文件

默认情况下/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,复制一下该文件,并重命名为mapred.xml,该文件用于指定MapReduce使用的框架。

cp mapred-site.xml.template mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration>
  <property>
        <!-- 指定MR运行框架:运行在Yarn上 -->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce application.classpath</name>
    <value>
       /usr/local/hadoop/etc/hadoop,
       /usr/local/hadoop/share/hadoop/common/*,
       /usr/local/hadoop/share/hadoop/common/lib/*,
       /usr/local/hadoop/share/hadoop/hdfs/*,
       /usr/local/hadoop/share/hadoop/hdfs/lib/*,
       /usr/local/hadoop/share/hadoop/mapreduce/*,
       /usr/local/hadoop/share/hadoop/mapreduce/lib/*,
       /usr/local/hadoop/share/hadoop/yarn/*,
       /usr/local/hadoop/share/hadoop/yarn/ib/*
    </value>
  </property>
</configuration>

5)配置yarn-site.xml文件

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

6)配置Hadoop-env.sh文件

vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  #java安装地址

# 配置完刷新一下
source /usr/local/hadoop/etc/hadoop/hadoop-env.sh

7)因hadoop版本不同,hadoop-3.x.x下可能出现错误,hadoop-2.x.x下启动正常(可跳过)

配置./start-yarn.sh文件,在首部添加

vim /usr/local/hadoop/sbin/start-yarn.sh

# Personal Add

export YARN_RESOURCEMANAGER_USER=root
export HADOOP_SECURE_DN_USER=root
export YARN_NODEMANAGER_USER=root

配置./stop-yarn.sh文件,在首部添加

vim /usr/local/hadoop/sbin/stop-yarn.sh

# Personal Add

export YARN_RESOURCEMANAGER_USER=root
export HADOOP_SECURE_DN_USER=root
export YARN_NODEMANAGER_USER=root

配置./start-dfs.sh文件,在首部添加

vim /usr/local/hadoop/sbin/start-dfs.sh

# Personal Add

export HDFS_NAMENODE_SECURE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

配置./stop-dfs.sh文件,在首部添加

vim /usr/local/hadoop/sbin/stop-dfs.sh

# Personal Add

export HDFS_NAMENODE_SECURE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

2、配置从节点环境

将以上配置好的Hadoop文件包打包并同步到其他Hadoop节点。

#方法1:打包发送后解压
cd /home
sudo tar -czvf hadoop.tar.gz /usr/local/hadoop  #打包文件

scp -r hadoop.tar.gz arlene@hadoop2:/usr/local/         
scp -r hadoop.tar.gz arlene3@hadoop3:/usr/local/

# 如果传输压缩包,需各节点解压
sudo tar -zxvf /usr/local/hadoop.tar.gz -C /usr/local
# 方法2:直接传输文件夹 
cd /home

#将hadoop1主节点下/usr/local目录下的hadoop文件夹分别拷贝到hadoop2和hadoop3节点的/usr/local/目录下  
sudo scp -r /usr/local/hadoop root@hadoop2:/usr/local/  
sudo scp -r /usr/local/hadoop root@hadoop3:/usr/local/  


# 传输命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
# scp命令:scp 本地文件 远程用户@远程ip:远程用户文件夹
# scp定义:可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)

3、配置profile文件

vim /etc/profile

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME    
export HADOOP_COMMON_HOME=$HADOOP_HOME    
export HADOOP_HDFS_HOME=$HADOOP_HOME    
export YARN_HOME=$HADOOP_HOME    
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native    
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

source /etc/profile
# 方法一:各节点均编辑/etc/profile文件 
# 方法二:远程同步,将hadoop1主节点上的配置文件分别拷贝到hadoop2和hadoop3节点

rsync  -rvl  /etc/profile  root@hadoop2:/etc/profile 
rsync  -rvl  /etc/profile  root@hadoop3:/etc/profile   
       
tail  /etc/profile        #显示已修改的配置文件(/etc/profile)内容,查看是否同步成功
source  /etc/profile        #立即生效
javadoc         #测试
hadoop          #测试

cat /usr/local/hadoop/etc/hadoop/slaves #查看workers/slaves文件内容是否一致

4、格式化(仅一次)

在Hadoop1节点格式化NameNode,格式化成功如图.(只在Hadoop1启动就好)

hdfs namenode -format      #或者进入hadoop用户文件用./bin/hdfs namenode -format

5、启动集群

【注】:启动集群和关闭集群顺序是相反的,启动时先hadoop1,关闭时后hadoop1

cd /usr/local/hadoop/sbin/

start-dfs.sh

#等hadoop1主节点下start-dfs.sh命令执行结束后,再执行命令start-yarn.sh
start-yarn.sh

#检查
jps


总结

参考文章:

Hadoop分布式集群搭建详细教程 - wansiqi - 博客园 (cnblogs.com)

Hadoop完全分布式搭建过程(详细)_刘先生生的博客-CSDN博客_hadoop完全分布式

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包含hadoop平台Java开发的所有所需jar包,例如activation-1.1.jar apacheds-i18n-2.0.0-M15.jar apacheds-kerberos-codec-2.0.0-M15.jar api-asn1-api-1.0.0-M20.jar api-util-1.0.0-M20.jar asm-3.2.jar avro-1.7.7.jar commons-beanutils-1.9.4.jar commons-cli-1.2.jar commons-codec-1.4.jar commons-collections-3.2.2.jar commons-compress-1.19.jar commons-configuration-1.6.jar commons-digester-1.8.jar commons-io-2.4.jar commons-lang-2.6.jar commons-lang3-3.4.jar commons-logging-1.1.3.jar commons-math3-3.1.1.jar commons-net-3.1.jar curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.7.1.jar gson-2.2.4.jar guava-11.0.2.jar hadoop-annotations-2.10.0.jar hadoop-auth-2.10.0.jar hadoop-common-2.10.0-tests.jar hadoop-common-2.10.0.jar hadoop-nfs-2.10.0.jar hamcrest-core-1.3.jar htrace-core4-4.1.0-incubating.jar httpclient-4.5.2.jar httpcore-4.4.4.jar jackson-core-asl-1.9.13.jar jackson-jaxrs-1.9.13.jar jackson-mapper-asl-1.9.13.jar jackson-xc-1.9.13.jar java-xmlbuilder-0.4.jar jaxb-api-2.2.2.jar jaxb-impl-2.2.3-1.jar jcip-annotations-1.0-1.jar jersey-core-1.9.jar jersey-json-1.9.jar jersey-server-1.9.jar jets3t-0.9.0.jar jettison-1.1.jar jetty-6.1.26.jar jetty-sslengine-6.1.26.jar jetty-util-6.1.26.jar jsch-0.1.54.jar json-smart-1.3.1.jar jsp-api-2.1.jar jsr305-3.0.0.jar junit-4.11.jar LIST.bat LIST.TXT log4j-1.2.17.jar mockito-all-1.8.5.jar netty-3.10.6.Final.jar nimbus-jose-jwt-4.41.1.jar paranamer-2.3.jar protobuf-java-2.5.0.jar servlet-api-2.5.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.7.25.jar snappy-java-1.0.5.jar stax-api-1.0-2.jar stax2-api-3.1.4.jar woodstox-core-5.0.3.jar xmlenc-0.52.jar zookeeper-3.4.9.jar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值