分布式部署
    机器准备
            ip :                      hostname:                                          Memory    Core:
        192.168.59.162     bigdata-hpsk02.huadian.com bigdata-hpsk02    2G            1
        192.168.59.163     bigdata-hpsk03.huadian.com bigdata-hpsk03    2G            1        
        192.168.59.164     bigdata-hpsk04.huadian.com bigdata-hpsk04    2G            1
    要求:
        多台机器之间,
            目录结构一致,用户名,权限等一致
            防火墙关闭,selinux
        
    克隆之后,只用root用户操作    
            vi /etc/udev/rules.d/70-persistent-net.rules
            vi /etc/sysconfig/network-scripts/ifcfg-eth0
            vi /etc/sysconfig/network
            vi /etc/hosts
            
    
安装方式:在Linux上安装软件
    不使用批量安装工具
        手动将配置好的Hadoop分发给其他机器
        传统的Apache版本可以使用该方法
    
    使用批量工具:大数据集群运维管理工具
        cm (cloudera manager),
        cloudera公司提供
            CDH版本:
                框架多了,兼容性问题就出现了,CDH版本帮你解决了这个问题。
                修改了很多bug
                比Apache的版本稳定性好
                用的比较多的版本:5.7.6
                
机器选型:
    硬件服务器
        
    云服务器
    
    配置
        一般配置
            16core    32GB    
            32core    64G         spark,用户画像
            硬盘:8~16T            12T
            
            数据问题
            中小型企业
            80 * 5 * 24 *30 *12    *3 *3 = 300t
            80 * 24 * 5 = 10G 
            一条记录600字节 ,2000W
    
Linux环境配置 :   
    ip,主机名、本地映射、DNS
    防火墙,selinux:(/ect/selinux/config)
    
    ----------------------
        hadoop启动的过程方式
            单个进程启动
                sbin/hadoop-daemon.sh start XX
            分别启动hdfs和yarn
                sbin/start-dfs.sh
                    DataNode
                    NameNode
                    SecondaryNameNode
                sbin/start-yarn.sh
            一次性启动所有
                sbin/start-all.sh
        
    ----------------------
    
    ssh免密钥登录:
        ssh远程登录
        ssh bigdata-hpsk03.huadian.com
        第一步:为每台机器生产自己公私钥
            ssh-keygen -t rsa   
            /home/huadian/.ssh
        第二步:共公钥发给每台机器,包括自己
            ssh-copy-id bigdata-hpsk02.huadian.com
            ssh-copy-id bigdata-hpsk03.huadian.com
            ssh-copy-id bigdata-hpsk04.huadian.com
        ---测试---
        用ssh登录到其他机器,包括自己
        
    NTP时间同步
        Linux中,我们可以通过ntp服务实现每台机器的时间一致
        
        实现方式
            通过Linux crotab实现
                让我们的系统每1分钟和时间服务器进行同步
                crotab -e
                    *    *    *    *    *        command
                    分  时  日  月    周
                    */1 *    *    *    *    ntpdate ntp_server_ip
        
        
                世界使用ntp服务同步外网 时间服务器
            
            选择一台机器作为中间同步服务A,A和外网进行同步,
            B,C同步A
                配置A:
                    sudo vi /etc/ntp.conf
                        删除
                            restrict default kod nomodify notrap nopeer noquery
                            restrict -6 default kod nomodify notrap nopeer noquery
                            restrict 127.0.0.1
                            restrict -6 ::1
                            server 0.centos.pool.ntp.org
                            server 1.centos.pool.ntp.org
                            server 2.centos.pool.ntp.org
                        添加
                            A和谁同步
                                server 202.112.10.36
                            允许谁可以和我同步
                                restrict 192.168.59.0 mask 255.255.255.0 nomodify notrap    
                            配置本地同步
                                server 127.127.1.0
                                fudge 127.127.1.0 stratnum 10
                    启动ntp服务
                        sudo service ntpd start 
                配置B,C和A同步    
                    sudo vi /etc/ntp.conf
                        删除:
                        添加:
                        server 192.168.59.162
                    开启ntp服务
                        sudo service ntpd start
                    手动同步
                        sudo ntpdate 192.168.59.162
                
                查看当前主机和谁同步:ntpq -p
                偷懒:
                    sudo date -s "2018-06-16 16:58:00"
                
        
        
    
    安装部署Hadoop:
        节点分布情况
            node2    datanode    nodemanager        NameNode(工作)
            node3    datanode    nodemanager            
            node4    datanode     nodemanager        resourceManager(工作)
    
        安装JDK:
            node2上面
                tar -zxcf
            scp -r jdk1.8.0_91/ huadian@bigdata-hpsk03.huadian.com:/opt/modules/
            scp -r jdk1.8.0_91/ huadian@bigdata-hpsk04.huadian.com:/opt/modules/
            
            下载:scp -r huadian@bigdata-hpsk03.huadian.com:/opt/modules/ jdk1.8.0_91/ 
            环境变量配置
        Hadoop:
            上传解压
            修改配置文件
                -》-env.sh 环境变量
                JAVA_HOME:

                        Hadoop-env.sh
                        mapred-env.sh
                        yarn-env.sh


                -》-site.xml:配置用户自定义需求:
                    core-site:配置Hadoop全局的一致属性
                        fs.defaultFS:hdfs入口
                        hadoop.tmp.dir:临时存储目录

        <property>
			<name>fs.defaultFS</name>
			<value>hdfs://bigdata-hpsk02.huadian.com:8020</value>
		</property>

		<property>
			<name>hadoop.tmp.dir</name>
			<value>/opt/modules/hadoop-2.7.3/data/tmpData</value>
		</property>


                    hdfs-site:HDFS的属性
                        dfs.replication:文件副本数
                        dfs.namenode.secondary.http-address:bigdata-hpsk02.huadian.com:50090(配置secondarynamenode)

        <property>
			<name>dfs.replication</name>
			<value>3</value>
		</property>

        <property>
			<name>dfs.namenode.secondary.http-address</name>
			<value>bigdata-hpsk02.huadian.com:50090</value>
		</property>


                    mapred-site:配置MapReduce属性
                        mapreduce.framework.name:MapReduce运行在YARN上

<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
</property>

# 下面的是配置历史服务器,可以不配置,看需要:
<property>
		<name>mapreduce.jobhistory.address</name>
		<value>bigdata-hpsk02.huadian.com:10020</value>
</property>

<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>bigdata-hpsk02.huadian.com:19888</value>
</property>


                    yarn-site:用户配置YARN属性

                        yarn.resourcemanager.hostname
                        yarn.nodemanager.aux-services
                        resourceManager入口
                        告知yarn ,mapreduce程序将在你这里运行

<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>bigdata-hpsk04.huadian.com</value>
</property>

<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

#下面的是配置log日志文件,用于方便查看出错信息日志文件(可以不配置,看需要):
<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
</property>

<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
</property>


                    
            分发:
                scp -r hadoop-2.7.3/  huadian@bigdata-hpsk03.huadian.com:/opt/modules/
                scp -r hadoop-2.7.3/  huadian@bigdata-hpsk04.huadian.com:/opt/modules/
    
            启动测试:
                -》node2:格式化(bin/hdfs  namenode -format),启动NameNode
                -》3个节点中,启动dataNode
                -》sbin/stop-dfs.sh    sbin/stop-yarn.sh 
                -》sbin/start-dfs.sh    sbin/strat-yarn.sh 

启动对应进程:
                    在hpsk02启动HDFS
                    在hpsk04启动YARN
   
    
    
    
    
    
        
        
    
    
    
    
    
    

10-05 09:52