[root@VM-M-01594949483071 ~]# ip a
[root@VM-M-01594949481966 ~]# ip a
[root@VM-M-01594949480907 ~]# ip a
步骤四:修改主机名
[root@VM-M-01594949483071 ~]# hostnamectl set-hostname master
[root@VM-M-01594949483071 ~]# bash
[root@VM-M-01594949481966 ~]# hostnamectl set-hostname slave1
[root@VM-M-01594949481966 ~]# bash
[root@VM-M-01594949480907 ~]# hostnamectl set-hostname slave2
[root@VM-M-01594949480907 ~]# bash
步骤五:主机映射
[root@master ~]# vi /etc/hosts
[root@slave1 ~]# vi /etc/hosts
[root@slave2 ~]# vi /etc/host
保存并退出
实验任务二:时钟同步
步骤一:修改配置文件
[root@master ~]# vi /etc/sysconfig/ntpd
[root@slave1 ~]# vi /etc/sysconfig/ntpd
[root@slave2 ~]# vi /etc/sysconfig/ntpd
图1-5配置文件内容
保存并退出
步骤二:同步时间
[root@master ~]# systemctl start ntpd
[root@master ~]# date
[root@slave1 ~]# systemctl start ntpd
[root@slave1 ~]# date
[root@slave2 ~]# systemctl start ntpd
[root@slave2 ~]# date
图1-6时间同步查看
实验任务三:防火墙
步骤一:关闭防火墙(三台都要关闭)
[root@master ~]# systemctl stop firewalld.service
[root@slave1 ~]# systemctl stop firewalld.service
[root@slave2 ~]# systemctl stop firewalld.service
步骤二:关闭防火墙自启
[root@master ~]# systemctl disable firewalld
[root@slave1 ~]# systemctl disable firewalld
[root@slave2 ~]# systemctl disable firewalld
步骤三:查看防火墙状态
[root@master ~]# systemctl status firewalld
[root@slave1 ~]# systemctl status firewalld
[root@slave2 ~]# systemctl status firewalld
实验任务四:ssh免密
步骤一:创建免密(三个主机同时进行)
[root@master ~]# su - hadoop
[hadoop@master ~]$ ssh-keygen -t rsa -P ""
输入回车
[root@slave1 ~]# su - hadoop
[hadoop@slave1 ~]$ ssh-keygen -t rsa -P ""
[root@slave2 ~]# su - hadoop
[hadoop@slave2 ~]$ ssh-keygen -t rsa -P ""
步骤二:创建公钥
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
[hadoop@slave1 ~]$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
[hadoop@slave2 ~]$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
步骤三:给公钥执行权限
[hadoop@master ~]$ chmod 700 ~/.ssh/authorized_keys
[hadoop@slave1 ~]$ chmod 700 ~/.ssh/authorized_keys
[hadoop@slave2 ~]$ chmod 700 ~/.ssh/authorized_keys
步骤四:将公钥传输给slave1和slave2
[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/
[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/
第一次传输是需要输入密码的,后面就不用了
步骤五:登陆测试
[hadoop@master ~]$ ssh slave1
[hadoop@master ~]$ ssh slave2
好了,这是登陆成功了
PART2:Hadoop集群部署实验任务一:Hadoop软件安装
步骤一:解压安装Hadoop
[hadoop@master ~]$ su root
[root@master hadoop]$ cd
[root@master ~]# tar -zxvf /opt/software/hadoop-2.7.1.tar.gz -C /usr/local/src/
步骤二:更改hadoop文件名
[root@master ~]# mv /usr/local/src/hadoop-2.7.1 /usr/local/src/hadoop
步骤三:配置hadoop环境变量
[root@master ~]# vi /etc/profile
进行如下配置
export HADOOP_HOME=/usr/local/src/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存并退出
步骤四:修改目录所有者和所有者组
上述安装完成的Hadoop软件只能让root用户使用,要让hadoop用户能够运行Hadoop软件,需要将目录/usr/local/src的所有者改为hadoop用户。
[root@master ~]# chown -R hadoop:hadoop /usr/local/src
[root@master ~]# ll /usr/local/src/
实验任务二:安装JAVA环境
步骤一:解压安装jdk
[root@master ~]# tar -zxvf /opt/software/jdk-8u152-linux-x64.tar.gz -C /usr/local/src
步骤二:更改jdk的名称
[root@master ~]# mv /usr/local/src/jdk1.8.0_152/ /usr/local/src/java
[root@master ~]# chown -R hadoop:hadoop /usr/local/src/java
步骤三:配置java的环境变量
[root@master ~]# vi /etc/profile
配置如下环境
export JAVA_HOME=/usr/local/src/java #JAVA_HOME指向JAVA安装目录 export PATH=$PATH:$JAVA_HOME/bin #将JAVA安装目录加入PATH路径
保存并退出
步骤四:生效环境变量
[root@master ~]# source /etc/profile
[root@master ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200
[root@master ~]# update-alternatives --set java /usr/local/src/java/bin/java
步骤五:查看java和hadoop
[root@master ~]# java -version
[root@master ~]# hadoop version
这样就是安装成功了
PART3:集群配置步骤一:进入到hadoop配置文件的目录下hadoop
[root@master ~]# cd /usr/local/src/hadoop/etc/hadoop
步骤二:配置core-site.xml
[root@master hadoop]# vi core-site.xml
在文件里添加如下配置
fs.defaultFS hdfs://master:9000 hadoop.tmp.dir file:/usr/local/src/hadoop/tmp
保存并退出
步骤三:配置hadoop-env.sh
[root@master hadoop]# vi hadoop-env.sh
在文件的最下方添加如下环境配置
export JAVA_HOME=/usr/local/src/java export HADOOP_PERFIX=/usr/local/src/hadoop export HADOOP_OPTS="-Djava.library.path=$HADOOP_PERFIX/lib:$HADOOP_PERFIX/lib/natice"
保存并退出
步骤四:配置hdfs-site.xml
[root@master hadoop]# vi hdfs-site.xml
在文件里添加如下配置
dfs.namenode.name.dir file:/usr/local/src/hadoop/dfs/name dfs.datanode.data.dir file:/usr/local/src/hadoop/dfs/data dfs.replication 3
保存并退出
步骤五:配置mapred-site.xml
将副本拷贝成mapred-queues.xml
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vi mapred-site.xml
在文件里添加如下配置
mapreduce.framework.name yarn mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888
保存并退出
步骤六:配置yarn-site.xml
[root@master hadoop]# vi yarn-site.xml
在文件里添加如下配置
yarn.resourcemanager.address master:8032 yarn.resourcemanager.scheduler.address master:8030 yarn.resourcemanager.resource-tracker.address master:8031 yarn.resourcemanager.admin.address master:8033 yarn.resourcemanager.webapp.address master:8088 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
保存并退出
步骤七:配置masters文件
执行以下命令修改masters配置文件。
[root@master hadoop]# vi masters #加入以下配置信息
master
保存并退出
步骤八:配置slaves
[root@master hadoop]# vi slaves
在文件里改成如下配置
slave1 slave2
保存并退出
步骤九:创建目录
[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/name
[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/data
[root@master hadoop]# mkdir -p /usr/local/src/hadoop/tmp
实验任务四:主从节点文件的分发
步骤一:分发hadoop目录
[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/
[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
[root@master hadoop]# scp -r /usr/local/src/java/ root@slave1:/usr/local/src/
[root@master hadoop]# scp -r /usr/local/src/java/ root@slave2:/usr/local/src/
步骤二:分发环境配置
[root@master hadoop]# scp -r /etc/profile root@slave1:/etc/
[root@master hadoop]# scp -r /etc/profile root@slave2:/etc/
在每个Slave节点上修改/usr/local/src/hadoop目录的权限
[root@master ~]# chown -R hadoop:hadoop /usr/local/src/hadoop/
[root@slave1~]# chown -R hadoop:hadoop /usr/local/src/hadoop/
[root@slave2~]# chown -R hadoop:hadoop /usr/local/src/hadoop/
步骤三:生效环境配置
[root@slave1 ~]# source /etc/profile
[root@slave1 ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200
[root@slave1 ~]# update-alternatives --set java /usr/local/src/java/bin/java
[root@slave2 ~]# source /etc/profile
[root@slave2 ~]# update-alternatives --install /usr/bin/java java /usr/local/src/java/bin/java 200
[root@slave2 ~]# update-alternatives --set java /usr/local/src/java/bin/java
实验三:Hadoop集群启动测试
实验任务一:hadoop启动
步骤一:格式化元数据
进入hadoop用户
[root@master hadoop]# su hadoop
[hadoop@master hadoop]$ source /etc/profile
[root@slave1 hadoop]# su hadoop
[hadoop@slave1 hadoop]$ source /etc/profile
[root@slave2 hadoop]# su hadoop
[hadoop@slave2 hadoop]$ source /etc/profile
[hadoop@master hadoop]$ hdfs namenode -format
状态为0显示的是成功
步骤二:启动hdfs
[hadoop@master ~]$ start-dfs.sh
步骤三:启动yarn
[hadoop@master ~]$ start-yarn.sh
实验任务二:hadoop的查看
步骤一:进程的查看
[hadoop@master ~]$ jps
步骤二:master:50070查看
进入到浏览器查看
步骤三:master:8088查看
查看成功
步骤四:master:9000查看
显示有人访问
实验任务三:mapreduce测试
步骤一:创建一个测试文件
[hadoop@master ~]$ vi a.txt
内容如下:
HELLO WORD
HELLO HADOOP
HELLO JAVA
步骤二:在hdfs创建文件夹
[hadoop@master ~]$ hadoop fs -mkdir /input
步骤三:将a.txt传输到input上
[hadoop@master ~]$ hadoop fs -put ~/a.txt /input
步骤四:进入到jar包测试文件目录下
[hadoop@master hadoop]$ cd /usr/local/src/hadoop/share/hadoop/mapreduce/
步骤五:测试mapreduce
[hadoop@master mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input/a.txt /output
成功如下:
注:如果需要重复执行,需要删除输出目录,否则会报错
[hadoop@master mapreduce]$ hdfs dfs -rm -r -f /output
步骤六:查看hdfs下的传输结果
[hadoop@master mapreduce]$ hadoop fs -lsr /output
步骤七:查看文件测试的结果
[root@master mapreduce]# hadoop fs -cat /output/part-r-00000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)