安装Hadoop:CentOS-7配置Hadoop-3.0.0伪分布式安装
2018-03-08 16:40
477 查看
前言
本文为作者的日记,因此默认读者会使用linux系统的基本命令如编辑及保存文件、打开文件夹、退出文件夹、新建及删除文件夹、显示文件内容等。工具
VMware 12 pro(虚拟机软件)CentOS 7
Hadoop-3.0.0
jdk1.8.0
SecureCRT(用于登陆linux主机)
安装及配置CentOS
在VMware中点击文件-新建虚拟机,然后按提示进行即可,虚拟机设置大概如下图,网络适配器选择NAT。注意CentOS默认是最小化安装,请在安装过程中“软件选择”处选择桌面模式(下文会关闭图形界面以节省内存),ROOT密码、用户名、用户密码均设为hadoop,其余选项默认即可。
开机后进入桌面,新安装的系统用不了sudo命令,需要更改一下系统文件,进入root用户后输入
vi /etc/sudoers
按箭头下建找到
root ALL=(ALL) ALL
更改如下并保存退出文件
root ALL=(ALL) ALL hadoop ALL=(ALL) ALL
输入exit退出root用户,因为CentOS 7取消了inittab,因此执行如下命令设置开机默认模式为文本模式:(关闭图形界面是为了节省内存,比如单机完全分布式可以把Slave结点都关掉,若需要在linux上编程不关也可以)
sudo systemctl set-default multi-user.target
然后输入如下命令立刻进入文本模式
sudo init 3
进入文本模式后登陆hadoop用户,输入如下命令查看网关名称
ifconfig
第一行第一个就是,比如作者的网关名字是ens33
输入下列命令设置ip等信息(最后一个是你自己的网关名称)
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
进入编辑模式并加入以下内容,注意根据你实际情况填写
IPADDR=192.168.29.3 GATEWAY=192.168.29.2 NETMASK=255.255.255.0
其中GATEWAY是网关,请在VMware的编辑-虚拟网络编辑器中查看你的网关,IPADDR是ip地址,设为网关地址加1就行。
保存退出后输入命令重启网络服务
sudo service network restart
最后ping一下百度有反应就表示可以了。
ping www.baidu.com
为了方便,建议下面操作在SecureCRTSecureCRT或类似的软件上进行
配置jdk及环境变量
将下载好的jdk-8u161-linux-x64.tar.gz放到windows的C盘上,右键选择Connect SFTP Connected,用于将win的文件发到linux上,在SFTP页面输入如下命令(文件名称输入前半部分按下Tab键就能自动补全)。put c:/jdk-8u161-linux-x64.tar.gz ~/
这时候回到linux上输入ll就能看到文件已经在了,输入下面命令解压
tar -zxvf jdk-8u161-linux-x64.tar.gz
进入jdk1.8.0_161/输入pwd记下jdk的路径
[hadoop@localhost ~]$ cd jdk1.8.0_161/ [hadoop@localhost jdk1.8.0_161]$ pwd /home/hadoop/jdk1.8.0_161
现在去设置环境变量
sudo vi /etc/profile
按shirt+G跳到最后一行进入编辑模式添加下面内容后保存退出
export JAVA_HOME=/home/hadoop/jdk1.8.0_161 export PATH=$PATH:$JAVA_HOME/bin
为了使更改后的profile立刻生效,输入下面命令
source /etc/profile
此时输入如下命令就可以看到环境变量是否成功设置
echo $JAVA_HOME
配置SSH无密码登陆
CentOS 7默认已经安装了 SSH client、SSH server,如果这一步命令报错请自行下载安装SSH client、SSH server。分别输入下面命令生成密钥、将密钥加到授权、更改文件权限
cd .ssh # 没有这个文件夹就新建一个 ssh-keygen -t rsa # 一直按回车就行 cat id_rsa.pub >> authorized_keys chmod 600 ./authorized_keys
验证是否配置成功,输入下面命令登陆本机,如果不用输入密码表示成功
ssh localhost
安装及配置Hadoop-3.0.0
同样将下载好的hadoop-3.0.0.tar.gz放到windows的C盘,在SecureCRT通过SFTP执行下面命令发送到linux中put c:/hadoop-3.0.0.tar.gz ~/
解压到/home/hadoop
tar -zxvf hadoop-3.0.0.tar.gz
先去配置好环境变量
sudo vi /etc/profile
在最后一行添加
export HADOOP_HOME=/home/hadoop/hadoop-3.0.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
这里说明一下环境变量的PATH,把路径添加上了就可以在任意地方打开PATH里面的东西,而不用专门跑到该文件夹里面,比如上面的hadoop-3.0.0/sbin,里面保存hadoop的开关。
最后运行一下
source /etc/profile
接下来先进入下面的文件夹
cd hadoop-3.0.0/etc/hadoop/
修改hadoop-env.sh
vi hadoop-env.sh
找到
# export JAVA_HOME=
改成
export JAVA_HOME=/home/hadoop/jdk1.8.0_161
记得去掉前面的’#’号。
修改core-site.xml
将<configuration> </configuration>
改成
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/hadoop-3.0.0/data</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
修改hdfs-site.xml
vi hdfs-site.xml
将
<configuration> </configuration>
改成
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/hadoop-3.0.0/data/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/hadoop-3.0.0/data/dfs/data</value> </property> <property> <name>dfs.http.address</name> <value>0.0.0.0:50070</value> </property> </configuration>
最后一步,格式化namenode
hdfs namenode -format
接着开启所有(关闭的话用stop替换start即可):
start-all.sh
正常情况下输入命令jps可以看到当前的进程
[hadoop@localhost hadoop]$ jps 2916 NodeManager 2357 DataNode 2809 ResourceManager 2522 SecondaryNameNode 3275 Jps 2255 NameNode
TIPS
在windows(需关闭防火墙)或linux(需关闭防火墙)里的浏览器输入localhost:50070或者localhost:8088(需要localhost和ip地址建立映射关系,or直接IP地址:XXXX)可以查看hadoop节点状态等。windows端设置localhost的映射貌似会有问题,比如我在win10更改hosts(192.168.29.3 localhost)会无效,可能因为windows的localhost名字有冲突,因此最好将linux的主机名改一下,这时core-site.xml对应的主机名也需要更改。
缺少任何一个都是错误的,请进入日志
/home/hadoop/hadoop-3.0.0/logs对应的.log文件查看错误原因。
当你尝试重新格式化namenode时,建议先删除/home/hadoop/hadoop-3.0.0/data
文件夹,否则可能格式化失败。
相关文章推荐
- hadoop-3.0.0-beta1运维手册(003):安装全分布式HDFS3.0.0-准备软件和配置CentOS网络
- Hadoop2.7.2 Centos 完全分布式集群环境搭建 (2) - Hadoop安装与配置(完全分布式)
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0
- hadoop-3.0.0-beta1运维手册(004):安装分布式hdfs3.0.0-配置JDK、设置主机名
- 【Hadoop入门】Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Centos中安装配置local/standalone模式和伪分布式模式hadoop集群
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop2.6.0完全分布式的安装与配置(Centos)
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0
- 【总大纲】Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0踩过的坑
- centos 6.3下安装Hadoop 2.7.1并配置伪分布式集群
- centos 6.3下安装Hadoop 2.7.1并配置伪分布式集群
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop 2.x 入门学习(一)--Centos 6.8 系统Hadoop 2.7.4 伪分布式安装配置详解