Bootstrap

Hadoop大数据处理与分析教程

本文所需文件(Vmware虚拟机、密匙、乌班图系统、JDK、Hadoop)

链接:https://pan.baidu.com/s/1yU5s36Rgl_jE_mAmHsJBfQ?pwd=i5s6 
提取码:i5s6

一、Linux操作系统的安装

二、Hadoop的伪分布式安装

1.配置ssh无密登录

(1)安装ssh

sudo apt-get install ssh

(2)产生SSH Key

ssh-keygen -t rsa

(3)将公钥放到许可证文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

(4)更改权限

chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

(5)验证是否可以免密登录本机(下图为登录成功界面)

ssh 本机名

 (6)退出ssh连接

exit

2.JDK的安装

(1)查看Vmware网络配置(配置IP地址)

 

(2) 配置虚拟机静态IP

sudo vi /etc/netplan/01-network-manager-all.yaml

     依据Vmware网络配置编辑

network:
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.186.130/24,]
      gateway4: 192.168.186.2
      nameservers:
          addresses: [114.114.114.114, ]
  version: 2
  renderer: NetworkManager

      更新网络配置(若没报错,即配置成功)

sudo netplan apply

      测试连接

ping www.baidu.com

     修改主机名(本文修改为master),并把主机名和IP地址写进/etc/hosts配置文件(如图所示)

sudo vi /etc/hostname
sudo vi /etc/hosts

     重启虚拟机使配置生效

(3)连接xshell (提前安装Xshell、Xftp)

(4)新建文件传输(导入JDK、hadoop压缩包)

 

(5)解压jdk

tar -zxvf jdk-8u171-linux-x64.tar.gz

 (6)配置环境变量

sudo vi /etc/profile

     在文本末添加以下命令(添加的命令如下图所示)

export JAVA_HOME=./jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}lib
export PATH=${JAVA_HOME}/bin:$PATH

 (7)重新加载配置文件,验证jdk配置是否成功(下图即为配置成功)

source /etc/profile
java -version

 3.Hadoop的安装

(1)解压hadoop安装包

tar -zxvf hadoop-3.2.4.tar.gz

(2)配置hadoop环境变量

sudo vi ~/.bashrc

     在文尾添加以下代码

export JAVA_HOME=/home/wenzi/jdk1.8.0_171
export HADOOP_HOME=/home/wenzi/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

     更新配置

source ~/.bashrc

(3)测试是否配置成功(下图即配置成功)

hadoop version

4.修改Hadoop配置文件

(1)修改hadoop-env.sh

sudo vi ./hadoop-3.2.4/etc/hadoop/hadoop-env.sh

     找到以下命令进行修改(如图)

(2)修改core-site.xml文件

sudo vi ./hadoop-3.2.4/etc/hadoop/core-site.xml
<configuration>
<!-- 配置HDFS的主节点,nameNode -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.186.130:9000</value>
</property>

<!-- 配置HADOOP运行时产生文件的储存目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/wenzi/hadoop-3.2.4/dataNode_1_dir</value>
</property>
</configuration>

 (3)修改yarn-site.xml文件

sudo vi ./hadoop-3.2.4/etc/hadoop/yarn-site.xml
<configuration>

<!--配置ReourceManager的地址-->
<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>192.168.186.130</value>
</property>

<!--配置NodeManager执行任务的方式shuffle:洗牌 -->
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

</configuration>

(4)修改mapred-site.xml文件

sudo vi ./hadoop-3.2.4/etc/hadoop/mapred-site.xml
<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
</configuration>

(5)修改hdfs-site.xml文件

sudo vi ./hadoop-3.2.4/etc/hadoop/hdfs-site.xml
<configuration>
<!-- 指定HDFS储存数据的副本数目,默认情况下时3份 -->
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
<!-- 指定namenode数据存储目录 -->
<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:///home/wenzi/hadoop-3.2.4/hadoop_data/hdfs/namenode</value>
</property>
<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:///home/wenzi/hadoop-3.2.4/hadoop_data/hdfs/datanode</value>
</property>
<property>
     <name>dfs.http.address</name>
     <value>wenzi:50070</value>
</property>
</configuration>

(6)修改/etc/profile文件

sudo vi /etc/profile
:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HAOOP_HOME=./hadoop-3.2.4

     修改成如图所示

 (7)创建并格式化文件系统

mkdir -p ./hadoop-3.2.4/hadoop_data/hdfs/namenode
mkdir -p ./hadoop-3.2.4/hadoop_data/hdfs/datanode
mkdir -p ./hadoop-3.2.4/dataNode_1_dir/datanode
hdfs namenode -format

