Hadoop安装过程
一 、前置设置 使普通用户获得管理员权限
**
切换到管理员用户 打开/etc/sudoers
修改sudoers文件的权限 ---- chmod u+w /etc/sudoers
然后打开sudoers文件 ---- vim /etc/sudoers
复制第98行内容 到第99行并更改称自己的用户名 使用户拥有管理员权限
在使用命令式 需要在特 权命令前加上sudo
二、配置网路连通
**
1、 在图形界面中,打开网络连接的有线设置->齿轮->ipv4->地址选择手动,填写网络信息就可以了。但是网络信息必须符合网络规则(编辑中有虚拟网络编辑器)。注意虚拟机的网卡物理地址要和电脑的网卡物理地址相同。
2、命令行操作时,打开 etc/sysconfig/network-scripts/ifcfg-ens33 文件 进行修改
vim etc/sysconfig/network-scripts/ifcfg-ens33
修改以下属性
BOOTPROTO=static
ONBOOT=yes
添加一下属性
添加以下配置
IPADDR=192.168.218.10(与物理机IP地址一致)
NETMASK=255.255.255.0
GATEWAY=192.168.218.2
DNS1=8.8.8.8
保存退出 重启网络设置 service network restart
3、可配置主机名和节点名与IP地址的对应关系
打开etc/hostname Sudo vim /etc/hostname
删除全部内容后 输入你的主机名 保存退出
打开etc/hosts Sudo vim /etc/hosts
在最后新建一行,添加以下内容
IP地址1 主机名1
IP地址2 主机名2
IP地址3 主机名3
确定IP地址与主机名的对应关系
4、关闭防火墙
使用Systemctl list-unit-files命令查看防火墙状态
关闭防火墙 Systemctl stop firewalld.service
设置防火墙开机不自动启动 Systemctl disable firewalld.service
三、设置ssh免密登录
**
首先生成公私钥 Ssh-keygen -t rsa
打开用户目录下的.ssh目录 cd .ssh
将公钥文件拷贝成authorized_keys cp id_rsa.pub authorized_keys
验证 ssh 本节点主机名,若无需输入密码可直接登录则设置成功
四、jdk安装
**
复制jdk文件(.tar.gz格式)到用户目录下
在此目录下新建java目录,将安装包移动到该目录下解压 Tar zxvf 压缩包名
编辑用户目录下的.\bashrc文件 Vim ~/.bashrc
在正文的后面添加以下内容
Export JAVA_HOME=/home/y用户名/java/jdk
Export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
保存退出 让该文件立即生效 source ~/.bashrc
可用echo $PATH查看路径是否设置成功
卸载已有jdk(可选)
查询已安装包名中包含jdk的
rpm -qa |grep jdk
卸载方法
rpm -e 包名 --nodeps(忽略依赖关系)
使用java -version命令验证
如果显示版本号与安装版本号相同,则证明安装成功了
五、Hadoop的安装
**
首先将hadoop安装包复制到用户目录下,新建hadoop目录。将安装包移动到该目录下解压。(同jdk安装)
将hadoop根目录下的bin目录和sbin目录路径加入到PATH中
export JAVA_HOME=/home/ryan/java/jdk
export HADOOP_HOME=/home/ryan/hadoop/hadoop
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin
改完后,执行source命令令其立即生效
使用hadoop version验证是否成功
六、Hadoop配置
**
在$HADOOP_HOME/etc/hadoop/目录下
需要配置以下文件
Hadoop-env.sh
export JAVA_HOME=/home/ryan/java/jdk
Yarn-env.sh
export JAVA_HOME=/home/用户名/java/jdk
Core-site.xml
在configuration标签中添加以下变量和值
fs.defaultFS
hdfs://主机名:9000
hadoop.tmp.dir
/home/用户名/hadoop/hadoop/tmp
要在hadoop目录下新建tmp目录
Hdfs-site.xml
(如果不设置该参数,则默认值为3)
dfs.replication
2
(如果不设置该参数,则默认值为
h
a
d
o
o
p
.
t
m
p
.
d
i
r
/
d
f
s
/
n
a
m
e
)
<
n
a
m
e
>
d
f
s
.
n
a
m
e
n
o
d
e
.
n
a
m
e
.
d
i
r
<
/
n
a
m
e
>
<
v
a
l
u
e
>
/
h
o
m
e
/
用
户
名
/
h
a
d
o
o
p
/
h
a
d
o
o
p
/
t
m
p
/
d
f
s
/
n
a
m
e
<
/
v
a
l
u
e
>
<
/
p
r
o
p
e
r
t
y
>
<
p
r
o
p
e
r
t
y
>
(
如
果
不
设
置
该
参
数
,
则
默
认
值
为
hadoop.tmp.dir/dfs/name) <name>dfs.namenode.name.dir</name> <value>/home/用户名/hadoop/hadoop/tmp/dfs/name </value> </property> <property>(如果不设置该参数,则默认值为
hadoop.tmp.dir/dfs/name)<name>dfs.namenode.name.dir</name><value>/home/用户名/hadoop/hadoop/tmp/dfs/name</value></property><property>(如果不设置该参数,则默认值为hadoop.tmp.dir/dfs/data)
dfs.datanode.data.dir
/home/用户名/hadoop/hadoop/tmp/dfs/data
Mapred-site.xml
mapreduce.framework.name
yarn
Yarn-site.xml
yarn.resourcemanager.address
主节点名:8032
Slaves
在此文件中写明所有从节点的节点名,一行一个(如果为伪分布式部署,则默认localhost即可,无需更改)
最后格式化HDFS 命令 hadoop namenode-formad
在hadoop的bin目录下启动hadoop就可以了 start-all.sh