关于我在VMware里部署Hadoop这件事
Hadoop-3.3.4完全分布式安装、搭建、配置
!纯操作!无讲解!
VMware已下载安装,已经准备好linux虚拟机(Ubuntu),网络类型为Nat
修改固态ip
- 查看网络配置信息
1
ifconfig
- 修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13sudo vim /etc/netplan/00-installer-config.yaml #文件名可能不同
#内容如下:
network:
ethernets:
ens33:
addresses: [192.168.159.137/24] #这里的ip为刚刚ifconfig得到的ip,后面加“/24”
dhcp4: no
optional: true
gateway4: 192.168.159.2 #将上面的ip最后一位改为2
nameservers:
addresses: [114.114.114.114] #其他域名解析器也是可以的
version: 2 - 应用配置
1
sudo netplan apply
下载安装配置Java&Hadoop
- 下载Java&Hadoop
Java清华源https://mirror.tuna.tsinghua.edu.cn/sourceware/java/
Hadoop清华源https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ - 将Java&Hadoop解压到/usr/local目录下
1
2
3sudo tar -xvf jdk-11.0.16.1_linux-x64_bin.tar.gz -C /usr/local
sudo tar -zxf hadoop-3.3.4.tar.gz -C /usr/local
#'-c'的C要大写! - 配置环境变量
1
2
3
4
5
6
7sudo vim /etc/profile
#末尾添加:
export JAVA_HOME=/usr/local/jdk11
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH - 使配置文件立即生效
1
2source /etc/profile
#'.'号可以代替source - 修改Hadoop-env.sh文件,末尾添加
1
2export JAVA_HOME=/usr/local/jdk11
export HADOOP_LOG_DIR=/home/rain4ky/myworkspace/hadoop/logs #这里可以写其他地址 - 修改core-site.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15cd /usr/local/hadoop-3.3.4/etc/hadoop
sudo vim core-site.xml
#在<configuration></configuration>间添加内容:
<configuration>
<property>
<!-- 指定NameNode的地址 -->
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<!-- 指定hadoop数据的存储目录 -->
<name>hadoop.tmp.dir</name>
<value>/home/rain4ky/myworkspace/hadoop/tmp</value>
</property>
</configuration> - 修改hdfs-site.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9868</value>
</property>
</configuration>
# 一葫芦画瓢都做不到的话,还是放弃吧。 - 修改yarn-site.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
</configuration> - 修改mapred-site.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration> - 修改workers
1
2
3master
slave1
slave2 - 配置ip映射
1
2
3
4
5vim /etc/hosts
# 添加ip映射
192.168.159.137 master
192.168.159.138 slave1
192.168.159.139 slave2 - 克隆虚拟机
关闭虚拟机,在选项卡中:虚拟机>管理>克隆,创建完整克隆,克隆两次,(名称分别为slave1,slave2)
- 配置克隆机
1
2
3
4
5
6
7# slave1和slave2修改主机名
vim /etc/hostname
# 分别改为slave1,slave2
# slave1和slave2修改ip
sudo vim /etc/netplan/00-installer-config.yaml
# 将addresses最后的137改为138和139(也可以是128-254间的任意不同值) - 虚拟机间ssh免密登录
1
2
3
4
5
6
7
8
9
10
11sudo apt-get install openssh-server #三台虚拟机都需要
#打开master
cd ~/.ssh/
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub rain4ky@192.168.159.137 #三个节点都要!
#验证
ssh master
#如果没有输入密码就成功了,slave1和slave2同理 - 以下步骤只需在master里进行
- 初始化文件系统
1
hdfs namenode -format
- 启动/关闭hadoop文件系统
1
start-all.sh/stop-all.sh
- 进程查看
1
2jps
#三台虚拟机都可以查看(master上可以ssh到其他虚拟机运行jps)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 !