5.启动Hadoop

(1)启动

start-all.sh

(2)查看hadoop全部的守护进程(全部启动即为成功)

 (3)查看HDFS WEB 页面

打开火狐浏览器输入:192.168.186.130:50070 

如图所示:

 (4)查看YARN WEB页面

打开火狐浏览器输入:192.168.186.130:8088

如图所示:

 三、Hadoop集群的搭建与配置

1.修改配置文件

(1)修改hdfs-site.xml文件(对照以下代码进行修改)

sudo vi ./hadoop-3.2.4/etc/hadoop/hdfs-site.xml
<configuration>
<!-- 指定HDFS储存数据的副本数目,默认情况下时3份 -->
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
<!-- 指定namenode数据存储目录 -->
<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:///home/wenzi/hadoop-3.2.4/hadoop_data/hdfs/namenode</value>
</property>
<property>
     <name>dfs.http.address</name>
     <value>master:50070</value>
</property>
</configuration>

(2)修改core-site.xml文件(对照以下代码进行修改)

sudo vi ./hadoop-3.2.4/etc/hadoop/core-site.xml
<configuration>
<!-- 配置HDFS的主节点,nameNode -->
<property>
     <name>fs.defaultFS</name>
     <value>hdfs://master:9000</value>
</property>

<!-- 配置HADOOP运行时产生文件的储存目录 -->
<property>
     <name>hadoop.tmp.dir</name>
     <value>/home/wenzi/hadoop-3.2.4/dataNode_1_dir</value>
</property>
</configuration>

(3)修改yarn-site.xml文件(对照以下代码进行修改)

sudo vi ./hadoop-3.2.4/etc/hadoop/yarn-site.xml
<configuration>

<!--配置ReourceManager的地址-->
<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>master</value>
</property>

<!--配置NodeManager执行任务的方式shuffle:洗牌 -->
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

</configuration>

(4)修改mapred-site.xml文件(对照以下代码进行修改)

sudo vi ./hadoop-3.2.4/etc/hadoop/mapred-site.xml
<configuration>
<property>
     <name>mapred.job.tracker</name>
     <value>master:54311</value>
</property>
</configuration>

(5)修改/etc/hosts文件(内容如图所示)

sudo vi /etc/hosts

两个slave节点IP需要与后面保持一致

(6) 编辑masters文件(在文件中输入主机名master)

sudo vi ./hadoop-3.2.4/etc/hadoop/masters

(7)编辑workers文件(删除local host添加slave1、slave2)

sudo vi ./hadoop-3.2.4/etc/hadoop/workers

 (8)删除临时文件夹

rm -rf ./hadoop-3.2.4/dataNode_1_dir
rm -rf ./hadoop-3.2.4/logs

2.复制虚拟机

(1)复制主机master到slave1、slave2(下图为复制步骤)

 

 (2)设置slave服务器

下面为设置slave1、同理设置salve2,

1、修改IP地址(IP与上文保持一致,slave1:192.168.186.131 slave2:192.168.186.132)

打开slave1虚拟机进行以下配置

sudo vi /etc/netplan/01-network-manager-all.yaml
network:
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.186.131/24,]
      gateway4: 192.168.186.2
      nameservers:
          addresses: [114.114.114.114, ]
  version: 2
  renderer: NetworkManager
sudo netplan apply

2、修改主机名(分别把master改为slave1、slave2)

sudo vi /etc/hostname

3、重启虚拟机使配置生效

sudo reboot

 4.修改hdfs-site.xml文件

sudo vi ./hadoop-3.2.4/etc/hadoop/hdfs-site.xml
<configuration>
<!-- 指定HDFS储存数据的副本数目,默认情况下时3份 -->
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
<!-- 指定namenode数据存储目录 -->
<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:///home/wenzi/hadoop-3.2.4/hadoop_data/hdfs/datanode</value>
</property>
<property>
     <name>dfs.http.address</name>
     <value>master:50070</value>
</property>
</configuration>

5.格式化文件系统

hdfs namenode -format

3.启动Hadoop集群

start-all.sh

(1)分别查看三个虚拟机进程

jps

ssh slave2
jps

ssh slave1
jps

(1)查看HDFS WEB 页面

打开火狐浏览器输入:http://master:50070 

如图所示:

(2)查看YARN WEB页面

打开火狐浏览器输入:http://master:8088

如图所示:

;