135Hadoop2.6.0
伪分布式设置
准备工作:把JDK
和Hadoop
安装包上传到linux
系统(oracle(home
中的用户)
用户的根目录)
hadoop用户安装操作,主要是因为安全性问题,root用户的权限太大,而集群建通信又需要配置SSH免密登录,所以尽量不适用root
Jdk
安装
1.
在hadoop
用户的根目录,Jdk
解压,(
hadoop
用户操作
)
tar -zxvf jdk-8u65-linux-x64.tar.gz
解压完成后,在hadoop
用户的根目录有一个jdk1.8.0_65
目录
2.
配置环境变量,需要修改/etc/profile
文件(
root
用户操作
)
切到root
用户,输入su
命令
vi /etc/profile
进去编辑器后,输入i
,进入vi
编辑器的插入模式
在profile
文件最后添加
JAVA_HOME=/home/hadoop/jdk1.8.0_65 export PATH=$PATH:$JAVA_HOME/bin |
编辑完成后,按下esc
退出插入模式
输入:,这时在左下角有一个冒号的标识
q
退出不保存
wq
保存退出
q!
强制退出
3.
把修改的环境变量生效(
hadoop
用户操作
)
执行source /etc/profile
Hadoop
安装
1.
在hadoop
用户的根目录,解压(
hadoop
用户操作
)
tar -zxvf hadoop-2.6.0.tar.gz
解压完成在hadoop
用户的根目录下有一个hadoop-2.6.0
目录
2.
修改配置文件hadoop-2.6.0/etc/hadoop/hadoop-env.sh
(
hadoop
用户操作
)
export JAVA_HOME=/home/hadoop(lihang)/jdk1.8.0_65
3.
修改配置文件hadoop-2.6.0/etc/hadoop/core-site.xml
,添加(
hadoop
用户操作
)
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop(主机名):9000</value> </property> |
4.
修改配置文件hadoop-2.6.0/etc/hadoop/hdfs-site.xml
,添加(
hadoop
用户操作
)
<property> <name>dfs.namenode.name.dir</name> <value>/home/lihang/appdata/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/lihang/appdata/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> |
5.
修改修改配置文件hadoop-2.6.0/etc/hadoop/mapred-site.xml
(
hadoop
用户操作
)
这个文件没有,需要复制一份
Cp etc/hadoop/mapred-site.xml.templateetc /hadoop/mapred-site.xml
添加
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> |
6.
修改配置文件hadoop-2.6.0/etc/hadoop/yarn-site.xml
,添加(
hadoop
用户操作
)
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> |
7.
修改/etc/hosts
文件(
root
用户操作
),
添加:ip
主机名称
192.168.44.199 oracle
8.
格式化HDFS
,在hadoop
解压目录下,执行如下命令:(
hadoop
用户操作
)
bin/hdfs namenode –format
注意:
格式化只能操作一次,如果因为某种原因,集群不能用,需要再次格式化,需要把上一次格式化的信息删除,在
/tmp
目录里执行
rm–rf *
格式化之后这个目录自己就出来了
!
9.
启动集群,在hadoop
解压目录下,执行如下命令:(
hadoop
用户操作
)
启动集群:sbin/start-all.sh
需要输入四次当前用户的密码(
通过配置ssh
互信解决)
启动后,在命令行输入jps
有以下输出
[oracle@oracle hadoop-2.6.0]$ jps 32033 Jps 31718 SecondaryNameNode 31528 DataNode 31852 ResourceManager 31437 NameNode 31949 NodeManager |
可能是因为第一次启动吧,我第二次启动就没输入任何东西
关闭集群:sbin/stop-all.sh
需要输入四次当前用户的密码(
通过配置ssh
互信解决)
SSH
互信配置(
hadoop
用户操作
)
rsa
加密方法,公钥和私钥
1.
生成公钥和私钥
在命令行执行ssh-keygen
,然后回车,然后会提示输入内容,
什么都不用写,一路回车
在oracle
用户根目录下,有一个.ssh
目录
id_rsa
私钥
id_rsa.pub
公钥
known_hosts
通过SSH
链接到本主机,都会在这里有记录
2.
把公钥给信任的主机(
本机)
在命令行输入ssh-copy-id
主机名称
ssh-copy-id oracle
复制的过程中需要输入信任主机的密码
3.
验证,在命令行输入:ssh
信任主机名称
ssh oracle
如果没有提示输入密码,则配置成功
还原
把hadoop
还原到未配置状态,在用户的根目录执行:
1.
rm -rf hadoop-2.6.0
2.
rm -rf /tmp/*
3.
root用户删除tmp下的
、
下面是微信别人公众号的一个安装方法
这个互信又完蛋了,不对,没完蛋,我用root启动的。。。
哎
非root也完蛋了