[Hadoop] 安装(详细)

205 阅读3分钟

测试环境

Hadoop版本:2.7.6

linux版本:centos7

安装步骤

1. 上传安装包并解压和安装

  • 压缩包在/usr/local/soft,软件也解压在这个目录下,使用tar工具解压压缩包

这里先在主节点上装,后面使用 scp 命令复制到其他两个从节点

tar -xvf hadoop-2.7.6.tar.gz
  • hadoop 目录结构
    • bin 存放执行命令
    • sbin 存放启命令
    • etc 存放配置文件
    • lib/share 依赖文件和jar包(例如 其他当前框架的调用的jar包)
  • 配置环境变量
vim /etc/profile   # 编辑配置文件

# 加入下面内容 (这里包含了java的环境变量,根据自己电脑情况修改)
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 更新 配置文件
source /etc/profile

2. 修改hadoop的配置文件

  • 配置hadoop的从节点(slaves文件中)
cd /usr/local/soft/hadoop-2.7.6/etc/hadoop

vim slaves

# 内容为(根据自己电脑情况修改)
node1
node2
  • hadoop环境配置文件 ( hadoop-env.sh )
# 修改成下面的即可
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
  • hadoop核心配置文件
vim core-site.xml

# 内容如下(加在configuration标签中):
# 表示hdfs的api调用端口
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>      
</property>


# 表示对应Namenode和secondaryNamenode保存数据的位置
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>       
</property>

# 当用dfs命令删除hadoop上的文件时,会被暂时放到垃圾箱,下面是垃圾箱文件的最后保留时间
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
  • hdfs 配置文件
vim hdfs-site.xml

# 内容如下(加在 configuration标签中)
# 保存的副本数量(为了防止一个节点挂了,而做的备份,默认为3)
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

# HDFS权限(学习时暂时关闭,因为后面会报各种权限的问题)
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
  • yarn 配置文件
vim yarn-site.xml

# 内容如下

# 设置yarn的主节点
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

# 是否开启日志
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

# 设置从节点中的内存大小(单位:MB)
<property>  
<name>yarn.nodemanager.resource.memory-mb</name>  
<value>20480</value>  
</property>  


<property>  
<name>yarn.scheduler.minimum-allocation-mb</name>  
<value>2048</value>  
</property>  
 
# 虚拟内存和真实内存的比率
<property>  
<name>yarn.nodemanager.vmem-pmem-ratio</name>  
<value>2.1</value>  
</property>
  • mapReduce 配置文件
# 重命名(这里和上面可能有一点不同)
mv mapred-site.xml.template mapred-site.xml 

vim mapred-site.xml

# 内容如下
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>  
<name>mapreduce.jobhistory.address</name>  
<value>master:10020</value>  
</property>  

# 历史服务器 对应ip和端口
<property>  
<name>mapreduce.jobhistory.webapp.address</name>  
<value>master:19888</value>  
</property>
  • 复制所有hadoop相关的文件到其他从节点下
scp -r /usr/local/soft/hadoop-2.7.6/ node1:/usr/local/soft/
scp -r /usr/local/soft/hadoop-2.7.6/ node2:/usr/local/soft/
  • 格式化 namenode(主节点)
hdfs namenode -format

正常情况下应该和我这个差不多 image.png

3. 启动集群

  • 启动命令 start-all.sh ,正常启动的日志应该和我这个差不多 image.png
  • 查看java进程 jps
    • master下
      image.png
    • node1/2下
      image.png
  • 可以去 master:50070 这个url对应的网页下查看 集群的情况

小提示 如果安装失败,stop-all.sh,再次重启的时候

  1. 需要手动将每个节点的tmp目录删除: 所有节点都要删除

    rm -rf /usr/local/soft/hadoop-2.7.6/tmp

    然后执行将namenode格式化

  2. 在主节点执行命令:

hdfs namenode -format

  1. 启动hadoop

    start-all.sh

使用 netstat -ntlp 这个命令可以查看当前正在使用的端口号