Hadoop集群安装和搭建(从零开始超级超级详细的过程)(下)
目录
前言
本文接上一节Hadoop集群安装和搭建(从零开始超级超级详细的过程)(上)内容继续讲解,可点击下方链接查看相关内容
七、Hadoop集群安装和搭建(从零开始超级超级详细的过程)(上)
八、JDK安装
由于Hadoop是用Java开发的,所有Java开发的软件都需要JDK环境支持,所以需要安装JDK,JDK可以去官网下载,这里使用Linux 64位1.8版本的JDK
(1)卸载现有 JDK
注意: 安装 JDK 前, 一定确保提前删除了自带的 JDK,之前已经讲过卸载的相关步骤了,这里不再过多论述。
(2)用 Xftp 传输 工具将 JDK 导入到 opt 目录下面的 software 文件夹下面
(3)查看是否成功传输进相应目录下
[root@hadoop102 ~]$ ls /opt/software/
也可直接ll查看当前software下的东西
ll
看到如下结果:
(4)解压 JDK 到/opt/module 目录下
[root@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
然后跳转到刚刚将jdk解压到的位置(/module目录下)
(5)配置 JDK 环境变量
这里可以新建my_env.sh文件配置,也可以直接在/etc/profile目录下直接设置(这里面设置的变量是全局变量)
下面我先介绍第一种方法配置(两种方法插入的命令是一样的只不过是位置不同)
1)新建/etc/profile.d/my_env.sh 文件
[root@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
2)添加
#JAVA_HOME*
export JAVA_HOME=/opt/module/jdk1.8.0_162
export PATH=$PATH:$JAVA_HOME/bin
3)保存后退出
下面我先介绍第二种方法配置
11)进入目录/opt/module/jdk1.8.0_162
cd /opt/module/jdk1.8.0_162
22)进入root模式
su -l root
33)返回根目录配置
vi /etc/profile
添加
#JAVA_HOME*
export JAVA_HOME=/opt/module/jdk1.8.0_162
export PATH=$PATH:$JAVA_HOME/bin
下面步骤相同
4)刷新 一下文件,让新的环境变量生效
[root@hadoop102 ~]$ source /etc/profile
(6)测试一下啊
[root@hadoop102 ~]$ java
或者
[root@hadoop102 ~]$ java -version
九、Hadoop安装
(1)进入到 Hadoop 安装包路径下
[root@hadoop102 ~]$ cd /opt/software/
(2)解压安装文件到/opt/module 下面
[root@hadoop102 software]$ tar -zxvf hadoop-2.7.1.tar.gz -C /opt/module/
(3)进入hadoop
[root@hadoop102 software]$ cd …
[root@hadoop102 opt]$ cd module
[root@hadoop102 module]$ ll
[root@hadoop102 module]$ cd hadoop-2.7.1
(4)将 Hadoop 添加到环境变量
这里添加环境变量和上面添加JDK方法相同
在 my_env.sh 文件末尾添加如下内容:
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRE_HOME=$PATH:$HADOOP_HOME
export HADOOP_COMMON_HOME=$PATH:$HADOOP_HOME
export HADOOP_HDFS_HOME=$PATH:$HADOOP_HOME
export YARN_HOME=$PATH:$HADOOP_HOME
截图内容不全,忘记截图写好了的
(5)刷新生效文件
[root@hadoop102 hadoop-2.7.1]$ source /etc/profile
(6)测试一下啊
[root@hadoop102 hadoop-2.7.1]$ hadoop version
Hadoop 2.7.1
十、SSH免密登录配置
(1)配置 ssh
ssh 另一台电脑的 IP 地址
先用hadoop102访问一下hadoop103
[root@hadoop102 ~]$ ssh hadoop103
用hadoop102访问了hadoop103,二者均出现.ssh文件
ls -al
(2)无密钥配置
1)生成密钥
[root@hadoop102 .ssh]$ pwd
/root/.ssh
[root@hadoop102 .ssh]$ ssh-keygen -t rsa
然后三个回车,就会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
[root@hadoop102 .ssh]$ ssh-copy-id hadoop102
[root@hadoop102 .ssh]$ ssh-copy-id hadoop103
[root@hadoop102 .ssh]$ ssh-copy-id hadoop104
注意:每个连接都要配置无密登录!都要配置!都要配置!
hadoop102 — >hadoop102、hadoop103、hadoop104
hadoop103 — >hadoop102、hadoop103、hadoop104
hadoop104 — >hadoop102、hadoop103、hadoop104
3)验证一下
十一、集群配置
(1)集群部署规划
十二、配置Hadoop文件
要配置的文件 | 文件存放的位置 |
---|---|
core-site.xml | $HADOOP_HOME/etc/hadoop |
hdfs-site.xml | $HADOOP_HOME/etc/hadoop |
yarn-site.xml | $HADOOP_HOME/etc/hadoop |
mapred-site.xml | $HADOOP_HOME/etc/hadoop |
(1)配置 core-site.xml
[root@hadoop102 ~] $ cd H A D O O P H O M E / e t c / h a d o o p [ r o o t @ h a d o o p 102 h a d o o p ] HADOOP_HOME/etc/hadoop [root@hadoop102 hadoop] HADOOPHOME/etc/hadoop[root@hadoop102hadoop] vim core-site.xml
文件内容如下:
下面配置的静态用户,为之前自己创建的新账户名字
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:50070</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.1/data</value>
</property>
<!-- 配置 HDFS 网页登录使用的静态用户为 fjr -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>fjr</value>
</property>
</configuration>
(2)配置 hdfs-site.xml
[root@hadoop102 hadoop]$ vim hdfs-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- NameNode web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!-- SecondaryNameNode web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
</configuration>
(3)配置 yarn-site.xml
[root@hadoop102 hadoop]$ vim yarn-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
(4)配置 mapred-site.xml
[root@hadoop102 hadoop]$ vim mapred-site.xml
配置mapred- site. xml文件,mapred- site. xml文件是通过mapred - site.xml. template模板文件复制而来。
[root@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
以上内容为配置内容,几个虚拟机配置步骤相同,可以选择在这个地方完成克隆出其他虚拟机,也可以使用集群分发的脚本将配置文件和环境分发到所有虚拟机上面。
十三、启动集群并测试
(1)配置 workers
[root@hadoop102 ~]$ cd $HADOOP_HOME/etc/hadoop
[root@hadoop102 hadoop]$ vim /opt/module/hadoop-2.7.1/etc/hadoop/workers
增加如下内容:
每个虚拟机都要设置
(2)启动集群
1)初始化(注意:只有第一次的时候才需要)
[root@hadoop102 hadoop-2.7.1]$ hdfs namenode -format
初始化完毕
2)启动 HDFS
退出回到原始目录下,进入sin目录,运行start-dfs.sh
[root@hadoop102 hadoop-2.7.1]$ sbin/start-dfs.sh
用jps查看节点状态
jps
3)启动 YARN
[root@hadoop103 hadoop-2.7.1]$ sbin/start-yarn.sh
与之前部署规划的一致!!!
十四、zookeeper安装
(1) 下载安装
ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。
2)上传
用xshell将下载的ZooKeeper放到/opt/software目录下
3)解压
将tar包解压到/opt/module目录下
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/module
(2)配置启动
1)配置zoo.cfg
进入到conf目录拷贝一个zoo_sample.cfg并完成配置
#进入到conf目录
[root@hadoop102 apache-zookeeper-3.5.9-bin]# cd conf
#拷贝
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg
#打开目录
cd /opt/module/apache-zookeeper-3.5.9-bin
#创建zooKeeper存储目录
[root@hadoop102 apache-zookeeper-3.5.9-bin]# mkdir zkdata
#修改zoo.cfg
[root@hadoop102 conf]# vi zoo.cfg
dataDir=/opt/module/apache-zookeeper-3.5.9-bin/zkdata
修改存储目录:dataDir=/opt/module/apache-zookeeper-3.5.9-bin/zkdata
2)关闭每台节点的防火墙
[root@hadoop102 ~]# su -l root
[root@hadoop102 ~]# firewall-cmd --state
[root@hadoop102 ~]# systemctl stop firewalld.service
[root@hadoop102 ~]# systemctl disable firewalld.service //禁止开机启动
3)统一每台节点时间
[root@hadoop102 ~]# ntpdate 0.centos.pool.ntp.org
[root@hadoop102 ~]# date
4)启动ZooKeeper
[root@hadoop102 apache-zookeeper-3.5.9-bin]# cd bin
#启动
./zkServer.sh start
十五、Web 端查看 HDFS 的 NameNode
(1)浏览器中输入
http://hadoop102:50070
如果进不去,解决方法:
进入C:\Windows\System32\drivers\etc,将地址加上
再次输入网址后:
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了本文仅仅简单介绍Hadoop集群安装和搭建的下半部分,按照查找步骤和老师讲解相结合相信你也可以成功搭建Hadoop集群。如果哪里有问题要及时提出来哦!