hadoop单机版腾讯云安装

创建日期: 2019/03/14 17:40
创建人: yangyidong


腾讯云安装环境更改主机名创建hadoop用户安装jdk配置环境变量免密码ssh设置安装下载hadoop-2.7.7创建hdfs中namenode,datanode的存储位置配置环境变量配置Configuration文件启动hadoopjps查看一旦Hadoop集群启动并运行,请检查组件的web-ui成功登陆安装成功~hadoop启动集群的免密码登陆设置启动之前将防火墙和selinux关闭:错误

腾讯云安装环境

CentOS: 7.5
hadoop2.7.7

更改主机名

查看主机名

[root@VM_0_4_centos hadoop]# hostname
VM_0_4_centos
[root@VM_0_4_centos hadoop]# hostname -i
172.21.0.4

修改主机名ip地址一致(集群版必须修改,单机版只要修改network文件中名字即可)

#腾讯云配置要填内网ip!!!!不然8088访问不了
[root@VM_0_4_centos hadoop]# vi /etc/hosts

172.21.0.4 master

修改network中主机名

CentOS6及其以下版本一般通过修改配置文件的办法来修改主机名,此配置文件一般为/etc/sysconfig/network
[root@VM_0_4_centos hadoop]# vi /etc/sysconfig/network

# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes
HOSTNAME=VM_0_4_centos

Centos7新的配置文件已经更新为/etc/hostname,尽管修改/etc/sysconfig/network配置文件(此文件依然存在,只是是空的)可能起作用,但不得不考虑有些Linux软件是否会使用source此文件或是否使用环境变量$HOSTNAME
[root@VM_0_4_centos hadoop]# vi /etc/hostname

重启服务器

reboot

创建hadoop用户

[root@cdh-3 ~]sudo adduser hadoop
[root@cdh-3 ~]passwd hadoop
#一直按回车即
#在创建hadoop用户的同时也创建了hadoop用户组,下面我们把hadoop用户加入到hadoop用户组
[root@cdh-3 ~]sudo usermod -a -G hadoop hadoop 

#前面一个hadoop是组名,后面一个hadoop是用户名。完成后输入一下命令查询结果。
[root@cdh-3 ~]cat  /etc/group
#hadoop用户赋予root权限,让他可以使用sudo命令
#切换到可以root的用户输入
[root@cdh-3 ~]sudo gedit /etc/sudoers
[root@cdh-3 ~]sudo vi /etc/sudoers

安装jdk

官网地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

这里使用:jdk-8u191-linux-x64.tar.gz

[root@cdh-1 ~]# mkdir /software
[root@cdh-1 ~]# cd /software 
[root@cdh-1 ~]# tar -zxvf jdk-8u191-linux-x64.tar.gz 
[root@cdh-1 ~]# mv jdk1.8.0_191/ jdk1.8
[root@cdh-1 ~]# mv /software/jdk1.8 /usr/java

配置环境变量

vi /etc/profile

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

更新环境变量

- source /etc/profile
- 测试:java -version

免密码ssh设置

