虚拟机安装
硬件
步骤如图所示:
软件-->安装Linux系统
在安装过程中可以设置root密码和创建用户
一直前进
设置IP地址
-
使用cd /etc/sysconfig/network-scripts命令,发现ifcfg-ens33文档的操作权限是root,所以需要从普通用户切换到root
-
使用su root命令,从kk(普通用户)切换到root,如图示:
-
使用vim ifcfg-ens33命令,添加该虚拟机的IP、掩码、网关、域名解析器(114.114.114.114),把BROWSER_ONLY 的值修改为''static''。如何查看IP、掩码、网关,如图所示:
-
使用ping www.baidu.comd 命令测试是否可以ping通 ,如ping不通则检查修改和添加的内容是否正确
-
使用到的命令如下:
cd /etc/sysconfig/network-scripts su root vim ifcfg-ens33 ping www.baidu.com
修改主机名
-
由于hostname文档的操作权限也是root,则继续使用root,使用vim /etc/hostname修改主机名称
-
使用reboot命令重启即可
-
看!成功修改后的主机名称
-
使用到的命令如下
ll /etc/hostname vim /etc/hostname reboot
普通用户模式部署Hadoop伪分布模式(虚拟机)
设置IP
-
使用cd /etc/sysconfig/network-scripts命令,发现ifcfg-ens33文档的操作权限是root,所以需要从普通用户切换到root
-
使用su root命令,从kk(普通用户)切换到root,如图示:
-
使用vim ifcfg-ens33命令,添加该虚拟机的IP、掩码、网关、域名解析器(114.114.114.114),把BROWSER_ONLY 的值修改为''static''。如何查看IP、掩码、网关,如图所示:
-
使用ping www.baidu.comd 命令测试是否可以ping通 ,如ping不通则检查修改和添加的内容是否正确
-
使用到的命令如下:
cd /etc/sysconfig/network-scripts su root vim ifcfg-ens33 ping www.baidu.com
关闭防火墙
- 使用su root命令切换为root用户
- 使用systemctl stop firewalld命令关闭防火墙
- 使用systemctl disable firewalld.service命令禁止开机自动开启防火墙
-
使用到的命令如下:
[kk@hadoop101 ~]$ su root 密码: [root@hadoop101 kk]# systemctl stop firewalld [root@hadoop101 kk]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
将主机名称映射成IP
-
使用vim /etc/hosts命令添加该虚拟机的IP和主机名称
-
使用的命令如下:
[root@hadoop101 kk]# vim /etc/hosts
给普通用户一个root的权限
linux是一个多用户进程的操作系统,对用户的权限控制非常明确,所以方便后面普通用户执行root权限的文件且不需要输入密码,让kk用户具有root权限。
-
输入vim /etc/sudoers命令修改sudoers文档,在%wheel这行下面添加kk ALL=(ALL) NOPASSWD:ALL。如图所示:
-
使用到的命令如下:
[root@hadoop101 kk]# vim /etc/sudoers
卸载虚拟机自带的JDK(针对Centos7版本)
-
使用java -version命令发现已经安装了虚拟机,为了不影响后面的开发和hadoop的环境配置,则需要卸载掉
-
使用rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps命令卸载虚拟机自带的JDK
-
再次使用java -version命令发现没有那个文件,则卸载成功
-
使用到的命令如下:
[root@hadoop101 kk]# java -version openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode) [root@hadoop101 kk]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps [root@hadoop101 kk]# java -version bash: /usr/bin/java: 没有那个文件或目录
下载hadoop、jdk8
-
使用exit命令,切换成kk用户,因为hadoop伪分布部署在kk(普通用户)用户下
-
使用mkdir ./software命令,在当前目录创建software目录,存放hadoop和jdk
-
使用cd software命令,切换到software目录,为了提高下载效率,开启两个终端。注意:两个终端都要切换到software目录
使用wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz命令下载hadoop
使用wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz命令下载jdk8 -
使用的命令如下:
[root@hadoop101 kk]# exit exit [kk@hadoop101 ~]$ pwd /home/kk [kk@hadoop101 ~]$ ll 总用量 0 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 公共 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 模板 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 视频 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 图片 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 文档 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 下载 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 音乐 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 桌面 [kk@hadoop101 ~]$ mkdir ./software [kk@hadoop101 ~]$ ll 总用量 0 drwxrwxr-x. 2 kk kk 6 10月 24 11:56 software drwxr-xr-x. 2 kk kk 6 10月 23 23:12 公共 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 模板 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 视频 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 图片 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 文档 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 下载 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 音乐 drwxr-xr-x. 2 kk kk 6 10月 23 23:12 桌面 [kk@hadoop101 ~]$ cd software [kk@hadoop101 software]$ wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
[kk@hadoop101 ~]$ cd software [kk@hadoop101 software]$ wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
解压hadoop、jdk
-
使用tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz 命令解压jdk
使用tar -zxvf hadoop-2.7.3.tar.gz 命令解压hadoop -
使用到的命令如下:
[kk@hadoop101 software]$ ll 总用量 432284 -rw-rw-r--. 1 kk kk 161923072 10月 24 12:20 hadoop-2.7.3.tar.gz -rw-rw-r--. 1 kk kk 174287938 1月 15 2020 openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz [kk@hadoop101 software]$ tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
[kk@hadoop101 software]$ ll 总用量 379280 -rw-rw-r--. 1 kk kk 214092195 8月 26 2016 hadoop-2.7.3.tar.gz -rw-rw-r--. 1 kk kk 174287938 1月 15 2020 openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz [kk@hadoop101 software]$ tar -zxvf hadoop-2.7.3.tar.gz
设置环境变量、然后实现
-
使用vim ~/.bash_profile命令添加java和hadoop的环境变量,如图所示:
export JAVA_HOME=/home/kk/software/java-se-8u41-ri export HADOOP_HOME=/home/kk/software/hadoop-2.7.3 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
-
使用source ~/.bash_profile命令实现环境变量,使其生效
-
使用的命令如下:
[kk@hadoop101 sbin]$ vim ~/.bash_profile [kk@hadoop101 sbin]$ source ~/.bash_profile
检验配置的环境变量是否生效
-
使用java -version和hadoop version命令检验环境变量是否生效,如无生效,则检查是否有配置错
-
使用的命令如下:
[kk@hadoop101 /]$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /home/kk/software/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
[kk@hadoop101 /]$ java -version
openjdk version "1.8.0_41"
OpenJDK Runtime Environment (build 1.8.0_41-b04)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)
[kk@hadoop101 /]$
hadoop/bin的内容
hadoop/sbin
安装ssh
-
使用ssh-keygen -t rsa命令生成密钥对(公钥和私钥),连续敲3次回车即创建完毕
-
使用cd .ssh命令,进入.ssh目录,再使用ssh-copy-id hadoop101命令,将hadoop101的公钥拷贝到hadoop101的authorized_keys,完成无密登录hadoop101
-
使用ssh hadoop101实现无密码登录hadoop101。使用exit命令即可退出exit,回到本机。注意:使用ssh hadoop101命令不用输入密码才算配置成功
-
使用到的命令:
[kk@hadoop101 /]$ ssh-keygen -t rsa [kk@hadoop101 ~]$ cd /home/kk/.ssh [kk@hadoop101 .ssh]$ ssh-copy-id hadoop101 [kk@hadoop101 .ssh]$ ssh hadoop101 [kk@hadoop101 ~]$ exit
修改hadoop自定义配置文件
修改core-site.xml
-
使用cd /home/kk/software/hadoop-2.7.3/etc/hadoop/命令,切换到hadoop目录下
-
使用vim core-site.xml命令修改文档配置,在
添加内容 ,添加内容如下:<!-- 指定NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop101:9000</value> </property> <!-- 指定hadoop数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/home/kk/software/hadoop-2.7.3/data</value> </property>
-
使用到的命令如下:
[kk@hadoop101 hadoop]$ cd /home/kk/software/hadoop-2.7.3/etc/hadoop/ [kk@hadoop101 hadoop]$ vim core-site.xml
修改hdfs-site.xml
-
使用vim hdfs-site.xml命令修改文档配置,在
添加内容 ,添加内容如下:<property> <!--副本的数量--> <name>dfs.replication</name> <value>1</value> </property>
-
使用到的命令如下:
[kk@hadoop101 hadoop]$ vim hdfs-site.xml
-
修改yarn-site.xml
-
使用vim yarn-site.xml命令修改文件配置,在
添加内容 ,添加内容如下:<!-- 指定ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop101</value> </property> <!-- 指定MR走shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
-
使用到的命令如下:
vim yarn-site.xml
修改mapred-site.xml
-
使用vim mapred-site.xml.template命令修改文件配置,在
添加内容 ,添加内容如下:<!-- 指定MapReduce程序运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
使用到的命令如下:
vim mapred-site.xml.template
修改 hadoop-env.sh
-
使用vim hadoop-env.sh命令,修改文件配置,添加如下信息:
export JAVA_HOME=/home/kk/software/java-se-8u41-ri
-
使用到的命令如下:
vim hadoop-env.sh
格式化文件系统
- 使用hdfs namenode -format命令格式化文件
- 若出现 status 0 则表示初始化成功
启动所有线程
start-all.sh
查看进程
jps
在windows下的浏览器输入hadoop101:50070和hadoop101:8088
注意事项
- 一定要停止进程(stop-all.sh),然后再关闭虚拟机。
- 不要多次使用hadoop namenode -format命令,否则使NameNode和DataNode的id不匹配,无法正常开启DataNode进程
解决某些问题链接
https://blog.csdn.net/u010886217/article/details/83479380伪分布(如何在阿里云设置授权)
https://blog.csdn.net/weixin_44915822/article/details/108957136(id修改问题)