目录
Hadoop伪分布式的搭建
0x00事先准备
准备jdk和Hadoop的安装包。建议删掉自带的Java,要不然后面配置环境变量会有坑
rpm -qa | grep java #查看相关Java的包
然后删除涉及jdk的几个包
rpm -e --nodeps [+jdk名]
之后将jdk和Hadoop上传到机子中就可以正式开始搭建了
0x01 ssh配置
同样是使用rpm查看是否安装ssh
rpm -qa | grep ssh
如果出现openssh-server等,那么说明系统已经安装好ssh,如果没有,则需要自行安装
yum install openssh-clientsyum install openssh-server
然后开始进行ssh 免密登陆,先执行一下ssh localhost 登陆一下,看看ssh是否正常使用,然后exit就会退出ssh,
cd ~/.sshssh-keygen -t rsacat id_rsa.pub >> authorized_keyschmod 600 ./authorized_keys
之后我们再登陆ssh 就不需要密码了
0x02 修改本地映射
vi /etc/hosts#然后在文件末尾添加#[你的ip] 用户名
大致如下图
[
0x03 Jdk的安装
我们将之前第一步准备的jdk安装包解压,我们用的是jdk1.7.0_91
这里我的安装目录是 /usr/local
tar -zxvf jdk-7u91-linux-x64.tar.gz -C /usr/local# 然后是配置环境变量vi ~/.bashrc# 打开这个文件后,在末尾添加上export JAVA_HOME=/usr/local/jdk1.7.0_91 # 这里填的就是你的jdk安装路径export PATH=$JAVA_HOME/bin:$PATH# 然后使用source 使环境变量生效,记住,每次修改环境变量都要使用一下 source ~/.bashrc
0x04 Hadoop安装
将之前准备的Hadoop安装包解压,
tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local
解压好之后,(最好把解压之后的文件夹直接命名为hadoop,这样配置环境变量方便) 我们到Hadoop文件夹下
cd /usr/local/hadoop
然后我们查看Hadoop的版本,确保安装成功
./bin/hadoop version
0x05 hadoop 伪分布式相关配置
1 环境变量
vim ~/.bashrc# 与配置jdk相同的道理:export HADOOP_HOME=/usr/local/hadoop #hadoop 的目录export HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin#同样source一下source ~/.bashrc
2 core-site.xml配置
此文件与接下来几个配置文件都是在 /usr/local/hadoop/etc/hadoop 文件夹下,我们使用vi打开然后修改。首先是core-site.xml
hadoop.tmp.dir /usr/local/hadoop/data hadoop_temp fs.default.name hdfs://hadoop01:8020 #这里注意一下,之前修改的映射时的用户名,我这里叫做hadoop01hdfs_derect
3 hdfs-site.xml
dfs.replication 1 dfs.namenode.name.dir /usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir /usr/local/hadoop/tmp/dfs/data
4 mapred-site.xml
mapreduce.framework.name yarn
这个配置文件刚开始文件名是叫做mapred-site.xml.template,我们可以在配置好之后把名字改一下
5 yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce_shuffle.class org.apache.hadoop.mapred.ShuffleHandler
这个文件要配置好,一开始我就是这里出了错
0x06 hadoop namenode 格式化
hdfs namenode -format
如果执行成功的话,会出现如下图所示
0x07 关闭防火墙
这里我用的是Centos7,关闭防火墙的命令是firewalld
启动: systemctl start firewalld关闭: systemctl stop firewalld开机禁用 systemctl disable firewalld开机启用 systemctl enable firewalld
0x08 开始启动hadoop
我们来到 /usr/local/hadoop/sbin 文件夹下,使用 ls 我们可以看到许多启动文件
[
其中 start-all.sh 是启动全部的
我们在此目录下执行 ./start-all.sh
如果出现如下图则成功启动
然后输入jps
看到以下5个进程,就算大功告成了
namenodesecondarynamenodedatanoderesourcemanagernodemanager