Centos-7安装hadoop
一、Linux的配置
 
	集群的规模:3台
	
	Windows的服务器:
	8GB
	50GB左右的一个盘
	
	以下的配置都必须在Master(2G) slave slave1上进行配置
1.时钟同步 
		su root
		
		aliyun.com 时钟域名
		cn.pool.ntp.org 时钟域名
		
		crontab -e  打开linux的自动时钟同步文件
		0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
或者
0 1 * * * /usr/sbin/ntpdate aliyun.com
		分时日月年
重启定时任务   systemctl restart crond   
		
		当下立刻同步:/usr/sbin/ntpdate cn.pool.ntp.org
		
		master slave slave1
		
	2. 主机名 hostname
		su root
		centos7特地添加了hostnamectl命令查看
		hostnamectl set-hostname 命令修改主机名
hostnamectl set-hostname master
重新打开窗口即可
或者
vim /etc/hostname
[root@zsls ~]# cat /etc/hostname 
slave1
reboot 重启即可
3.关闭防火墙
[root@master ~]# systemctl status firewalld.service #查看状态
[root@master ~]# systemctl stop firewalld.service #停止
[root@master ~]# systemctl status firewalld.service 
[root@master ~]# systemctl disable firewalld.service  #开机禁用
4.配置主机hosts
[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.217.180 master
192.168.217.181 slave1
192.168.217.182 slave2
分别配置master slave1 slave2 主机的/etc/hosts配置
5.安装JDK
6.ssh免密配置
直接执行:(自身免密)
每个机器上执行
ssh-keygen -t rsa
ssh-copy-id IP(自身IP 例如 ssh-copy-id 192.168.217.180)
各节点分别执行
比如IP地址为A,B,C三台,A上执行ssh-copy-id B , ssh-copy-id C ,以此类推
ssh-copy-id IP (其他节点IP 例如 在192.168.217.180机器上 执行 ssh-copy-id 192.168.217.181 然后在执行 ssh-copy-id 192.168.217.182 。。。。)
二、Hadoop集群的配置
1.安装hadoop
上传hadoop安装包
这里学习练习用的是hadoop-2.5.2.tar.gz的版本
[root@master ~]# tar -zxvf hadoop-2.5.2.tar.gz
2.配置hadoop运行时环境 (java开发的)
[root@master hadoop]# pwd
/root/hadoop-2.5.2/etc/hadoop
[root@master hadoop]# vim hadoop-env.sh
在靠前的位置把export JAVA_HOME=${JAVA_HOME}
改成
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
3.配置yarn-env.sh环境变量
YARN 一种集群资源管理 也是java语言开发
[root@master hadoop]# pwd
/root/hadoop-2.5.2/etc/hadoop
[root@master hadoop]# vim yarn-env.sh
修改 export JAVA_HOME=/usr/local/java/jdk1.8.0_161
4.配置core-site.xml
[root@master hadoop]# vim core-site.xml
<configuration>
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://master:9000</value>
     </property>
     <property>
         <name>hadoop.tmp.dir</name>
         <value>/var/hadoopdata</value>
     </property>
</configuration>
# fs.defaultFS hdfs的文件系统的入口 它也决定了主节点的角色
# hadoop.tmp.dir 在各个节点上存放数据的位置
/var/hadoopdata需要每个机器都要有创建这个目录
5.配置 hdfs-site.xml
[root@master hadoop]# vim hdfs-site.xml
<configuration>
    <property>
<name>dfs.replication</name>
<value>2</value>
    </property>
</configuration>
# dfs.replication 有两台节点 配置2 即为2倍的空间 是牺牲空间每个节点都存储文件 副本的数量
6.配置yarn-site.xml
yarn的核心目标是为各个分布式离线、实时等计算框架提供各个节点上的cpu和内存资源,并负责管理和回收这些资源
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- NodeManger 上运行的附属服务。需要配置成mapreduce_shuffle,才可运行MapReduce -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
<!-- ResouceManager对客户端暴露的访问地址。客户端通过该地址想RM提交应用程序
-->
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:18040</value>
    </property>
<!-- ResouceManager对ApplicationMaster(MRAppMaster应用程序) 暴露的问问地址
该地址想RM申请资源、释放资源等
-->
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:18030</value>
    </property>
<!-- ResouceManager对NodeManager暴露的访问地址。NodeManager通过改地址想RM汇报
-->
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:18025</value>
    </property>
<!-- ResouceManager对管理员暴露的访问地址。管理员通过该地址想RM发送管理命令
-->
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:18141</value>
    </property>
<!-- ResouceManager 的web ui 暴露的地址。用户通过该地址在浏览器中查看集群
-->
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:18088</value>
    </property>
<!-- 设置在yarn平台运行spark程序查看运行结果日志的存储是否开启-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
<!-- 通过 yarn logs -applicationId a pplication_1334234234234_001 -->
    <property>
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/var/log/hadoop-yarn/apps</value>
    </property>
</configuration>
7.配置mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
8.在master节点配置slaves文件
即配置那些节点担任slave节点
[root@master hadoop]# vim slaves 
[root@master hadoop]# cat slaves 
slave1
slave2
9.把master上配置的拷贝到slave节点上
[root@master hadoop]# scp -r /root/hadoop-2.5.2 root@slave1:/root
[root@master hadoop]# scp -r /root/hadoop-2.5.2 192.168.217.182:/root
三 :启动hadoop
1.配置hadoop
[root@master hadoop]# vim /etc/profile
export HADOOP_HOME=/root/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
[root@master hadoop]# source /etc/profile
scp -r /etc/profile root@slave1:/etc/
 scp -r /etc/profile root@slave2:/etc/
2.在master上格式化
[root@master ~]# hdfs namenode -format
3.启动hadoop
[root@master ~]# start-all.sh
[root@master ~]# jps
4880 ResourceManager
7488 Jps
4581 NameNode
4746 SecondaryNameNode
[root@slave1 ~]# jps
4403 NodeManager
4314 DataNode
6315 Jps
查看每个节点的启动日志:如master的:
[root@master hadoopdata]# cd /root/hadoop-2.5.2/logs/
[root@master logs]# ls
hadoop-root-namenode-master.log           hadoop-root-secondarynamenode-master.out  yarn-root-resourcemanager-master.out
hadoop-root-namenode-master.out           SecurityAuth-root.audit
hadoop-root-secondarynamenode-master.log  yarn-root-resourcemanager-master.log
本文来自博客园,作者:zsls-lang,转载请注明原文链接:https://www.cnblogs.com/zsls-lang/p/11220859.html
行也思卿,坐也思卿
日高三竿我犹眠,不管人间万里愁

                
            
        
浙公网安备 33010602011771号