CentOS-7-x86_64-DVD-1810.iso + jdk-8u161-linux-x64.tar.gz + hadoop-2.8.3.tar.gz
CentOS-7-x86_64-DVD-1810.iso镜像下载:
hadoop-2.8.3.tar.gz 下载:
- 链接:https://pan.baidu.com/s/1zXRTJSObxXvZHVB7V1O3MQ 提取码:q2io
jdk-8u161-linux-x64.tar.gz 下载:
- 链接:https://pan.baidu.com/s/1az4utbpRzO40gKRExsmB5w 提取码:kgyu
一、配置ip地址等信息在/etc/sysconfig/network-scripts/ifcfg-ens33文件里做如下配置:
命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
二、修改主机名:
命令:vi /etc/sysconfig/network
三、域名重定向:
命令:vi /etc/hosts
四、关闭防火墙:
- 永久性生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
- 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
- 完成以上步骤后重启一下虚拟机
五、Jdk与Hadoop环境变量配置:
首先上传jdk-8u161-linux-x64.tar.gz与hadoop-2.8.3.tar.gz 压缩包就不瞎扯了。
- 创建一个apps安装目录(将Jdk与Hadoop解压至此目录)
mkdir /usr/local/apps
- 解压 jdk-8u161-linux-x64.tar.gz
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/apps/
cd /usr/local/apps/jdk1.7.0_161/
- export JAVA_HOME=/usr/local/apps/jdk1.7.0_161
- export PATH=$PATH:$JAVA_HOME/bin
使配置文件生效:source /etc/profile
接下来继续配置Hadoop:
tar -zxvf hadoop-2.8.3.tar.gz -C /usr/local/apps/
cd /usr/local/apps/hadoop-2.8.3/
vi /etc/profile
使配置文件生效:source /etc/profile
OK,继续去修改hadoop配置文件:
- vi hadoop-env.sh
- vi core-site.xml
<configuration>
<!--指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos00:9000</value>
</property>
<!--指定Hadoop运行时所产生的文件的目录结构-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/apps/hadoop-2.8.3/tmp/</value>
</property>
</configuration>
- vi hdfs-site.xml
<configuration>
<!--指定HDFS副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
先将 mapred-site.xml.template文件修改为mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
- vi mapred-site.xml
<configuration>
<!--Job 监控地址及端口 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!--配置 ResourceManager,NodeManager 的通信端口,web 监控端口等 -->
<!--指定ResourceManager地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos00</value>
</property>
<!--reducer获取数据方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置到此结束,接下来就是启动集群。
六、集群启动
- 手动启动
1、格式化NameNode(只需第一次启动时格式化,之后不需再格式化)
bin/hdfs namenode -format
2、启动NameNode与DataNode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
3、 启动secondarynamenode
./hadoop-daemon.sh start secondarynamenode
4、启动:resourcemanager与nodemanager
./yarn-daemon.sh start resourcemanager
./yarn-daemon.sh start nodemanager
5、查看监听端口:
- Shell脚本批量启动:
1、生成密钥对:ssh-keygen
2、将公钥拷贝给centos00
3、shell命令停止启动集群:./stop-dfs.sh
4、shell命令启动集群:./start-dfs.sh (即可发现不再使用密码)
5、查看集群(检查是否启动成功)
八、上面搭建的是 一个单节点的伪分布式Hadoop集群,接下来我们从一个单节点的伪分布式Hadoop集群扩展为多节点的Hadoop集群。
192.168.112.100 centos00
192.168.112.101 centos01
192.168.112.102 centos02
192.168.112.103 centos03
1、centos00 无密码登录扩展
ssh-keygen -R IP(B)
2、拷贝hadoop安装目录:scp -r /usr/local/apps/hadoop-2.8.3/ centos01:/usr/local/apps/
3、删除拷贝过来的centos00的tmp目录下的文件 :rm -rf tmp/
(后面的节点也是如此操作:重复1,2,3)
4、修改centos00(主节点的/usr/local/apps/hadoop-2.8.3/etc/hadoop/目录下的slaves,将扩展的节点全部添加至slaves)
5、启动集群(start-all.sh):
start-dfs.sh
start-yarn.sh
查看主节点启动状况:
查看从节点启动状况:
6、查看集群(检查是否启动成功)
集群搭建到此结束,深入扩展(加入节点不够用,动态添加从节点)