• hadoop完全分布式集群搭建


    准备工作:
    1.三台主机,主机名分别是master、slave01、slave02
    2.修改主机名,vi /etc/sysconfig/network,重启
    3.修改虚拟机的网络设备选项,仅主机模式
    4.切换会普通用户,修改ifcfg-eth0,sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    service network restart重启服务 查看ifconfig

    DEVICE=eth0
    HWADDR=08:00:27:A3:67:AE
    TYPE=Ethernet
    UUID=dbf06565-ac4c-4441-9813-a2cb06e01e66
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static
    IPADDR=192.168.56.125
    GATEWAY=192.168.56.2
    NETMASK=255.255.255.0
    DNS1=8.8.8.8

    6.修改/etc/hosts文件,sudo vi /etc/hosts
    7.关闭防火墙,service iptables stop,sudo chkconfig iptables off,
    8.检查SSH是否已经安装成功 ,rpm -qa | grep openssh,rpm -qa | grep rsync
    9.启动SSH服务,sudo service sshd restart
    10.配置ssh无密码访问
    生成公钥密钥对
    在每个节点上分别执行:
    命令行输入:cd .ssh/,ssh-keygen -t rsa
    一直按回车直到生成结束
    执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub
    其中前者为私钥,后者为公钥
    在主节点上执行:
    命令行输入:cp id_rsa.pub authorized_keys

    将子节点的公钥拷贝到主节点并添加进authorized_keys
    将两个子节点的公钥拷贝到主节点上
    分别在两个子节点上执行:
    scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa_slave01.pub
    scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa_slave02.pub

    然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去
    主节点上执行:
    cat id_rsa_slave01.pub>> authorized_keys
    cat id_rsa_slave02.pub>> authorized_keys

    将主节点的authorized_keys文件分别替换子节点的authorized_keys文件
    主节点上用scp命令将authorized_keys文件拷贝到子节点的相应位置
    scp authorized_keys root@slave01:/root/.ssh/
    scp authorized_keys root@slave02:/root/.ssh/

    最后测试是否配置成功
    在master上分别执行
    ssh slave01
    ssh slave02
    能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。

    正式开始:
    1.ssh连接xshell
    2.ssh连接Xftp,用户名,密码
    3.上传jdk,如果是root用户,传到/opt下;如果是普通用户,传到/home/lpy(普通用户名)
    4.解压jdk tar -zxvf jdk... -C ~/app/ ,或者 ~/opt/ ,
    5.查询已有的JDK rpm -qa |grep -i jdk
    6.删除jdk rpm -e --nodeps 包名
    7.配置环境变量 sudo vi /etc/profile
    加入 export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
    export PATH=$PATH:$JAVA_HOME/bin

    生效 source /etc/profile
    8.校验 java -version
    9.解压hadoop sudo tar -zxvf hadoop... -C ~/app/
    10.cd到hadoop-2.6.0-cdh5.7.0包中,再cd到etc/hadoop(etc前面没有/,相对路径),因为hadoop的配置文件都在etc/hadoop目录下
    11.修改3个配置文件
    sudo vi hadoop-env.sh #export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
    export HADOOP_HOME=/home/lpy/app/hadoop-2.6.0-cdh5.7.0


    core-site.xml (改主机名) <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:8020</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hdfs/tmp</value>
    </property>
    </configuration>

    hdfs-site.xml <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>
    <property>
    <name>dfs.name.dir</name>
    <value>/opt/hdfs/tmp/dfs/name</value>
    </property>
    <property>
    <name>dfs.data.dir</name>
    <value>/opt/hdfs/tmp/dfs/data</value>
    </property>
    slaves ->hostname改为master
    12.修改环境变量,追加HADOOP_HOME到/etc/profile中
    sudo vi /etc/profile

    export JAVA_HOME=/home/lpy/app/jdk1.7.0_79
    export PATH=$PATH:$JAVA_HOME/bin
    export HADOOP_HOME=/home/lpy/app/hadoop-2.6.0-cdh5.7.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile
    13.格式化HDFS
    如果出现java.io.IOException: Cannot create directory /opt/hdfs/tmp/dfs/name/current
    表示目录操作权限不够,需要现在/opt/hdfs/tmp/dfs/name和/opt/hdfs/tmp/dfs/data目录下窗口current目录并设置权限:

    [lpy@master bin]$ cd /opt/
    [lpy@master opt]$ sudo chmod -R a+w /opt/hdfs
    [lpy@master ~]$ cd app/hadoop-2.6.0-cdh5.7.0/bin
    [lpy@master bin]$ hadoop namenode -format

    进入bin目录执行命令 hadoop namenode -format

    13.启动Hadoop并验证安装 进入sbin目录执行命令 sudo ./start-dfs.sh ./start-yarn.sh
    [root@master ~]# cd app/hadoop-2.6.0-cdh5.7.0/
    [root@master hadoop-2.6.0-cdh5.7.0]# cd sbin/
    [root@master sbin]# ./start-dfs.sh
    [root@master sbin]# ./start-yarn.sh


    14.检验是否启动成功有两种方法:
    1.通过查看进程
    [root@master sbin]# jps
    4615 NodeManager
    4115 NameNode
    4524 ResourceManager
    4391 SecondaryNameNode
    4680 Jps
    4200 DataNode
    [root@master sbin]# ssh slave01
    Last login: Thu Nov 5 03:44:48 2020 from master
    [root@slave01 ~]# jps
    4013 DataNode
    4243 Jps
    4109 NodeManager
    [root@slave01 ~]# ssh slave02
    Last login: Thu Nov 5 03:44:57 2020 from slave01
    [root@slave02 ~]# jps
    3490 NodeManager
    3624 Jps
    3394 DataNode

    2.通使用浏览器查看
    本机端口号:50070 192.168.56.125:50070
    15.如果想要停止Hadoop可以,进入sbin目录执行命令./stop-dfs.sh

    解决问题:
    Commod not found---》环境变量配置错误或者没有生效
    格式化失败--》进入opt下 rm -rf hdfs目录 重新格式化(检查 core-site.xml hdfs-site.xml)
    少Node 1.先关闭服务再开启 ./stop-dfs.sh ./start-dfs.sh
    2.关闭服务 删除opt下的hdfs 重新格式化

  • 相关阅读:
    面向对象 小游戏 打飞机
    面向对象2
    面向对象
    正则 校验邮箱
    正则 过滤敏感字
    Strobogrammatic Number
    Binary Tree Right Side View
    [?]*Closest Binary Search Tree Value II
    *Closest Binary Search Tree Value
    *Inorder Successor in BST
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/13932492.html
Copyright © 2020-2023  润新知