使用三节点,master、slave1、slave2,
jdk1.8.0_171
zookeeper-3.4.10
hadoop-2.7.3
首先使用Xshell连接虚拟机,不知道怎么连接的同学可以参考文章底下的系列文章链接。
hostnamectl set-hostname master(在master执行)
hostnamectl set-hostname slave1(在slave1执行)
hostnamectl set-hostname slave2(在slave2执行)
更改完后输入bash
进行生效
yum -y install vim
使用ifconfig
或ip addr
查看ip地址,接着将ip及其对应的主机名填入hosts文件中。
vim /etc/hosts
如果在正常开启网络后输入ip addr
命令看不到本机ip时,
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(网卡名ens33可能会不一样,按上图框框里面的网卡名为准)
将ONBOOT从no改为yes后保存退出,
service network restart
最后再次输入ip addr
即可获取ip信息。
关闭防火墙:
systemctl stop firewalld
查看状态:
systemctl status firewalld
永久关闭防火墙:
systemctl disable firewalld
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
yum install -y ntp
vim /etc/ntp.conf
在文件末尾添加:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
systemctl restart ntpd
ntpdate master
mkdir /usr/java
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
注意:jdk文件名以自己下载的为准
vim /etc/profile
在文件末尾添加:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
保存退出
scp -r /usr/java root@slave1:/usr/
scp -r /usr/java root@slave2:/usr/
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
source /etc/profile
java -version
mkdir /usr/zookeeper
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/zookeeper
在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹
cd /usr/zookeeper/zookeeper-3.4.10
mkdir zkdata zkdatalog
cd /usr/zookeeper/zookeeper-3.4.10/conf/
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改如下:
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
vim /etc/profile
在文件末尾添加:
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
scp -r /usr/zookeeper root@slave1:/usr/
scp -r /usr/zookeeper root@slave2:/usr/
echo '1' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在master执行)
echo '2' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在slave1执行)
echo '3' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在slave2执行)
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
source /etc/profile
zkServer.sh start
zkServer.sh status
可以看到有follower和leader,说明安装配置成功。
mkdir /usr/hadoop
tar -zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop
文件列表如下:
hadoop-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
master
slaves
进入配置文件所在目录:
cd /usr/hadoop/hadoop-2.7.3/etc/hadoop
vim hadoop-env.sh
修改java环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_171
vim core-site.xml
在
中加入以下代码:
<property>
<name>fs.default.namename>
<value>hdfs://master:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/usr/hadoop/hadoop-2.7.3/hdfs/tmpvalue>
property>
vim hdfs-site.xml
在
中加入以下代码:
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/namevalue>
<final>truefinal>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/datavalue>
<final>truefinal>
property>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>master:9001value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
vim yarn-site.xml
在
中加入以下代码:
<property>
<name>yarn.resourcemanager.addressname>
<value>master:18040value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value>master:18030value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value>master:18088value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value>master:18025value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value>master:18141value>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
在
中加入以下代码:
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
vim master
输入:
master
vim slaves
清空原来的localhost,重新输入:
slave1
slave2
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
vim /etc/profile
在文件末尾添加:
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
source /etc/profile
注意
:首次搭建集群时才需格式化,下次使用时无需再次格式化,切勿多次格式化!
hadoop namenode -format
start-all.sh
jps
vim input.txt
输入一些单词,例如:
Hello World
Hello Hadoop
Hello zookeeper
I Love Hadoop
I Love BigData
保存退出
hdfs dfs -put input.txt /
hadoop jar /usr/hadoop/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input.txt /output
查看输出文件夹,其中的part-r-00000就是我们要的结果文件
hdfs dfs -ls -R /output
hdfs dfs -cat /out*/part*
关闭hadoop
stop-all.sh(在master执行)
关闭zookeeper
zkServer.sh stop(三台机器都执行)
关闭虚拟机
shutdown -h now(三台机器都执行)
需要注意的是,
1、以上所有路径如果要自定义的话,那么相同路径输入时应该保持一致。
2、xml中,一定要检查
、
是否是一一对应的,切勿多敲出一个或少敲一个。
3、切勿多次格式化hadoop。
4、如果格式化之后发现配置文件没配好的话,首先停掉hadoop,然后删除临时文件:
rm -rf /usr/hadoop/hadoop-2.7.3/hdfs
接着修改配置文件,最后重新格式化一遍。
【大数据环境搭建(一)】VMware虚拟机安装Centos7详细教程:
https://blog.csdn.net/weixin_45092204/article/details/118885153
【大数据环境搭建(二)】使用Xshell SSH连接虚拟机详细教程:
https://blog.csdn.net/weixin_45092204/article/details/118932663
【大数据环境搭建(三)】在Centos7上搭建Hadoop集群(完全分布式)
https://blog.csdn.net/weixin_45092204/article/details/119085553
【大数据环境搭建(四)】在Centos7上搭建Hive集群(Mysql远程模式)
https://blog.csdn.net/weixin_45092204/article/details/120218392
此教程是大数据环境的第三篇文章,后续还会发布大数据各种组件的安装及配置教程,以及在安装过程中需要注意的问题。
刚刚要入手大数据的同学可以持续关注我,安装过程中遇到什么问题的同学也可以评论区留言。
要是本教程对你有帮助的话,希望大家能三连 三连 三连!
最后,祝各位同学学习顺利~