zoukankan      html  css  js  c++  java
  • 搭建Hadoop集群框架

    准备工作:
    1.root用户下添加用户,设置密码
    2.修改主机名,vi /etc/sysconfig/network,重启
    3.修改虚拟机的网络设备选项,仅主机模式
    4.切换到root用户,添加权限,vi /etc/sudoers, root ALL=(ALL) ALL
    5.切换会普通用户,修改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.生成公钥,cd .ssh/,ssh-keygen -t rsa 如果发现ssh目录找不到,原因是因为没有用root用户ssh登录过,执行一下ssh操作就会自动生成了 ssh localhost
    11.公钥拷贝到本机的authorized_keys列表,ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@master (即主机名)
    12.进行SSH免密验证,对于单节点伪分布模式,在主节点(master)进行验证,ssh master (即主机名)

    正式开始:
    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
    [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


    14.检验是否启动成功有两种方法:
    1.通过查看进程
    [lpy@master sbin]$ jps
    3176 DataNode
    3783 Jps
    3089 NameNode
    3664 SecondaryNameNode
    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 重新格式化

  • 相关阅读:
    mysql判断一个字符串是否包含某几个字符
    mysql动态sql 整理多个字段
    mysql 把表中某一列的内容合并为一行
    linux基础
    shell基础
    香港主机Squid+Stunnel代理搭建
    mysql字符串根据指定字符分割
    tomcat项目快速启动设置
    Linux系统内存占用90%以上——解决方法
    redis常用命令
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/13898712.html
Copyright © 2011-2022 走看看