Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu上搭建Hadoop环境(单击模式+伪分布模式)

Ubuntu上搭建Hadoop环境(单击模式+伪分布模式)

1.安装Ubuntu虚拟机

Ubuntu下载地址:Ubuntu官网

下面是VM安装ubuntu虚拟机
傻瓜式的安装即可
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述这里需要注意一下
在这里插入图片描述

2.添加hadoop用户到系统用户

安装好Ubuntu之后,我们正式开始配置hadoop——添加一个名为hadoop到系统用户,专门用来做Hadoop测试

    ~$ sudo addgroup hadoop
    ~$ sudo adduser --ingroup hadoop hadoop

然后输入如下命令,使新建立的hadoop账户拥有最高的权限

~$ sudo gedit /etc/sudoers

在打开的文件中,在root下面加入下面一行。

hadoop   ALL=(ALL:ALL) ALL
注意这里hadoop后面安Tab这里需要注意:如果手动敲入这行内容,hadoop后面跟的是/t,也就是键盘的Tab,如果这里输入不对的话会导致Ubuntu系统出现很大的问题。

然后保存退出即可

3.安装ssh

接下来配置ssh服务,使系统可以远程登录。

先安装ssh

~$ sudo apt-get install openssh-server

ssh安装完成以后,先启动服务

~$ sudo /etc/init.d/ssh start

启动后,可以通过如下命令查看服务是否正确启动

~$ ps -e | grep ssh

在这里插入图片描述接下来我们要设置成免密码登录,生成私钥和公钥

~$ ssh-keygen -t rsa -P ""

在这里插入图片描述因为我已有私钥,所以会提示是否覆盖当前私钥。第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):

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

在可以登入ssh确认以后登录时不用输入密码,如果后续jps有问题,即说明ssh无密码登录设置失败

~$ ssh localhost

在这里插入图片描述
退出

~$ exit

然后我们再次登录试一下是否设置无密码登录成功

~$ ssh localhost

结果和上面一样即可,这样我们以后登录ssh就不需要密码了

4.安装java环境

    ~$ sudo apt-get install openjdk-8-jdk
    ~$ java -version

这里openjdk-8-jdk是我们ubuntu自带的jdk,下载成功如下图(根据自己的jdk版本对照)
在这里插入图片描述

5.安装hadoop

hadoop官网安装hadoop
在这里插入图片描述在这里插入图片描述在这里插入图片描述然后解压并放到你希望的目录中,我的是放到/usr/local/hadoop

    ~$ sudo tar xzf hadoop-1.0.2.tar.gz
    ~$ sudo mv hadoop-1.0.2 /usr/local/hadoop

接下来给前面建立的hadoop用户赋予相关的权限,否则hadoop用户无法配置这个目录下面的文件。

  ~$ sudo chown -R hadoop:hadoop /usr/local/hadoop

6.配置单击模式

接下来把这个配置到bashrc中,输入如下命令

	~$ sudo gedit ~/.bashrc

系统会打开Gedit,然后把如下内容附加到文件的末尾
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH= P A T H : PATH: PATH:HADOOP_INSTALL/bin
export PATH= P A T H : PATH: PATH:HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME= H A D O O P I N S T A L L e x p o r t H A D O O P C O M M O N H O M E = HADOOP_INSTALL export HADOOP_COMMON_HOME= HADOOPINSTALLexportHADOOPCOMMONHOME=HADOOP_INSTALL
export HADOOP_HDFS_HOME= H A D O O P I N S T A L L e x p o r t Y A R N H O M E = HADOOP_INSTALL export YARN_HOME= HADOOPINSTALLexportYARNHOME=HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR= H A D O O P I N S T A L L / l i b / n a t i v e e x p o r t H A D O O P O P T S = " − D j a v a . l i b r a r y . p a t h = HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path= HADOOPINSTALL/lib/nativeexportHADOOPOPTS="Djava.library.path=HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
在这里插入图片描述接下来通过如下命令使配置生效。接下来通过如下命令使配置生效。

	~$ source ~/.bashrc

然后设定hadoop-env.sh

~$ sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 (视你机器的java安装路径而定)
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin

在这里插入图片描述让环境变量配置生效source

~$ source /usr/local/hadoop/conf/hadoop-env.sh

至此,hadoop的单机模式大功告成!!!
在这里插入图片描述
运行一下hadoop自带的例子WordCount来感受以下MapReduce过程
在hadoop目录下新建input文件夹
首先我们定位到hadoop目录

	~$ cd /usr/local/hadoop

然后创建input目录

	~$ mkdir input

如果不行用sudo提高权限

将README.txt文件夹复制到input文件夹下

	~$ sudo cp README.txt input

最后运行一下命令

	~$ sudo bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.10.0-sources.jar org.apache.hadoop.examples.WordCount input output

在这里插入图片描述我们运行看一下结果

	~$ cat output/*

在这里插入图片描述

7.配置伪分布模式

首先在hadoop目录下新建几个文件夹

    ~$ sudo mkdir /usr/local/hadoop/tmp
    ~$ sudo mkdir /usr/local/hadoop/hdfs
    ~$ sudo mkdir /usr/local/hadoop/hdfs/name
    ~$ sudo mkdir /usr/local/hadoop/hdfs/data

配置yarn-env.sh

	~$ sudo gedit /usr/local/hadoop/etc/hadoop/yarn-env.sh

添加如下内容:
#export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
在这里插入图片描述配置core-site.xml

	~$ sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

插入如下内容
注意:将core-site.xml中原来的有的 < /configuration >一定要删除掉,不然后面格式化的时候会出错。即.xml文件中只有一对<configuration < /configuration >对就可以。

<configuration>
	<property>
		<name>fs.default.name</name>
		<value>hdfs://localhost:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/usr/local/hadoop/tmp</value>
		<description>Abase for other temporary directories.</description>
	</property>
</configuration>

在这里插入图片描述同样修改配置文件 hdfs-site.xml
插入下列内容:(删除原有的<configuration)

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.dir</name>
		<value>file:/usr/local/hadoop/hdfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.dir</name>
		<value>file:/usr/local/hadoop/hdfs/data</value>
	</property>
</configuration>

在这里插入图片描述同理配置yarn-site.xml

在这里插入图片描述最后我们输入一下命令修改hadoop的权限

	~$ sudo chmod 777 -R /usr/local/hadoop

8.最后我们检验hadoop是否安装成功

启动HDFS为分布式模式
每次开机都需要格式化namenode

~$ hdfs namenode -format

在这里插入图片描述启动hdfs

	~$ start-all.sh

显示进程

	~$ jps

在这里插入图片描述有6个进程代表正确
在浏览器中输入http://localhost:50070/,出现如下页面
在这里插入图片描述输入 http://localhost:8088/, 出现如下页面
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/WANG_g_m/article/details/106299439