hadoop安装配置

三种安装方式:本地、伪分布、全分布

  • 修改ip地址、网关vim /etc/sysconfig/network-scripts/ifcfg-eth0
如果没有eth0
vim /etc/sysconfig/grub
在GRUB_CMDLINE_LINUX最后增加 net.ifnames=0 biosdevname=0
执行命令 grub2-mkconfig -o /boot/grub2/grub.cfg
重启后即可看到eth0
修改:eth0配置文件
BOOTPROTO=static
ONBOOT=yes
新增:
IPADDR=192.168.137.150
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=192.168.137.1
  • 修改主机名vim /etc/sysconfig/network
修改: 
hostname=hadoop01
  • 输入hostname检查是否修改成功

  • 如果没成功需要修改内核主机名 hostnamectl set-hostname hadoop01

  • 使用sysctl kernel.hostname查看是否修改成功

  • 重启服务service network restart

    # 如果重启失败,尝试执行下面命令
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl disable NetworkManager
    systemctl start network.service
    
  • 修改ip和主机名映射关系
    vim /etc/hosts

新增: 192.168.137.150 hadoop01
修改: 127.0.0.1 后的losthost.localdomain
注意CentOs7之后直接更改/etc/hostname 即可
  • 关闭防火墙
service iptables status
service iptables stop 
chkconfig iptables --list
chkconfig iptables off
  • 检查网络是否正常

  • 注意wifi需要在网络共享中心设置为可共享给Vmnet8

  • 下载(非必选)也可以使用Xshell和Xftp

yum install -y lrzsz
可以使用rz,sz上传和下载文件到桌面
  • 安装JDK

  • 克隆虚拟机

  • 修改主机名,ip

  • 关闭图形化界面启动systemctl set-default multi-user.target

  • 启动图形化界面启动systemctl set-default graphical.target

安装Hadoop
  • /home/hadoop/apps解压安装文件 tar -zxvf hadoop-2.7.5.tar.gz
  • 使用root用户创建软链接ln -s /home/hadoop/apps/hadoop-2.7.5 /usr/local/hadoop
  • 修改配置文件vi /etc/profile
export HADOOP_HOME=/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
配置HDFS
  • 使用hadoop用户进入到Hadoop配置文件路径cd /hadoop/etc/hadoop
  • 修改 hadoop-env.sh
    1. 修改JDK路径export JAVA_HOME=/usr/local/jdk
  • 配置core-site.xml
  • 配置hdfs-site.xml
配置YARN
  • 修改yarn-site.xml
  • 修改mapred-site.xml
  • 在/hadoop路径下创建hdpdata文件夹
cd /hadoop
mkdir hdpdata
  • 编辑vi /hadoop/etc/hadoop/slaves
hadoop03
hadoop04
hadoop05
配置hadoop用户免密码登陆

配置hadoop01到hadoop01、hadoop02、hadoop03、hadoop04、hadoop05的免密码登陆
在hadoop01上生产一对钥匙
ssh-keygen -t rsa
将公钥拷贝到其他节点,包括自己本机

ssh-copy-id -i hadoop01
ssh-copy-id -i hadoop02
ssh-copy-id -i hadoop03
ssh-copy-id -i hadoop04
ssh-copy-id -i hadoop05

注意:两个namenode之间要配置ssh免密码登陆

将配置好的hadoop拷贝到其他节点
scp -r hadoop-2.7.5 hadoop@hadoop02:/home/hadoop/apps/hadoop-2.7.5
scp -r hadoop-2.7.5 hadoop@hadoop03:/home/hadoop/apps/hadoop-2.7.5
scp -r hadoop-2.7.5 hadoop@hadoop04:/home/hadoop/apps/hadoop-2.7.5
scp -r hadoop-2.7.5 hadoop@hadoop05:/home/hadoop/apps/hadoop-2.7.5
  • 在每个节点分别执行如下四步操作
  1. 第一步:使用root用户创建软链接
    ln -s /home/hadoop/apps/hadoop-2.7.5 /hadoop
  2. 第二步:使用root用户修改软链接属主
    chown -R hadoop:hadoop /hadoop
  3. 第三步:使用root用户添加环境变量
    vim /etc/profile
    添加内容:
export HADOOP_HOME=/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
  1. 第四步:使用root用户重新编译环境变量使配置生效
    source /etc/profile
集群启动(注意使用hadoop用户启动,严格按照顺序启动)
  • su hadoop

  • 启动journalnode(分别在node03、node04、node05上执行启动)
    /hadoop/sbin/hadoop-daemon.sh start journalnode

  • 运行jps命令检验,node03、node04、node05上多了JournalNode进程

  • 格式化HDFS,在node01上执行命令:
    hdfs namenode -format

  • 格式化成功之后会在core-site.xml中的hadoop.tmp.dir指定的路径下生成dfs文件夹,将该文件夹拷贝到node02的相同路径下
    scp -r /hadoop/hdpdata hadoop@hadoop02:/hadoop

  • 在node01上执行格式化ZKFC操作

hdfs zkfc -formatZK

执行成功,日志输出如下信息
INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/ns in ZK

  • 在node01上启动HDFS
    /hadoop/sbin/start-dfs.sh

    • 可能出现clusterID对不上的错误情况:
    java.io.IOException: Incompatible clusterIDs in /data/dfs/data: namenode clusterID = CID-d1448b9e-da0f-499e-b1d4-78cb18ecdebb; datanode clustID...
    

    原因: 每次namenode format会重新创建一个namenodeId,而data目录包含了上次format时的id,namenode format清空了namenode下的数据,但是没有清空datanode下的数据,导致启动时失败,所要做的就是每次fotmat前,清空data下的所有目录.

    解决办法:将datanode节点目录/dfs/data/current/VERSION中的clustID修改为与namenode节点下的/dfs/name/current/VERSION中的clustID一致即可

  • 在hadoop02上启动YARN
    /hadoop/sbin/start-yarn.sh,需要在hadoop02上也设置免密登录hadoop03,hadoop04,hadoop05

  • 在node01单独启动一个ResourceManger作为备份节点
    /hadoop/sbin/yarn-daemon.sh start resourcemanager

  • 在node02上启动JobHistoryServer
    /hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
    启动完成node02会增加一个JobHistoryServer进程

  • hadoop安装启动完成

HDFS HTTP访问地址
NameNode (active):http://192.168.137.150:50070
NameNode (standby):http://192.168.137.151:50070
ResourceManager HTTP访问地址
ResourceManager :http://192.168.137.151:8088
历史日志HTTP访问地址
JobHistoryServer:http://192.168.137.151:19888
集群验证
  • 首先向hdfs上传一个文件
/hadoop/bin/hadoop fs -put /hadoop/README.txt /
  • 在active节点手动关闭active的namenode
/hadoop/sbin/hadoop-daemon.sh stop namenode
# 单独启动namenode
/hadoop/sbin/hadoop-daemon.sh start namenode
  • 打开 http://192.168.137.151:50070发现变成active
  • 执行wordcount实例
hadoop jar /hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /wordcount/input /wordcount/output

  • 验证RM的高可用
    /hadoop/sbin/yarn-daemon.sh stop resourcemanager
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值