******第一部分环境准备
-
安装好linux
-
*安装VMTools
-
关闭防火墙
sudo service iptables stop
sudo chkconfig iptables off -
设置静态IP,更改主机名
编辑vim /etc/sysconfig/network-scripts/ifcfg-eth0
改成DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME=“eth0”
IPADDR=192.168.5.101
PREFIX=24
GATEWAY=192.168.5.2
DNS1=192.168.5.2编辑vim /etc/sysconfig/network
改HOSTNAME=那一行 -
配置/etc/hosts
vim /etc/hosts192.168.75.100(自己是什么就写什么) hadoop100
192.168.75.101 hadoop101
192.168.75.102 hadoop102 -
创建一个一般用户jinghang,给他配置密码
useradd jinghang
passwd jinghang -
配置这个用户为sudoers
vim /etc/sudoers
在root ALL=(ALL) ALL
添加jinghang ALL=(ALL) NOPASSWD:ALL
保存时wq!强制保存 -
在/opt目录下创建两个文件夹module和software,并把所有权赋给jinghang
mkdir /opt/module /opt/software
chown jinghang:jinghang /opt/module /opt/software -
关机,快照,克隆
-------------------------------------以下使用一般用户登陆操作-----------------------------------------
10. 克隆的虚拟机改IP、网卡、主机名
11. 配置免密登陆
1. 生成密钥对
ssh-keygen -t rsa 三次回车
2. 发送公钥到本机
ssh-copy-id hadoop102 输入一次密码
3. 分别ssh登陆一下所有虚拟机
ssh hadoop103
exit
4. 把/home/jinghang/.ssh 文件夹发送到集群所有服务器
rsync -av /home/jinghang/.ssh jinghang@jinghang03:/home/jinghang/.ssh
-
在一台机器上安装Java和Hadoop,并配置环境变量,并分发到集群其他机器
1. 拷贝文件到/opt/software,两个tar包
2. tar -zxvf xxxx.tar -C /opt/module
3. tar -zxvf xxxx.tar -C /opt/module
4. sudo vim /etc/profile
在文件末尾添加如下内容
=======================================================
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=PATH:PATH:PATH:JAVA_HOME/bin#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-2.7.2 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ======================================================== wq保存退出 5.source /etc/profile 6.rsync -av /opt/module/hadoop-2.7.2 jinghang@jinghang03:/opt/module/分发hadoop 7.rsync -av /opt/module/hadoop-2.7.2 jinghang@jinghang04:/opt/module/ 8.rsync -av /opt/module/jdk.xxxx jinghang@jinghang03:/opt/module/ 分发jdk 9.rsync -av /opt/module/jdk.xxxx jinghang@jinghang03:/opt/module/ 10. rsync -av /etc/profile root@jinghang03:/etc/profile 分发配置文件 11. 在其他机器分别执行source /etc/profile
*********第二部分hadoop(非高可用)的配置
###所有配置文件都在$HADOOP_HOME/etc/hadoop
14. 首先配置hadoop-env.sh,yarn-env.sh,mapred-env.sh文件,配置Java_HOME
在每个文件第二行添加 export JAVA_HOME=/opt/module/jdk1.8.0_144
15. 配置Core-site.xml 添加如下内容
fs.defaultFS
hdfs://主机名:9000
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
-
配置hdfs-site.xml,添加如下内容
dfs.replication
3
dfs.namenode.secondary.http-address
主机名:50090
-
配置yarn-site.xml 添加如下内容
<!-- Site specific YARN configuration properties --> <!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>主机名</value> </property> <!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
配置mapred-site.xml 添加如下内容
mapreduce.jobhistory.address 主机名:10020 mapreduce.jobhistory.webapp.address 主机名:19888
mapreduce.framework.name
yarn
-
配置etc/hadoop/Slaves,添加从节点主机名
hadoop102
hadoop103
hadoop104
20.分发配置文件
rsync -av /opt/module/hadoop-2.7.2/etc/hadoop jinghang@jinghang03:/opt/module/hadoop-2.7.2/etc/hadoop
rsync -av /opt/module/hadoop-2.7.2/etc/hadoop jinghang@jinghang04:/opt/module/hadoop-2.7.2/etc/hadoop
*********第三部分启动集群
21.在NameNode所在的服务器,格式化Namenode 在
hdfs namenode -format
-
启动hdfs,执行如下命令
start-dfs.sh -
在配置了Resourcemanager机器上执行 如下命令
start-yarn.sh
25 关闭集群 stop-dfs.sh stop-yarn.sh
26 单点启动(namenode,datanode,resourcemanager,nodemanager)命令如下
hadoop-daemon.sh start namenode或datanode
yarn-daemon.sh start resourcemanager或nodemanager
注意:如果集群出了问题(namenode或者datanode启动不起来)
stop-dfs.sh
stop-yarn.sh
rm -rf data logs
回到21重新执行