腾讯云centos服务器上安装hadoop踩坑记

  1. 首先需要下载hadoop、jdk1.8

在本地下载好jdk1.8
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

hadoop的安装包:
链接:https://pan.baidu.com/s/1LkTMeLl0qRsuvSZJAUpzUA
提取码:tkmr

  1. 通过xftp上传的服务器,我上传的位置分别是:
    java路径
    /usr/java

hadoop路径
/usr/local

  1. 解压配置环境变量

解压Java

cd /usr/java
tar zxvf jdk-8u251-linux-x64.tar.gz

解压hadoop

cd /usr/local
tar zxvf hadoop-2.8.5.tar.gz
  1. 配置环境变量
vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_251
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

export HADOOP_HOME=/usr/local/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin
  1. 使之生效
source /etc/profile
  1. 修改/usr/hadoop/hadoop2.7.3/etc/hadoop/core-site.xml 文件
<configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>
</configuration>

fs.defaultFS直接用localhost就行,如果重命名了主机名,也可以用重命名的。

  1. 修改/usr/hadoop/hadoop2.7.3/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/hadoop/hdfs/name</value>
        <description>namenode上存储hdfs名字空间元数据 </description>
    </property>

    <property>
        <name>dfs.data.dir</name>
        <value>/usr/hadoop/hdfs/data</value>
        <description>datanode上数据块的物理存储位置</description>
    </property>


    <!-- 设置hdfs副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

     <property>
        <name>dfs.namenode.http.address</name>
       <value>slave1:50070</value>
     </property>
</configuration>
  1. SSH免密码登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
  1. hdfs启动与停止

第一次启动hdfs需要格式化,之后启动就不需要的:

cd /usr/local/hadoop-2.8.5
./bin/hdfs namenode -format
  1. 启动命令和关闭命令
./sbin/start-dfs.sh # 启动命令
./sbin/stop-dfs.sh # 停止命令

这一步可能会出问题解决方案是:

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

将如下位置修改为JAVA_HOME的路径

  1. 结果

  1. 从图中看,会启动namenode,datanode,secondarynamenode浏览器输入:http://129.211.85.92:50070/ 查看效果:

这一步可能会出问题参考方案:

https://blog.csdn.net/xingyue0422/article/details/85316822(我已经之前做了)
https://blog.csdn.net/wy7980/article/details/40710631?utm_source=blogxgwz5?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2

  1. 接下来配置yarn文件. 配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml    。这里注意一下,hadoop里面默认是mapred-site.xml.template 文件,如果配置yarn,把mapred-site.xml.template   重命名为mapred-site.xml 。如果不启动yarn,把重命名还原。
cd /usr/local/hadoop-2.8.5/etc/hadoop
mv mapred-site.xml.template mapred-site.xml
  1. vi mapred-site.xml
<configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  1. vi yarn-site.xml
<configuration>
    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  1. 启动yarn

启动:

cd /usr/local/hadoop-2.8.5
./sbin/start-yarn.sh

停止:

./sbin/stop-yarn.sh

如图:

会启动resourcemanager,nodemanager

可以用jps命令查看启动了什么进程:

浏览器输入:http://129.211.85.92:8088 (8088是默认端口,如果端口占用,先把占用的端口杀掉 netstat -ano)

这样,dfs和yarn就启动成功了。

https://blog.csdn.net/cafebar123/article/details/73500014?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值