安装环境
利用VMware创建了5台ubuntu18.04的虚拟机,主机名分别是hadoop01-hadoop05,采用NAT网络连接,IP分别为192.168.111.130-192.168.111.134。
安装过程
1 切换到root用户下。设置root用户密码方式 (利用xshell向所有的会话发送相同的命令):
sudo passwd root
2 向hosts文件中添加主机名和ip地址的映射关系
for((i=1;i<=5;i++)); do echo "192.168.111.13"$(($i-1))" hadoop0"${i} >> /etc/hosts; done;
3 配置无秘钥登录
# 生成公钥
ssh-keygen -t rsa;
#将公钥发送到其它服务器
for((i=1;i<=5;i++)); do ssh-copy-id root@hadoop0${i};done;
4 安装jre
apt install openjdk-11-jdk-headless
5 配置java环境变量
#添加JAVA_HOME和PATH两个变量,并让其生效
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> /etc/profile;
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile;
source /etc/profile
# 检查是否添加
echo ${JAVA_HOME}
echo ${PATH}
6 安装必须的环境(ssh, rsync)
apt install ssh;
apt install rsync;
7 下载hdoop安装包
cd /opt;
wget -p https://www-us.apache.org/dist/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
8 安装伪分布式,通过伪分布式的配置可以为完全分布式搭建打下基础,因为完全分布式只是修改伪分布式的配置参数。
- 配置HADOOP_HOME环境变量在/etc/profile中。
- 配置 etc/hadoop/hadoop-env.sh,etc/hadoop/mapred-env.sh,tc/hadoop/yarn-env.sh,这里我只修改了 JAVA_HOME参数。
```
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
```
- 配置 etc/hadoop/core-site.xml。
```
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/local</value>
</property>
```
- 配置 etc/hadoop/hdfs-site.xml。
```
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:9868</value>
</property>
```
- 使用start-dfs.sh启动。
9 搭建完全分布式
10 搭建zookeeper.
- 配置环境变量,在/etc/profile中添加 ZOOKEEPER_HOME,并在PATH路径中添加ZOOKEEPER_HOME
- 修改配置文件,修改路径和增加服务器
- 增加myid的配置
参考资料:
hadoop安装文档
bilibili 大数据视频