在三台虚拟机上面进行部署
1、关闭防火墙(略)
systemctl stop firewalld.service
systemctl disable firewalld.service
2、设置主机名
vi /etc/hosts
3、免密码登录
ssh-keygen -t rsa 产生自己的公钥和私钥
将自己的公钥都拷贝给对方
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114
验证一下,都不需要密码
4、jdk安装(略)
5、同步时间
6、解压和设置环境变量
每台都需要配置环境变量,另外两台虚拟机bigdata113和bigdata114则不需要解压。
操作详细见 在linux上设置Hadoop的环境变量
准备工作已经完成!下面进入正式的部署。
路径:/root/training/hadoop-2.7.3/etc/hadoop($HADOOP_HOME/etc/hadoop)
更改第25行 export JAVA_HOME=/root/training/jdk1.8.0_181
进入 /root/training/hadoop-2.7.3/etc/hadoop/ 路径找到 hdfs-site.xml 文件进行编辑。
vi hdfs-site.xml
将下面xml代码添加该文件
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
需要在hadoop目录下,先创建出tmp文件,作为HDFS对应的操作系统目录。
mkdir /root/training/hadoop-2.7.3/tmp
编辑操作与上面文件相同,则不演示。
<property>
<name>fs.defaultFSname>
<value>hdfs://bigdata112:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/root/training/hadoop-2.7.3/tmpvalue>
property>
这个文件默认没有,需要我们先复制
cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>bigdata112value>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
slaves中指定从节点的地址,将localhost改成bigdata113 bigdata114
执行下面这条命名
hdfs namenode -format
成功则出现下面这句话。
把bigdata112上的整个hadoop目录复制到bigdata113和bigdata114上面
先进入/root/training目录,执行下面两句完成复制。
scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training
在bigdata112上面启动集群
start-all.sh
3、执行wordcount程序
进入/root/training/hadoop-2.7.3/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output/wc
4、查看结果
hdfs dfs -ls /output/wc
hdfs dfs -cat /output/wc/part-r-00000
stop-all.sh