Centos7 Hadoop以及组件搭建学习记录 更新中
前言
个人hadoop组件搭建学习记录
学习参考:Centos7搭建Hadoop HA完全分布式集群(6台机器)(内含hbase,hive,flume,kafka,spark,sqoop,phoenix,storm).
提示:以下是本篇文章正文内容,下面案例仅为个人学习记录
- 三台机器
主机名 | IP |
---|---|
master | 172.16.1.2 |
slave1 | 172.16.1.3 |
slave2 | 172.16.1.4 |
Hadoop
主机名 | IP | 安装软件 | 运行进程 |
---|---|---|---|
master | 172.16.1.2 | hadooo | NameNode、DataNode、NodeManager、ResourceManager |
slave1 | 172.16.1.3 | hadoop | DataNode、NodeManager、SecondaryNameNode |
slave2 | 172.16.1.2 | hadoop | DataNode、NodeManager |
Hadoop HA
主机名 | IP | 安装软件 | 运行进程 |
---|---|---|---|
master | 172.16.1.2 | hadoop、zookeeper | NameNode、ZKFC、DataNode、JournalNode、NodeManager、QuorumPeerMain、ResourceManager |
slave1 | 172.16.1.3 | hadoop、zookeeper | NameNode、ZKFC、DataNode、JournalNode、NodeManager、QuorumPeerMain、ResourceManager |
slave2 | 172.16.1.2 | hadoop、zookeeper | DataNode、JournalNode、NodeManager、QuorumPeerMain |
HBase HA
Spark
Storm HA
一、前期配置
- 配置好网卡
- 关闭防火墙
- 关闭SELinux
- 同步时间
1.修改主机名(3台机器都要操作)
[root@master ~]# hostnamectl set-hostname master
[root@master ~]# hostname
master
[root@master ~]# reboo
//另外两台修改成自己相对于的主机名
2.修改host(3台机器都要操作)
[root@master ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.2 master
172.16.1.3 slave1
172.16.1.4 slave2
//3台机器都要操作
3.创建hadoop用户(3台机器都要操作)
[root@master ~]# adduser hdp
[root@master ~]# passwd hdp
Changing password for user hdp.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
4.测试使用host是否能ping通(3台机器都要操作)
- 每台机器之间都需要可以互相ping同
[root@master ~]# ping -c 3 slave1
PING slave1 (172.16.1.3) 56(84) bytes of data.
64 bytes from slave1 (172.16.1.3): icmp_seq=1 ttl=64 time=0.235 ms
64 bytes from slave1 (172.16.1.3): icmp_seq=2 ttl=64 time=0.315 ms
^C
--- slave1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.235/0.275/0.315/0.040 ms
[root@master ~]# ping -c 3 slave2
PING slave2 (172.16.1.4) 56(84) bytes of data.
64 bytes from slave2 (172.16.1.4): icmp_seq=1 ttl=64 time=0.608 ms
64 bytes from slave2 (172.16.1.4): icmp_seq=2 ttl=64 time=0.178 ms
64 bytes from slave2 (172.16.1.4): icmp_seq=3 ttl=64 time=0.221 ms
--- slave2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.178/0.335/0.608/0.194 ms
//3台机器都要操作
5.免密登录(3台机器都要操作)
- 切换到hdp(hadoop专用用户)用户
[hdp@master ~]# ssh-keygen -t rsa
[hdp@master ~]# ssh-copy-id slave1
[hdp@master ~]# ssh-copy-id slave2
//3台机器都要操作
- 相互ssh登录测试
[hdp@master ~]# ssh slave1
Last login: Mon Nov 9 14:44:18 2020 from 10.65.7.7
........
//3台机器都要操作
6.安装jdk(3台机器都要操作)
- 检查是否已经存在JDK
java -version
- 如果存在则先卸载再安装
[hdp@smaster ~]$ mkdir -p /export/app
[hdp@smaster opt]$ cd /h3cu/
[hdp@smaster h3cu]$ ls
apache-flume-1.6.0-bin.tar.gz hadoop-2.6.0.tar.gz mysql-connector-java-5.1.47.jar
apache-hive-1.1.0-bin.tar.gz jdk-8u144-linux-x64.tar.gz
[hdp@master h3cu]$ tar -vzxf jdk-8u144-linux-x64.tar.gz -C /export/app/
二、搭建Hadoop2.6.0
1.hadoop安装
- 解压hadoop
tar -vxzf /h3cu/hadoop-2.6.0.tar.gz -C /export/app/
- 修改环境变量
[hdp@master h3cu]$ vi ~/.bashrc
[hdp@master h3cu]$ source ~/.bashrc
export JAVA_HOME=/export/app/jdk1.8.0_144
export HADOOP_HOME=/export/app/hadoop-2.6.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=:$JAVA_HOME/lib:${JRE_HOME}/lib
//发送给另外两台主机
[hdp@master ~]$ scp ~/.bashrc slave1:~/.bashrc
[hdp@master ~]$ scp ~/.bashrc slave1:~/.bashrc
//让配置生效
[root@master app]# source ~/.bashrc
配置文件 | 功能描述 |
---|---|
hadoop-env.sh | 配置Hadoop运行所需的环境变量 |
yarn-env.sh | 配置YARN运行所需的环境变量 |
core-site.xml | Hadoop核心全局配置文件,可在其他配置文件中应用该文件 |
hdfs-site.xml | HDFS配置文件,继承core-site.xml配置文件 |
mapred-sitexml | MapReduce配置文件,继承core-site.xml配置文件 |
yarn-site.xml | YARN配置文件,继承core-site.xml配置文件 |
2.配置Hadoop
- 配置主节点
(1)配置hadoop-env.sh
[hdp@master ~]$ cd /export/app/hadoop-2.6.0/etc/hadoop/
[hdp@master hadoop]$ vi hadoop-env.sh
//找到JAVA_HOME参数位置,修改如下:
export JAVA_HOME=/export/app/jdk1.8.0_144
(2)修改core-site.xml
<configuration>
<!--用于设置Hadoop的文件系统,由URI指定-->
<property>
<!--用于指定namenode地址在master上-->
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<!--指定Hadoop的临时目录,默认/tmp/hadoop-${user.name}-->
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop/tmp</value>
</property>