(一)Hadoop基础环境的配置
1.0 前置操作:为我创建的普通用户获得root权限
操作方法如下:
切换到管理员用户,右上角log out,登录root用户,进入界面
命令行打开:
/etc/sudoers
chmod u+w /etc/sudoers
vim /etc/sudoers
或者从图形界面打开/etc/sudoers
复制第98行:
root ALL=(ALL) ALL
在第99行复制并更改用户名:
user(自己的用户名) ALL=(ALL) ALL
被认可的用户使用特权命令时,需要在特权命令前加上sudo
1.1基础网络环境
1.1.1先配置网络连通
在图形界面中,打开网络连接的有线设置->齿轮->ipv4->地址选择手动,填写网络信息就可以了。
【注】网络信息必须符合网络规则(编辑中有虚拟网络编辑器)
在命令行中,打开文件后,将以下配置进行更改
BOOTPROTO=static
ONBOOT=yes
添加以下配置
IPADDR=192.168.218.10
NETMASK=255.255.255.0
GATEWAY=192.168.218.2
DNS1=8.8.8.8
最后,重启网络
sudo service network restart
1.1.2配置网络地址与主机名的对应关系(可选)
sudo vim /etc/hostname
将此文件内容全部删除,更改为你的当前操作主机的主机名
sudo vim /etc/hosts
在最后新建一行,添加以下内容
IP地址1 主机名1
IP地址2 主机名2
IP地址3 主机名3
1.1.3关闭防火墙
查看防火墙状态
systemctl status firewalld.service
这里开始默认是开启的,我已经给关掉了,具体操作如下:
关闭防火墙
systemctl stop firewalld.service
查看服务开启启动项列表
systemctl list-unit-files
设置防火墙开机不自动启动
systemctl disable firewalld.service
1.2 ssh免密登陆
首先生成公私钥
ssh-keygen -t rsa
打开用户目录下的.ssh目录
Cd .ssh
会发现两个文件:id_rsa 和 id_rsa.pub
cp id_rsa.pub authorized_keys
将公钥文件拷贝成authorized_keys
最后可以验证一下有没有配置成功
ssh 本机主机名
如果不需要输入密码可直接登录就说明设置成功
然后exit退出即可。
1.3 JDK的安装
1、首先复制jdk文件(.tar.gz格式)到用户目录下,在此目录下新建java目录。
2、将安装包移动到该目录下解压。
tar zxvf 压缩包名
3、解压后为了方便后期操作,将解压后目录名重命名为jdk(使用mv改名)
4、卸载已经安装好的JDK(可选项)
① 查询当前安装好的JDK包名
rpm -qa | grep jdk
② 卸载方法
rpm -e 包名 --nodeps(忽略依赖关系)
③ 使用java -version命令验证
④ 此时已经没有java的环境变量了,因为都卸载完了,下一步就是给自己安装好的JDK配置环境变量。
5、配置JDK的环境变量
① 打开并编辑用户目录下的.\bashrc文件
vim ~/.bashrc
② 在正文的后面添加以下内容
export JAVA_HOME=/home/ryan/java/jdk
export PATH=$PATH:$JAVA_HOME/bin
③ 保存退出,让该文件立即生效
source ~/.bashrc
现在环境变量配置好了,再输入java -version查看
如果显示版本号与安装版本号相同,则证明安装成功了
(二)Hadoop的安装
首先将hadoop安装包复制到用户目录下,新建hadoop目录。将安装包移动到该目录下解压。
将解压完成后的目录(hadoop-2.6.2)改名为hadoop(为了方便)
将hadoop根目录下的bin目录和sbin目录路径加入到PATH中,更改~/.bashrc文件如下
export JAVA_HOME=/home/用户名/java/jdk
export HADOOP_HOME=/home/用户名/hadoop/hadoop
hadoop的配置
在$HADOOP_HOME/etc/hadoop/目录下
需要配置以下文件
Hadoop-env.sh
export JAVA_HOME=/home/ryan/java/jdk
Yarn-env.sh
export JAVA_HOME=/home/ryan/java/jdk
Core-site.xml
在configuration标签中添加以下变量和值
fs.defaultFS
hdfs://node-1:9000
hadoop.tmp.dir
/home/ryan/hadoop/hadoop/tmp
Hdfs-site.xml
(如果不设置该参数,则默认值为3)
dfs.replication
2
(如果不设置该参数,则默认值为hadoop.tmp.dir/dfs/name)
(如果不设置该参数,则默认值为 hadoop.tmp.dir/dfs/name)
(如果不设置该参数,则默认值为hadoop.tmp.dir/dfs/name)dfs.namenode.name.dir/home/ryan/hadoop/hadoop/tmp/dfs/name
(如果不设置该参数,则默认值为hadoop.tmp.dir/dfs/data)
dfs.datanode.data.dir
/home/ryan/hadoop/hadoop/tmp/dfs/data
Mapred-site.xml
mapreduce.framework.name
yarn
Yarn-site.xml
yarn.resourcemanager.address
rmhostname:8032
Slaves
在此文件中写明所有从节点的节点名,一行一个(如果为伪分布式部署,则默认localhost即可,无需更改)
格式化并启动hadoop
hadoop namenode -format
start-all.sh