赞
踩
1 面试部分:
简述hadoop分布式安装步骤
a) 安装Java
b) 创建unix用户账号及网络环境配置
c) 安装hadoop
d) SSH配置
e) 配置hadoop
f) 格式化HDFS文件系统
g) 启动和停止守护进程
2 CenterOS7下hadoop完全分布式集群安装
2.1 以root身份在centerOS安装jdk在/usr目录下创建java目录
mkdir /usr/java
cd /usr/java
将下载的 jdk-8-linux-x64.tar.gz拷贝到/usr/java目录下并解压缩
tar -zxvf jdk-8-linux-x64.tar.gz
vi /etc/profile运行source命令是环境配置文件修改生效:
source /etc/profile
测试jdk是否安装成功:命令
java -version
2.2 创建Unix账号
A 我们为hadoop创建特定的账号,专门管理hadoop
以root身份,运行创建账号命令:
# useradd hadoop
注意:用户账号名称随意,不一定必须是hadoop,命令成功后,会生成hadoop账号名,及组名hadoop;
接着,修改账号登录密码:
#passwd hadoop
按要求输入两次相同密码即可;
B 修改用户及网络环境
以root身份关闭防火墙,使用hadoop各个节点能够相互通讯
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
C 修改网卡配置,建议配置为静态IP
以root身份配置网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下:
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.226.129
GATEWAY=192.168.226.2
NETMASK=255.255.255.0
DNS1=192.168.226.2
D 修改机器名称
以root身份修改/etc/hosts文件内容
每一个机器ip 机器名称
192.168.1.100 master
192.168.1.101 slavea
192.168.1.102 slaveb
保存文件
以root身份修改对应机器名称
hostname masterservice network restart
注意:修改其他节点机器
F 以root身份修改hadoop账号,添加到sudoers
注意:
创建的hadoop用户需要拥有临时管理员身份
修改/etc/sudoers重启使之生效
2.3 SSH配置
Hadoop控制脚本(并非守护进程)依赖SSH执行整个集群的操作;
A:以root身份centerOs安装启动ssh服务
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
测试centeros检查是否安装了SSH包
rpm -qa|grep ssh
启动ssh服务
systemctl restart sshd.service
B: 以root身份修改sshd服务
需要编辑/etc/ssh/sshd_config打开sshd服务.
放开标注的文档(去掉#):
#RSAAuthentication yes
#PubkeyAuthentication yes
重启服务,使刚才的修改生效(centos7上命令)
systemctl restart sshd.service
C:注意,以hadoop账号身份登录,并操作 ssh免密
① 为每台机器生成密钥
命令:ssh-keygen - 生成、管理和转换认证密钥
参数
-t type
指定要创建的密钥类型。
可以使用:“rsa1”(SSH-1) “rsa”(SSH-2) “dsa”(SSH-2)-P passphrase
提供(旧)密语
输入命令:
ssh-keygen -t 'RSA'
在/home/用户名/.ssh/目录下生成密钥文件;
② 复制公钥内容到authorized_keys文件;
命令:
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
③ 将Slave1和Slave2中的>authorized_keys内容复制到Master的authorized_keys文件中
④ 将Master中的authorized_keys文件复制Slave1和Slave2中
scp authorized_keys hadoop@Slave2:/hadoop/.ssh/
⑤ 测试使用ssh进行无密码登录
ssh Slave1 ssh登陆远程服务器
exit 并退出远程登陆
注意:
远程拷贝命令
scp 文件名 用户名@远程ip:/路径/-v 拷贝文件时,显示提示信息;
2.4 以hadoop账号身份登录,安装hadoop集群
2.4.1 解压hadoop并配置相关环境变量
以hadoop用户名解压hadoop压缩文件
JAVA_HOME=/usr/java/jdk1.8.0_144
JRE_HOME=/usr/java/jdk1.8.0_144/jre
HADOOP_HOME=/home/hadoop/hadoop-2.9.0
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/etc/hadoop
export JAVA_HOME JRE_HOME CLASS_PATH HADOOP_HOME PATH
使用命令使配置生效:
source /etc/profile
2.4.2 修改hadoop-env.sh添加jdk环境
export JAVA_HOME=/usr/java/jdk1.8.0_144
hadoop有三种运行模式:
独立(本地)模式:
无需运行任何守护进程,所有程序都在同一个JVM上执行,适合开发阶段;
伪分布模式:
hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
全分布式模式:
hadoop守护进程运行在一个集群上。
2.4.3 修改core-site.xml文件
hadoop core的配置项,如hdfs、MapReduce和YARN常用的I/O设置等;
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
运行hdfs需要将一台机器指定为namenode,属性fs.defaultFS描述hdfs文件系统的uri,默认端口是8020.
<!–指定hadoop运行时产生文件的存储路径–>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.9.0/wutemp</value>
</property>
2.4.4 修改hdfs-site.xml文件
hdfs-site.xml配置文件:
hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等;
<!--NameNode会持久存储名称空间和事务日志-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.9.0/wudata/name</value>
</property>
dfs.namenode.name.dir:
namenode存储永久性的元数据的目录列表。namenode在列表上的各个目录中都存放相同的元数据文件;
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.9.0/wudata/data</value>
</property>
dfs.datanode.data.dir:
datanode存放数据块的目录列表。各个数据块分别存放于某一个目录中;
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
dfs.replication:
设置文件备份系数,默认3;
<property>
<name>dfs.secondary.http.address</name>
<value>slavea:50090</value>
</property>
2.4.5 mapred-site.xml文件
mapred-site.xml配置文件:
MapReduce守护进程的配置项,包括作业历史服务器;
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
名称mapreduce.framework.name:
指的是使用yarn运行mapreduce程序,启动了HDFS之后,就可以启动yarn了。执行命令start-yarn.sh即可启动MapReduce集群
2.4.6 yarn-site.xml文件
Yarn守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器;
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
yarn.resourcemanager.hostname属性:
运行资源管理器的机器主机名,默认值:0.0.0.0
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
yarn.nodemanager.aux-services属性:
节点管理器运行的附加服务列表。NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序;默认情况下,不指定附加服务。
2.4.7 为yarn添加 客户端计算机名称
修改/home/hadoop/hadoop-2.9.0/etc/hadoop/slaves
master
slavea
slaveb
hdfs namenode -format
B: 启动和停止守护进程
start-dfs.sh #启动hdfs
start-yarn.sh #启动yarn
C:终止守护进程
stop-yarn.sh
stop-dfs.sh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。