ps:本次三台虚拟机均由克隆而来
- 修改MAC地址
- vim /etc/vim /etc/udev/rules.d/70-persistent-net.rules
- 删除name="eth0"一行
- 将name="eth1"的name改为name="eth0"之后将该行ATTR(address)复制
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
- 将IPADDR设置为虚拟IP(eg:192.168.229.201),HWADDR设置为刚才复制的ATTR(address)
- 修改主机名
- vim /etc/sysconfig/network
- 修改HOSTNAME=hadoop201(另外两台虚拟机分别为hadoop202,hadoop203)
- vim /etc/hosts
- 添加如下内容:
192.168.229.201 hadoop201
192.168.229.202 hadoop202
192.168.229.203 hadoop203 - 重启
- 修改 windows系统 的 hosts 文件
- 进入C:\Windows\System32\drivers\etc
- 打开 hosts 文件并添加如下内容:
192.168.229.201 hadoop201
192.168.229.202 hadoop202
192.168.229.203 hadoop203
- 关闭防火墙
- chkconfig iptables off
- 创建hadoop用户
- adduser hadoop
- passwd hadoop
- 设置hadoop用户具有root权限
- vim /etc/sudoers
- root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
- 再/opt目录下创建 module 和 software文件夹并且将这两个文件夹属主与属组改为hadoop
- mkdir /opt/module /opt/software
- chown hadoop:hadoop module software
- 安装JDK,hadoop
- 安装JDK与之前所述一致
- 安装hadoop
- 将hadoop安装包导入到 /opt/software文件夹下并将其解压到 /opt/module文件夹下
- 进入到 解压后的hadoop文件夹中
- pwd将路径进行复制
- vim /etc/profile
- export HADOOP_HOME=/opt/module/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin - source /etc/profile
- 修改/opt 目录下的所有文件所有者为hadoop
- # chown hadoop:hadoop -R /opt
- (以上所有操作均是用root用户操作,之后切换成hadoop用户) su hadoop
- 完成上述操作后 将此台虚拟机克隆出两台命名为hadoop202,hadoop203,并对其同上修改MAC,IP地址,hostname
- 配置ssh免密码登录(三台主机均如下操作)
- cd ~
- ssh-keygen -t rsa(三下回车)
- ssh-copy-id hadoop201
- ssh-copy-id hadoop202
- ssh-copy-id hadoop203
- 配置文件
- core-site.xml
- <!-- 指定HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop203:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.6/data/tmp</value>
</property>
- hadoop-env.sh
- export JAVA_HOME=/opt/module/jdk1.8.0_151
- hdfs-site.xml
- <property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop202:50090</value><!--secondaryNameNode地址-->
</property>
- slaves
- hadoop201
hadoop202
hadoop203
- yarn-env.sh
- export JAVA_HOME=/opt/module/jdk1.8.0_151
- yarn-site.xml
- <!-- reducer 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop201</value>
</property>
- mapred-env.sh
- export JAVA_HOME=/opt/module/jdk1.8.0_151
- mapred-site.xml
- <!-- 指定 mr 运行在 yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 运行hadoop
- 如果是第一次启动 需要先进行格式化操作
- hdfs namenode -format
- 启动HDFS
- start-dfs.sh
- 启动YARN
- start-yarn.sh
- 注意:Namenode 和 ResourceManger 如果不是同一台机器,不能在 NameNode 上启动 yarn,应该在 ResouceManager 所在的机器上启动yarn
- 集群时间同步
- 时间服务器配置(root用户)
- 检查ntp是否安装
- rpm -qa|grep ntp
- 修改配置文件 vim /etc/ntp.conf
- 修改 #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap - 修改
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst 为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst -
添加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- 修改/etc/sysconfig/ntpd 文件
- vim /etc/sysconfig/ntpd
- 添加 SYNC_HWCLOCK=yes
- 重新启动 ntpd
- service ntpd start
- chkconfig ntpd on
- 其他机器配置
- crontab -e
- 编写 */1 * * * * /usr/sbin/ntpdate hadoop101