Ubuntu 安装部署 Hadoop 2.6.5 实例演示

来源:互联网 发布:全局优化算法举例 编辑:程序博客网 时间:2024/05/29 17:26

这里写图片描述

本文为我实践和细化外网上的一篇文档,并做了实践截图说明。

原作者文档地址 感谢作者的原文,也希望我的实践能给读者一些帮助。

一、安装 JAVA

sudo add-apt-repository -y ppa:webupd8team/javasudo apt-get -y update  > /dev/nullsudo apt-get -y install oracle-java8-installer > /dev/null

运行完成后,检查安装:
这里写图片描述

Java 会安装在/usr/lib/jvm/java-8-oracle(也是后续设置JAVA环境变量的目录)

二、为Hadoop环境创建用户组和用户

创建一个名为hadoop的用户组,并添加用户hduser

sudo addgroup hadoopsudo adduser --ingroup hadoop hduser

此处需要你输入设定一个用户密码,其他用户信息回车即可

三、安装ssh

如果你的ubuntu上没有ssh,可以通过如下命令来安装

sudo apt-get install ssh

可以通过通过如下命令检测安装

which ssh

有些默认已经安装上了,具体视情况而定

四、设置免密码登陆(ssh到本机免密码)

切换到第二步中我们创建的用户

su hduser

这里写图片描述

ssh-keygen -t rsa -P ""

让enter file的时候直接回车

这里写图片描述

然后运行如下命令:

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

此命令的意思是将.ssh 中的id_rsa.pub 的内容追加到 authorized_keys 中
这里写图片描述

然后验证是否成功

ssh localhost

这里写图片描述

以上如果都成功,则准备工作完成

五、下载安装hadoop

下载解压:

wget http://www-us.apache.org/dist/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gztar xvzf hadoop-2.6.5.tar.gz

Hadoop版本链接,可以点击查看版本

这里写图片描述

大概需要下载个几分钟,然后解压

这里写图片描述

把hduser假如到sudo中,不然后面有的地方权限不足。先切换到root用户,然后

sudo adduser hduser sudosudo su hduser#切换到hduser用户#在/usr/local/下创建一个hadoop作为工作目录sudo  mkdir /usr/local/hadoop#然后将解压出来的hadoop-2.6.5中所有的内容移动过去sudo mv * /usr/local/hadoop#更改hadoop目录的拥有权限sudo chown -R hduser:hadoop /usr/local/hadoop

这里写图片描述

这里写图片描述

上述步骤完成,我们达到的目的是:下载解压了hadoop2.6.5这个文件,并将该文件夹中的内容移动到了/usr/local/hadoop这个工作目录下

此处办法不一,达到目的即可

六、配置hadoop

1.配置~/.bashrc

这里写图片描述

#HADOOP VARIABLES STARTexport JAVA_HOME=/usr/lib/jvm/java-8-oracleexport HADOOP_INSTALL=/usr/local/hadoopexport PATH=$PATH:$HADOOP_INSTALL/binexport PATH=$PATH:$HADOOP_INSTALL/sbinexport HADOOP_MAPRED_HOME=$HADOOP_INSTALLexport HADOOP_COMMON_HOME=$HADOOP_INSTALLexport HADOOP_HDFS_HOME=$HADOOP_INSTALLexport YARN_HOME=$HADOOP_INSTALLexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"#为后续mapreduce 做准备可以加如下的环境设置:export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jarexport CLASSPATH=$($HADOOP_INSTALL/bin/hadoop classpath):$CLASSPATH

添加到最后即可
这里写图片描述

运行,使其生效

source ~/.bashrc

这里写图片描述

1.如果你不是按照我的第五步走的话,此处你要注意你的hadoop的安装文件夹可能跟我的不一样,其实没关系,你写对你自己的路径位置即可

2.你的JAVA的路径也可能跟我的不一样。找对你java的安装目录即可

