服务器关闭防火墙
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld.service #关闭重启时启动防火墙
修改服务器名称
vim /etc/hostname
hadoop1
配置服务器名称映射hosts文件
vim /etc/hosts
192.168.x.x hadoop1 #服务器本身
192.168.x.y windows #windows的ip
重启服务器
reboot
如果使用windows开发,修改windows的主机映射文件hosts
-
进入C:\Windows\System32\drivers\etc
-
将hosts文件中修改为
192.168.x.x hadoop1 #服务器ip
服务器安装JDK
-
上传jdk-8u202-linux-x64.tar.gz
-
解压到指定目录
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /opt/module/
-
配置环境变量
sudo vim /etc/profile.d/my_env.sh
-
在/etc/profile.d/my_env.sh中配置JAVA_HOME
#JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_202 export PATH=$PATH:$JAVA_HOME/bin
-
source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile
-
测试java
java -version
能打印结果java version "1.8.0_202"就成功。如果不成功重启一下试试,reboot。
服务器安装Hadoop
-
上传hadoop-3.1.3.tar.gz
-
解压到指定目录
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
-
配置环境变量
sudo vim /etc/profile.d/my_env.sh
-
在文件末尾配置HADOOP_HOME(shift+G)
#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
-
source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile
-
测试hadoop
hadoop version
能打印结果Hadoop 3.1.3就成功
配置windows免密登录linux服务器
-
Windows打开cmd,输入ssh-keygen,然后三下回车。会在C盘用户目录下生成.ssh文件夹。文件夹中
id_rsa
就是windows的私钥,id_ras.pub
就是windows的公钥 -
linux输入
ssh-keygen -t rsa
三下回车。会在/home的用户目录生成.ssh文件夹。进入.ssh文件夹
-
在linux的.ssh文件夹中创建authorized_keys
vim authorized_keys
在authorized_keys中将windows和服务器的
id_ras.pub
的内容分别拷贝进去。:wq退出。 -
重启ssh服务
systemctl restart sshd
配置hadoop集群
-
hadoop配置java绝对路径
编辑hadoop-env.sh
vim /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
找到export JAVA_HOME更改为
export JAVA_HOME=/opt/module/jdk1.8.0_202
```
-
配置core-site.xml
1.1 进入$HADOOP_HOME/etc/hadoop
```shell cd /opt/module/hadoop-3.1.3/etc/hadoop/ ```
1.2 编辑core-site.xml
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://hadoop1:8020</value> </property> <!-- 指定hadoop数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-3.1.3/data</value> </property> </configuration>
-
配置hdfs-site.xml
编辑hdfs-site.xml
vim hdfs-site.xml
输入以下:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- nn web端访问地址--> <property> <name>dfs.namenode.http-address</name> <value>hadoop1:9870</value> </property> <!-- 2nn web端访问地址--> <!-- 多机真分布式需要配,单机伪分布式不需要--> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop1:9868</value> </property> </configuration>
-
配置yarn-site.xml
编辑yarn-site.xml
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>hadoop1</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>
-
配置mapred-site.xml
编辑mapred-site.xml
vim 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>
启动hadoop
如果是第一次启动,要格式化namenode
hdfs namenode -format
去hadoop的sbin目录
cd /opt/module/hadoop-3.1.3/sbin/
启动start-all.sh
服务器安装kafka
- 上传kafka_2.12-3.0.0.tgz
- 解压到指定目录
tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
- 进入kafka/config/kraft/目录修改配置文件
cd /opt/module/kafka_2.12-3.0.0/config/kraft vim server.properties # 修改如下参数 controller.quorum.voters=1@hadoop1:9093 advertised.listeners=PLAINTEXT://hadoop1:9092 log.dirs=/opt/module/kafka_2.12-3.0.0/logs
- 配置环境变量
sudo vim /etc/profile.d/my_env.sh
- 在/etc/profile.d/my_env.sh中配置KAFKA_HOME
#KAFKA_HOME export KAFKA_HOME=/opt/module/kafka_2.12-3.0.0 export PATH=$PATH:$KAFKA_HOME/bin
- source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile
-
初始化
7.1 生成存储目录唯一id
bin/kafka-storage.sh random-uuid
7.2 格式化kafka存储目录
复制生成的uuid
bin/kafka-storage.sh format -t wo1_Y79jRaK-jmfGAaq70A -c /opt/module/kafka_2.12-3.0.0/config/kraft/server.properties
-
启动kafka
bin/kafka-server-start.sh -daemon config/kraft/server.properties
-
创建first主题,1个分区1个副本
bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create --partitions 1 --replication-factor 1 --topic first