Hadoop单节点伪分布环境部署
1、背景知识
2、使用软件及其版本
环境
虚拟机:VirtualBox 6.0.24 r139119
Linux:CentOS 7
Windows:Windows10
软件
JDK:Jdk1.8_131
Hadoop:Hadoop-2.6.0-cdh5.7.0
工具
IDE工具:IntelliJ IDEA 2018.3.6 (Ultimate Edition)
远程连接工具:XShell6
SFTP工具:FileZilla3.33.0
3、目标
-
伪分布Hadoop环境安装和部署
4、操作步骤
-
虚拟机安装CentOS7系统
-
新建虚拟机
-
分配内存大小
-
创建虚拟硬盘
-
启动虚拟机,装载CentOS7镜像
root账号密码:root
创建新用户hadoop,密码hadoop
-
-
Hadoop伪分布环境搭建
-
Linux配置
-
修改主机名
-
一般对不直接使用root用户进行直接操作,而使用安装系统的创建的新用户hadoop(或者使用useradd命令创建)进行后续操作,使用root用户登录后给hadoop用户分配sudo权限:
vi /etc/sudoers
添加:
hadoop ALL=(ALL) ALL
-
登录到hadoop用户,修改主机名
su hadoop
-
修改主机名(使用root用户权限执行)
sudo vi /etc/hostname
-
删除原来的名称,加入主机名"master"
-
重启显示
-
-
-
配置静态IP地址
-
修改Oracle VM虚拟机的网络设置
设置连接方式为"仅主机(Host-Only)网络",界面名称选择虚拟网卡的名称。
-
修改enp0s3文件
-
检查windows中的ip地址
-
在CentOS中使用
ip addr
命令查看本机ip地址
-
+ 然后在Windows中使用```ipconfig```命令查看Windows中的虚拟网卡的IP地址
-
修改CentOS中的为静态ip地址和Windows中的虚拟网卡在统一网段,使用命令:
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
设置如下内容:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=b99405f1-6afb-4d97-94e4-c3893e72700a
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.137.2
NETMASK=255.255.255.0
GATEWAY=192.168.137.1-
重启网络服务,使用命令:
systemctl restart network
-
查看IP地址
静态IP地址已经生效
-
-
-
-
设置映射关系
-
修改主机的映射关系,使用通过计算机名可以映射到ip地址,使用命令:
sudo vi /etc/hosts
追加一行内容:
192.168.137.2 master
-
保存退出后,使用
ping master
看是否可以ping通
-
-
配置SSH无密码连接
-
关闭防火墙
-
关闭临时防火墙,使用命令:
systemctl stop firewalld
-
静止开机启动防火墙(root用户权限执行,所有节点都需执行),使用如下命令:
systemctl disable firewalld
-
查看防火墙状态,使用命令:
systemctl status firewalld
-
-
-
启动SSH服务
-
CentOS7已经默认安装了SSH服务,只需要启动服务器即可,通过命令:、
systemctl start sshd
-
检查ssh服务状态,使用命令:
systemctl status sshd
-
-
SSH免密操作
-
生成公钥,使用命令:
ssh-keygen -t rsa
公钥生成的位置:/home/hadoop/.ssh隐藏目录之下,最后的图形是公钥的指纹密码
-
公钥拷贝到本机的authorized_keys列表,使用命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master
-
进行验证,使用命令:
ssh master
不需要输入密码,即表示成功!
-
-
-
远程连接配置
-
Wnidows中使用xshell远程连接工具通过ssh协议连接到CentOS7,使用命令:
ssh 192.168.137.2
-
出现上述界面,表示远程登录成功!
-
JDK配置
-
卸载Open JDK
-
查看当前系统JDK,使用命令:
rpm -qa | grep JDK
如果出现以上信息,表示系统中存在Open JDK
-
删除系统JDK(root用户权限执行),使用命令:
rpm -e --nodeps ……
删除所有文件
-
-
下载Oracle JDK
从JDK官网下载jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
-
使用ftp工具通过SSH协议连接到CentOS7,上传JDK到CentOS的software目录下
使用flashfxp工具:
上传文件到software目录下
-
安装Oracle JDK(root用户权限执行)
-
解压JDK,使用命令:
tar -zxvf jdk-linux-x64.tar.gz -C ~/app/
-
配置环境变量,使用命令:
sudo vi /etc/profile
文件末尾,追加jdk的配置:
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH退出编辑器,使用
source /etc/profile
命令使配置生效 -
检查生效,使用命令:
java -version
-
-
-
-
Hadoop的安装和部署
-
下载CDH版本Hadoop
下载地址: http://archive.cloudera.com/cdh5/cdh/5/Hadoop-2.6.0-cdh5.7.0.tar.gz
注意:当前CDH版本已经全面收费,不在提供免费版本下载
-
安装CDH版本Hadoop
-
上传hadoop安装包到CentOS
-
解压CDH压缩文件,使用命令:
tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/
-
进入etc/hadoop的目录,修改配置文件
-
修改hadoop-env.sh,使用命令:
sudo vi hadoop-env.sh
在文件末尾追加JAVA_HOME和HADOOP_HOME
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -
修改core-site.xml,使用命令:
sudo vi core-site.xml
添加配置信息
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hdfs/tmp</value>
</property>
</configuration>
注意:在/opt目录下创建好存放临时文件的hdfs/tmp文件夹,同时分配好权限
-
修改hdfs-site.xml,使用命令:
sudo vi hdfs-site.xml
添加配置信息
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hdfs/tmp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hdfs/tmp/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration> -
修改yarn-site.xml,使用命令:
sudo vi yarn-site.xml
添加配置
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> -
修改mapred-site.xml
复制模板,使用命令:
cp mapred-site.xml.template mapred-site.xml
编辑配置文件,使用命令:
sudo vi mapred-site.xml
添加配置:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration> -
修改slaves文件,使用命令:
sudo vi slaves
添加配置
master
-
追加HADOOP_HOME到/etc/profile中,使用命令:
sudo vi /etc/profile
在文件末尾追加内容:
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH退出编辑器,使用
source /etc/profile
命令使配置生效
-
-
格式化HDFS
进入hadoop的bin目录,使用命令:
hadoop namenode -format
出现上述界面,表示格式化成功!
-
启动Hadoop
进入hadoop的sbin目录下,使用命令
./start-all.sh
-
-
检查CDH版本Hadoop
-
检查进程,使用命令:
jps
出现上述6个进程,表示单节点伪分布hadoop部署成功!
-
通过浏览器检查
也可以在windows中通过浏览器输入http://192.168.137.2:50070
出现上述浏览器界面,表示单节点伪分布hadoop部署成功!
-
-
-
4、总结