2.配置/usr/local/hadoop/etc/hadoop/hadoop-env.sh

此处只需要修改一个JAVA环境变量即可:
这里写图片描述

3.配置/usr/local/hadoop/etc/hadoop/core-site.xml

/usr/local/hadoop/etc/hadoop/core-site.xml文件包含Hadoop启动时使用的配置属性。 该文件可用于覆盖Hadoop开始的默认设置。

配置此处之前,有些预先要创建的文件夹

sudo mkdir -p /app/hadoop/tmpsudo chown hduser:hadoop /app/hadoop/tmp

上述两个命令成功后,再修改core.site.xml 如下

<configuration> <property>  <name>hadoop.tmp.dir</name>  <value>/app/hadoop/tmp</value>  <description>A base for other temporary directories.</description> </property> <property>  <name>fs.default.name</name>  <value>hdfs://localhost:54310</value>  <description>The name of the default file system.  A URI whose  scheme and authority determine the FileSystem implementation.  The  uri's scheme determines the config property (fs.SCHEME.impl) naming  the FileSystem implementation class.  The uri's authority is used to  determine the host, port, etc. for a filesystem.</description> </property></configuration>

这里写图片描述

4.配置/usr/local/hadoop/etc/hadoop/mapred-site.xml

该文件指定了which framework 被用来做MapReduce

正常情况下,目录下是没有mapred-site.xml,只有mapred-site.xml.template,我们需要cp一份出来进行配置。

cp mapred-site.xml.template mapred-site.xml

配置如下:

<configuration> <property>  <name>mapred.job.tracker</name>  <value>localhost:54311</value>  <description>The host and port that the MapReduce job tracker runs  at.  If "local", then jobs are run in-process as a single map  and reduce task.  </description> </property></configuration>

5.配置/usr/local/hadoop/etc/hadoop/hdfs-site.xml

它用于指定将用作该主机上的namenode和datanode的目录。

配置之前,我们需要先创建这两个目录,然后再指定它

sudo mkdir -p /usr/local/hadoop_store/hdfs/namenodesudo mkdir -p /usr/local/hadoop_store/hdfs/datanodesudo chown -R hduser:hadoop /usr/local/hadoop_store

配置如下:

<configuration> <property>  <name>dfs.replication</name>  <value>1</value>  <description>Default block replication.  The actual number of replications can be specified when the file is created.  The default is used if replication is not specified in create time.  </description> </property> <property>   <name>dfs.namenode.name.dir</name>   <value>file:/usr/local/hadoop_store/hdfs/namenode</value> </property> <property>   <name>dfs.datanode.data.dir</name>   <value>file:/usr/local/hadoop_store/hdfs/datanode</value> </property></configuration>

上述配置完,下面开始格式化和启动

七、Format Hadoop Filesystem

在使用hdfs之前,我们需要对其格式化
方法如下:

#切换路径到/usr/local/hadoop下bin/hdfs namenode -format

这里写图片描述

请注意,hadoop namenode -format命令应该在我们开始使用Hadoop之前执行一次。 如果在使用Hadoop之后再次执行此命令,它将销毁Hadoop文件系统上的所有数据。

八、启动Hadoop

cd /usr/local/hadoop/sbinstart-dfs.shstart-yarn.sh

这里写图片描述

这里写图片描述

输入jps,返回如上图所示,一般认为初步成功。

我们也可以通过netstat进行查看

netstat -plten | grep java

这里写图片描述

九、Stopping Hadoop

#运行/usr/local/hadoop/sbin下的stop-all.sh#或者stop-dfs.sh#或者stop-yarn.sh

十、查看hadoop web Interfaces

访问http://localhost:50070 查看Namenode daemon

这里写图片描述

访问http://localhost:50090 查看SecondaryNameNode

这里写图片描述

也可以访问http://localhost:8080 查看

这里写图片描述

原创粉丝点击