hadoop伪分布式安装与配置

这学期开了门大数据的课,实验要求安装好hadoop。经过十几二十个小时的百度和实践终于把hadoop安装完成,wordcount实例也成功运行。综合网上的一些方法,写下这篇文章,记忆与分享

首先就是安装Java:

自行在网上搜索jdk包,这里也有链接:点我点我

下载jdk。

使用tar命令解压:

tar -zxvf  jdk-8u191-linux-x64.tar.gz

在/usr/目录下创建一个文件夹:

sudo mkdir /usr/java

把解压的jdk移到/usr/java/中:

mv jdk1.8.0_191 /usr/java/

然后配置环境变量

sudo vim /etc/environment

如果vim没有安装 使用nano vi编辑都行 或者安装vim : sudo apt install vim(在此之前先将所有软件包更新到最新:sudo apt update && sudo apt upgrade)

编辑内容:

打开environment文件里面应该是只有这样的一行

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

编辑后文件里面的内容应该是:
 

JAVA_HOME="/usr/java/jdk1.8.0_191"

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/jdk1.8.0_191/bin:"

保存退出 接着输入命令 source /etc/environment 刷新环境变量

输入命令 java -version 如果显示出jdk版本的信息jdk就配置完成。

接下来安装ssh:

输入命令:

sudo apt update && sudo apt upgrade

更新软件包

sudo apt-get install ssh

安装ssh

sudo apt-get install openssh-server

安装完成之后设置ssh免密登录:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

尝试免密登录:

ssh localhost

如果没有提示输入密码直接登陆成功则设置成功

下载hadoop:

下载链接:下载hadoop点我

笔者下载安装的是3.1.1版本

在/usr/目录下创建一个hadoop目录

sudo mkdir /usr/hadoop

将下载的包解压到/usr/hadoop目录下

sudo tar -zxvf hadoop-3.1.1-src.tar.gz -C /usr/hadoop/

配置文件:

需要配置5个文件 在hadoop/etc/hadoop目录下

sudo vim hadoop-env.sh

将下面几行写入:
 

export JAVA_HOME=/usr/java/jdk1.8.0_191

export HADOOP_HOME=/usr/hadoop/hadoop-3.1.1

export PATH=$PATH:/usr/hadoop/hadoop-3.1.1/bin

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

其中路径都是你安装的hadoop和jdk路径

sudo vim core-site.xml

写入内容:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/hadoop-3.1.1/tmp</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/hadoop3/hadoop_tmp</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

sudo vim hdfs-site.xml

写入内容:

<configuration>
	<property>
		<name>dfs.replication</name> 
		<value>1</value>
	</property>
	<property>
		<name>dfs.data.dir</name>
		<value>/usr/hadoop/hadoop-3.1.1/data</value>
	</property>
	<property>
		<name>dfs.webhdfs.enabled</name>
		<value>true</value>
	</property>
	<property>
                <name>mapreduce.job.ubertask.enable</name>
                <value>true</value>
        </property>

</configuration>

sudo vim mapred-site.xml

写入内容:

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<property>
		<name>mapred.job.tracker</name>
		<value>localhost:9001</value>
	</property>
	<property>
		<name>mapreduce.application.classpath</name>
		<value>/usr/hadoop/hadoop-3.1.1/share/hadoop/mapreduce/*, /usr/hadoop/hadoop-3.1.1/share/hadoop/mapreduce/lib/*</value>
	</property>
</configuration>

sudo vim yarn-site.xml

写入内容:

<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name> 
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value> 
	</property>
	<property>
		<name>yarn.resourcemanager.webapp.address</name>
	       	<value>localhost:8088</value>
	</property>
	 <property>
                <name>yarn.nodemanager.webapp.address</name>
                <value>localhost:50070</value>
         </property>

	<property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>localhost:8030</value>
	</property>
	<property> 
		<name>yarn.resourcemanager.address</name>
		<value>localhost:8032</value> 
	</property>
	<property>
		<name>yarn.resourcemanager.resource-traker.address</name>
		<value>localhost:8031</value>
       	</property>
<!-- Site specific YARN configuration properties -->
	<property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2000</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1600</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>500</value>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>500</value>
    </property>
</configuration>

保存完后,编辑/etc/environment配置环境变量   编辑后为:

JAVA_HOME="/usr/java/jdk1.8.0_191"
HADOOP_INSTALL="/usr/hadoop/hadoop-3.1.1"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/jdk1.8.0_191/bin:/usr/hadoop/hadoop-3.1.1/bin:/usr/hadoop/hadoop-3.1.1/sbin"

输入命令 source /etc/environment

配置 ~/.bashrc:

sudo vim ~/.bashrc

在最后面加上

#HADOOP VARIABLES START 
export HADOOP_INSTALL=/usr/hadoop/hadoop-3.1.1
export HADOOP_MAPRED_HOME=/usr/hadoop/hadoop-3.1.1
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_MOME=$HADOOP_INSTALL 
export YARE_HOME=$HADOOP_INSTALL 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native 
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib" 
export PATH=$PATH:$HADOOP_INSTALL/sbin
export PATH=$PATH:$HADOOP_INSTALL/bin
#HADOOP VARIABLES END

输入命令

source ~/.bashrc

刷新环境变量

输入命令hadoop version 显示出hadoop版本信息就配好了环境变量

格式化hadoop:

进入hadoop/bin目录下 输入命令:

hadoop namenode -format

接着会出现一堆信息 在靠后面有......format successful(不是在最后一行)即格式化成功。

接着可以启动 进入/hadoop/sbin/目录

输入命令 :  start-all.sh

输入命令: jps查看是否启动成功

完全启动成功应该是出现六项:

然后可以打开浏览器

进入  localhost:8088

进入  localhost:50070

网页显示没问题,hadoop基本上安装好了。

现在可以试试wordcount实例:

输入命令:

hadoop fs -ls /

查看hadoop根目录文件  第一次肯定什么也没有

创建一个文件夹

hadoop fs -mkdir /input

将hadoop/README.txt移入:

hadoop fs -put /usr/hadoop/hadoop/README.txt /input

运行wordcount实例

hadoop jar /usr/hadoop/share/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount /input /output

运行成功图:

运行成功的情况下会在hadoop目录下生成/output目录 里面有两个文件

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值