Hadoop伪分布模式安装
Hadoop伪分布模式安装
Hadoop的运⾏模式分为3种:
本地运⾏模式,伪分布运⾏模式,完全分布运⾏模式。
(1)本地模式(local mode)
这种运⾏模式在⼀台单机上运⾏,没有HDFS分布式⽂件系统,⽽是直接读写本地操作系统中的⽂件系统。在本地运⾏模式(local mode)中不存在守护进程,所有进程都运⾏在⼀个JVM上。单机模式适⽤于开发阶段运⾏MapReduce程序,这也是最少使⽤的⼀个模式。
(2)伪分布模式
这种运⾏模式是在单台服务器上模拟Hadoop的完全分布模式,单机上的分布式并不是真正的分布式,⽽是使⽤线程模拟的分布式。在这个模式中,所有守护进程(NameNode,DataNode,ResourceManager,NodeManager,SecondaryNameNode)都在同⼀台机器上运⾏。因为伪分布运⾏模式的Hadoop集只有⼀个节点,所以HDFS中的块复制将限制为单个副本,其secondary-master和slave也都将运⾏于本地主机。
此种模式除了并⾮真正意义的分布式之外,其程序执⾏逻辑完全类似于完全分布式,因此,常⽤于开发⼈员测试程序的执⾏。
(3)完全分布模式
这种模式通常被⽤于⽣产环境,使⽤N台主机组成⼀个Hadoop集,Hadoop守护进程运⾏在每台主机之上。这⾥会存在Namenode运⾏的主机,Datanode运⾏的主机,以及SecondaryNameNode运⾏的主机。在完全分布式环境下,主节点和从节点会分开。
实验环境
Linux Ubuntu 14.04
实验内容
在只安装Linux系统的服务器上,安装Hadoop2.6.0伪分布模式。
实验步骤
1.此步为可选项,建议⽤户创建⼀个新⽤户及⽤户组,后续的操作基本都是在此⽤户下来操作。但是⽤
户亦可在⾃⼰当前⾮root⽤户下进⾏操作。 创建⼀个⽤户名为liulei,并为此⽤户创建home⽬录,此时会默认创建⼀个与liulei同名的⽤户组。
sudo useradd -d /home/liulei -m liulei
为liulei⽤户设置密码,执⾏下⾯的语句
sudo passwd liulei
按提⽰消息,输⼊密码以及确认密码即可,此处密码设置为liulei
将liulei⽤户的权限,提升到sudo超级⽤户级别
sudo usermod -G sudo liulei
后续操作,我们需要切换到liulei⽤户下来进⾏操作。
su liulei
2.⾸先来配置SSH免密码登陆
SSH免密码登陆需要在服务器执⾏以下命令,⽣成公钥和私钥对
ssh-keygen -t rsa
此时会有多处提醒输⼊在冒号后输⼊⽂本,这⾥主要是要求输⼊ssh密码以及密码的放置位置。在这⾥,只需要使⽤默认值,按回车即可。
此时ssh公钥和私钥已经⽣成完毕,且放置在/.ssh⽬录下
/.ssh⽬录下。切换到
cd ~/.ssh
可以看到~/.ssh⽬录下的⽂件
下⾯在~/.ssh⽬录下,创建⼀个空⽂本,名为authorized_keys
touch ~/.ssh/authorized_keys
将存储公钥⽂件的id_rsa.pub⾥的内容,追加到authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
下⾯执⾏ssh localhost测试ssh配置是否正确
ssh localhost
⼀次使⽤ssh访问,会提醒是否继续连接
后续再执⾏ssh localhost时,就不⽤输⼊密码了
3.下⾯⾸先来创建两个⽬录
sudo mkdir /apps
sudo mkdir /data
并为/apps和/data⽬录切换所属的⽤户为liulei及⽤户组为liulei
sudo chown -R liulei:liulei/apps
sudo chown -R liulei:liulei/data
两个⽬录的作⽤分别为:/apps⽬录⽤来存放安装的框架,/data⽬录⽤来存放临时数据、HDFS数据、程序代码或脚本。执⾏ ls -l 命令
ls -l
可以看到根⽬录下/apps和/data⽬录所属⽤户及⽤户组已切换为liulei:liulei
4.配置HDFS。
创建/data/hadoop1⽬录,⽤来存放相关安装⼯具,如jdk安装包及hadoop安装包hadoop-2.6.0-
cdh5.4.。
mkdir -p /data/hadoop
切换⽬录到/data/hadoop1⽬录,使⽤wget命令,下载所需的hadoop安装包及hadoop-2.6.0-
cdh5.4.。
注:请⾃⾏到官⽹下载相应的安装包。
cd /data/hadoop
下载
下载 hadoop-2.6.0-cdh5.4.
5.安装jdk。将/data/hadoop1⽬录下 解压缩到/apps⽬录下。
tar -xzvf /data/hadoop1/ -C /apps
其中,tar -xzvf 对⽂件进⾏解压缩,-C 指定解压后,将⽂件放到/apps⽬录下。
切换到/apps⽬录下,我们可以看到⽬录下内容如下:
cd /apps/
ls -l
下⾯将jdk1.7.0_75⽬录重命名为java,执⾏:
mv /apps/jdk1.7.0_75/ /apps/java
6.下⾯来修改环境变量:系统环境变量或⽤户环境变量。我们在这⾥修改⽤户环境变量。
sudo vim ~/.bashrc
输⼊上⾯的命令,打开存储环境变量的⽂件。空⼏⾏,将java的环境变量,追加进⽤户环境变量中。
#java
export JAVA_HOME=/apps/java
export PATH=$JAVA_HOME/bin:$PATH
输⼊Esc, 进⼊vim命令模式,输⼊ :wq !进⾏保存。
让环境变量⽣效。
source ~/.bashrc
执⾏source命令,让java环境变量⽣效。执⾏完毕后,可以输⼊java,来测试环境变量是否配置正确。如果出现下⾯界⾯,则正常运⾏。
7.下⾯安装hadoop,切换到/data/hadoop1⽬录下,将hadoop-2.6.0-cdh5.4.解压缩到/apps⽬录下。
cd /data/hadoop1
tar -xzvf /data/hadoop1/hadoop-2.6.0-cdh5.4. -C /apps/
为了便于操作,我们也将hadoop-2.6.0-cdh5.4.5重命名为hadoop。
mv /apps/hadoop-2.6.0-cdh5.4.5/ /apps/hadoop
8.修改⽤户环境变量,将hadoop的路径添加到path中。先打开⽤户环境变量⽂件。
sudo vim ~/.bashrc
将以下内容追加到环境变量~/.bashrc⽂件中。
#hadoop
export HADOOP_HOME=/apps/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
让环境变量⽣效。
source ~/.bashrclinux系统地址
验证hadoop环境变量配置是否正常
hadoop version
9.下⾯来修改hadoop本⾝相关的配置。⾸先切换到hadoop配置⽬录下。
cd /apps/hadoop/etc/hadoop
10.输⼊vim /apps/hadoop/etc/hadoop/hadoop-env.sh,打开hadoop-env.sh配置⽂件。
vim /apps/hadoop/etc/hadoop/hadoop-env.sh
将下⾯JAVA_HOME追加到hadoop-env.sh⽂件中。
export JAVA_HOME=/apps/java
11.输⼊vim /apps/hadoop/etc/l,打开l配置⽂件。
vim /apps/hadoop/etc/l
添加下⾯配置到与标签之间。
<property>
<name&p.dir</name>
<value>/data/tmp/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
这⾥有两项配置:
⼀项是p.dir,配置hadoop处理过程中,临时⽂件的存储位置。这⾥的⽬录/data/tmp/hadoop/tmp需要提前创建。另⼀项是fs.defaultFS,配置hadoop HDFS⽂件系统的地址。
12.输⼊vim /apps/hadoop/etc/l,打开l配置⽂件。
vim /apps/hadoop/etc/l
添加下⾯配置到与标签之间。
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/tmp/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/tmp/hadoop/hdfs/data</value>
</property>
<property>
<name&plication</name>
<value>1</value>
</property>
<property>
<name>abled</name>
<value>false</value>
</property>
配置项说明:
dfs.namenode.name.dir,配置元数据信息存储位置;
dfs.datanode.data.dir,配置具体数据存储位置;
另外/data/tmp/hadoop/hdfs路径,需要提前创建,所以我们需要执⾏
mkdir -p /data/tmp/hadoop/hdfs
13.输⼊vim /apps/hadoop/etc/hadoop/slaves,打开slaves配置⽂件。
vim /apps/hadoop/etc/hadoop/slaves
将集中slave⾓⾊的节点的主机名,添加进slaves⽂件中。⽬前只有⼀台节点,所以slaves⽂件内容为:
localhost
14.下⾯格式化HDFS⽂件系统。执⾏:
hadoop namenode -format
15.切换⽬录到/apps/hadoop/sbin⽬录下。
cd /apps/hadoop/sbin/
16.启动hadoop的hdfs相关进程。
./start-dfs.sh
这⾥只会启动HDFS相关进程。
17.输⼊jps查看HDFS相关进程是否已经启动。
jps
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论