操作系统 IP地址 主机名 Java版本 Scala版本
CentOS 7.2.1511 192.168.42.131 node01 jdk1.8.0_91 scala-2.12.13
CentOS 7.2.1511 192.168.42.132 node02 jdk1.8.0_91 scala-2.12.13
CentOS 7.2.1511 192.168.42.139 node03 jdk1.8.0_91 scala-2.12.13
安装的组件 版本
hadoop 3.2.2
hbase 2.0.6
hive 3.1.2
kafka 2.11-2.0.0
solr 8.9.0
atlas 2.1.0
spark 3.0.3
sqoop 1.4.6
flume 1.9.0
elasticsearch 7.14.1
kibana 7.14.1
一、基础环境配置(三台机器都操作)
1.修改主机名:
2.关闭防火墙:
hostnamectlset‐hostnamenode01
hostnamectlset‐hostnamenode02
hostnamectlset‐hostnamenode03
vim/etc/hosts
#增加对应的内容:
192.168.42.131node01
192.168.42.132node02
192.168.42.139node03
3.关闭Selinux:
4.文件描述符配置:
Linux操作系统会对每个进程能打开的文件数进行限制(某用户下某进程),Hadoop生态系统的很多组件一般都
会打开大量的文件,因此要调大相关参数(生产环境必须调大,学习环境稍微大点就可以)。检查文件描述符限制
数,可以用如下命令检查当前用户下一个进程能打开的文件数:
建议的最大打开文件描述符数为10000或更多:
三台机器重启生效:reboot
5.自定义JDK安装:
5.1 删除默认openJDK:
删除所有机器上默认openJDK,注意这里是只写了一个。一些开发版的centos会自带jdk,我们一般用自己的
jdk,把自带的删除。先看看有没有安装:
查找安装位置:
systemctlstopfirewalld.service
#设置开机不启动:
systemctldisablefirewalld.service
vim/etc/selinux/config
#修改如下配置项:
SELINUX=disabled
ulimit‐Sn
1024
ulimit‐Hn
4096
vim/etc/security/limits.conf
#直接添加内容:
*softnofile65536
*hardnofile65536
*softnproc131072
*hardnproc131072
[root@node01~]#java‐version
openjdkversion"1.8.0_65"
OpenJDKRuntimeEnvironment(build1.8.0_65‐b17)
OpenJDK64‐BitServerVM(build25.65‐b01,mixedmode)
删除全部,noarch文件可以不用删除:
5.2 安装jdk1.8.0_91:
6.创建Hadoop用户:
7.配置SSH免密登录:
[root@node01~]#rpm‐qa|grepjava
java‐1.8.0‐openjdk‐headless‐1.8.0.65‐3.b17.el7.x86_64
javapackages‐tools‐3.4.1‐11.el7.noarch
java‐1.8.0‐openjdk‐1.8.0.65‐3.b17.el7.x86_64
tzdata‐java‐2015g‐1.el7.noarch
java‐1.7.0‐openjdk‐1.7.0.91‐2.6.2.3.el7.x86_64
java‐1.7.0‐openjdk‐headless‐1.7.0.91‐2.6.2.3.el7.x86_64
python‐javapackages‐3.4.1‐11.el7.noarch
[root@node01~]#rpm‐e‐‐nodepsjava‐1.8.0‐openjdk‐headless‐1.8.0.65‐3.b17.el7.x86_64
[root@node01~]#rpm‐e‐‐nodepsjava‐1.8.0‐openjdk‐1.8.0.65‐3.b17.el7.x86_64
[root@node01~]#rpm‐e‐‐nodepsjava‐1.7.0‐openjdk‐1.7.0.91‐2.6.2.3.el7.x86_64
[root@node01~]#rpm‐e‐‐nodepsjava‐1.7.0‐openjdk‐headless‐1.7.0.91‐2.6.2.3.el7.x86_64
#检查有没有删除:
[root@node01~]#java‐version
‐bash:/usr/bin/java:Nosuchfileordirectory
mkdir/opt/java
tar‐zxvfjdk‐8u91‐linux‐x64.tar.gz‐C/opt/java/
vim/etc/profile
exportJAVA_HOME=/opt/java/jdk1.8.0_91
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
source/etc/profile
[root@node01~]#java‐version
javaversion"1.8.0_91"
Java(TM)SERuntimeEnvironment(build1.8.0_91‐b14)
JavaHotSpot(TM)64‐BitServerVM(build25.91‐b14,mixedmode)
adduserhadoop(密码123456)
[root@node01~]#passwdhadoop
Changingpasswordforuserhadoop.
Newpassword:
BADPASSWORD:Thepasswordisshorterthan8characters
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
#三台都做
二、大数据组件安装
1.安装Zookeeper:
将zookeeper-3.4.6/conf目录下面的 zoo_sample.cfg修改为zoo.cfg:
[hadoop@node01~]#ssh‐keygen
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):
Createddirectory'/root/.ssh'.
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/root/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.
Thekeyfingerprintis:
SHA256:omdYd47S9iPHrABsycOTFaJc3xowcTOYokKtf0bAKZgroot@node03
Thekey'srandomartimageis:
+‐‐‐[RSA2048]‐‐‐‐+
|..oB+=|
|E+.Bo*=|
|..=..+.|
|o.+=o|
|..%+S.|
|oX++|
|==+o.|
|o+..=|
|.+..|
+‐‐‐‐[SHA256]‐‐‐‐‐+
#之后你会发现,在/root/.ssh目录下生成了公钥文件:
[hadoop@node01~]#ll/root/.ssh
total8
‐rw‐‐‐‐‐‐‐.1rootroot1679Mar2406:47id_rsa
‐rw‐r‐‐r‐‐.1rootroot393Mar2406:47id_rsa.pub
ssh‐copy‐idnode01
ssh‐copy‐idnode02
ssh‐copy‐idnode03
#检查免密登录是否设置成功:
sshnode01
sshnode02
sshnode03
[hadoop@node01~]$tar‐zxvf/mnt/zookeeper‐3.4.6.tar.gz‐C.
注意:原配置文件中已经有:
创建目录:
拷贝给所有节点:
在节点1上设置myid为1,节点2上设置myid为2,节点3上设置myid为3:
所有节点都切换到root用户,/var 目录有其他用户写权限:
启动:
[hadoop@node01~]$cdzookeeper‐3.4.6/conf
[hadoop@node01conf]$mvzoo_sample.cfgzoo.cfg
[hadoop@node01conf]$vimzoo.cfg
#添加:
dataDir=/home/hadoop/zookeeper‐3.4.6/data
dataLogDir=/home/hadoop/zookeeper‐3.4.6/log
server.1=192.168.42.131:2888:3888
server.2=192.168.42.132:2888:3888
server.3=192.168.42.133:2888:3888
#注:2888端口号是zookeeper服务之间通信的端口,而3888是zookeeper与其他应用程序通信的端口
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
[hadoop@node01conf]$cd..
[hadoop@node01zookeeper‐3.4.6]$mkdir‐pvdatalog
scp‐r/home/hadoop/zookeeper‐3.4.6node02:/home/hadoop
scp‐r/home/hadoop/zookeeper‐3.4.6node03:/home/hadoop
[hadoop@node01zookeeper‐3.4.6]$vim/home/hadoop/zookeeper‐3.4.6/data/myid
1
[hadoop@node02~]$vim/home/hadoop/zookeeper‐3.4.6/data/myid
2
[hadoop@node03~]$vim/home/hadoop/zookeeper‐3.4.6/data/myid
3
[root@node01~]#chmod777/var
[root@node02~]#chmod777/var
[root@node03~]#chmod777/var