#现在确认能否不输入口令就用ssh登录localhost:
[root@cdh-1 ~]# ssh localhost
如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
[root@cdh-1 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
[root@cdh-1 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

安装

下载hadoop-2.7.7

hadoop下载址:
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

上传到服务器

[root@cdh-1 ~]# mkdir /software
[root@cdh-1 ~]# cd /software
[root@cdh-1 software]# tar -zxvf hadoop-2.7.7.tar.gz #上传hadoop-2.7.7.tar.gz到 /software并解压
[root@cdh-1 software]# mv hadoop-2.7.7 hadoop #修改hadoop文件名称

创建hdfs中namenode,datanode的存储位置

mkdir -p /usr/local/hadoop/namenode
mkdir -p /usr/local/hadoop/datanode

配置环境变量

vi /etc/profile

export HADOOP_HOME=/software/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
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=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

更新环境变量

  • source /etc/profile

配置Configuration文件

#进入配置文件主目录
[root@cdh-1 ~]# cd /home/hadoop/hadoop/etc/hadoop

hadoop-env.sh中添加java地址

vi hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}修改为 export JAVA_HOME=/usr/java/jdk1.8

yarn-site.xml

  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.mapred.ShuffleHandler</value>
  </property>
  <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
  </property>
</configuration>

core-site.xml

     <!--指定namenode的地址-->
<property>
            <name>fs.default.name</name>
            <value>hdfs://master:9000</value>
    </property>

hdfs-site.xml

<!--NameNode持久存储命名空间和事务日志的本地文件系统上的路径。-->
<property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/local/hadoop/namenode</value>
            <final>true</final>
    </property>
<!--DataNode本地文件系统上的路径-->
<property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/hadoop/datanode</value>
            <final>true</final>
    </property>
<!--指定副本数-->
<property>
            <name>dfs.replication</name>
            <value>1</value>
    </property>

修改文件名

[root@cdh-1 hadoop]# mv mapred-site.xml.template mapred-site.xml

mapred-site.xml

<!--服务器主机:端口-->
<property>
            <name>mapreduce.jobhistory.address</name>
            <value>master:10020</value>
    </property>
<!--MapReduce JobHistory Server Web UI 主机:端口-->
<property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>master:19888</value>
    </property>
<!--MapReduce作业写入历史文件的目录-->
<property>
            <name>mapreduce.jobhistory.intermediate-done-dir</name>
            <value>/usr/local/hadoop/mr-history/tmp</value>
    </property>
<!--MR JobHistory Server管理历史文件的目录。-->
<property>
            <name>mapreduce.jobhistory.done-dir</name>
            <value>/usr/local/hadoop/mr-history/done</value>
    </property>
<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上-->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
 

启动hadoop

格式化一个新的分布式文件系统:

hadoop namenode –format

格式化namenode可能会失败,有时候也对以后的操作没有影响(具体原因还不太清楚)

启动Hadoop守护进程:

$HADOOP_HOME/sbin/start-all.sh

#会提醒你是否连接--yes --输入root密码--

jps查看

[root@cdh-1 sbin]# jps
6515 NodeManager
5910 DataNode
6072 SecondaryNameNode
6232 ResourceManager
5788 NameNode
6686 Jps

一旦Hadoop集群启动并运行,请检查组件的web-ui

#ResourceManager 
http://ip:8088
#NameNode 
http://ip:50070
#MapReduce JobHistory Server
http://ip:19888

成功登陆安装成功~

hadoop启动集群的免密码登陆设置

[hadoop@cdh-3 ~]$ ll -a   #查看.ssh目录
[hadoop@cdh-3 ~]$cd .ssh
[hadoop@cdh-3 ~]$ssh-keygen -t rsa    #遇到提示一直按回车就行
[hadoop@cdh-3 ~]$ll    #此时ll查看会发现里面多了俩个文件
id_rsa       --> 私密钥匙
id_rsa.pub     --> 公用钥匙

#接着将公用钥匙写入到authorized_keys文件中,并修改这个文件的权限(重要,请不要忽略)
[hadoop@cdh-3 ~]$cat id_rsa.pub >> authorized_keys
[hadoop@cdh-3 ~]$chmod 600 authorized_keys
[hadoop@cdh-3 ~]$ssh localhost  #不再提示输入密码,那么现在启动集群就不会再一直输入密码了

启动之前将防火墙和selinux关闭:

a.切换到root用户,关闭selinux
b.
临时关闭:setenforce 0
永久关闭:vi /etc/selinux/config
修改文件以上文件中:
 SELINUX=disabled
c.保存关闭
d.关闭防火墙
临时关闭:systemctl stop firewalld
永久关闭:systemctl disable firewalld
查看防火墙状态:systemctl status firewalld

错误

19/03/07 18:33:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

HDFS 的Trash回收站

datanode起不来

cd /usr/local/hadoop/namenode/current
将VERSION中的clusterID=CID-a5eb1ff1-ae69-4b54-89f8-033bb1020e3f复制,把datanode中VERSION替换成这个
重启服务
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值