【Hadoop】伪分布式安装

创建hadoop用户

创建用户命令:

sudo useradd -m hadoop -s /bin/bash

创建好后需要更改hadoop用户的密码,命令如下:

sudo passwd hadoop

然后给予hadoop用户sudo权限,方便配置部署。
这里使用编辑/etc/sudoers文件的方式,来赋权。在文件中添加一行hadoop ALL=(ALL) ALL,保存后完成赋值。

Java安装

安装Java的命令如下:

sudo yum install -y java-1.8.0-openjdk-devel

测试Java是否安装成功的命令:

java -version

结果如图所示:

Java安装结果

此方法的JAVA_HOME环境变量为:

export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0

SSH登入权限设置

首先需要安装SSH server,命令如下:

sudo yum install -y openssh-server

测试安装成功的命令:

ssh localhost

此时是需要密码登入的。

免密SSH登入

hadoop用户下,输入如下命令:

ssh-keygen -t rsa                      # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

再次ssh local则不需要密码了。

Hadoop伪分布式安装

下载并解压

下载Hadoop,这里下载的版本是2.7.1。

hadoop-2.7.1.tar.gz解压到/usr/local目录下。并修改文件名,修改文件权限。

tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop
sudo chown -R hadoop ./hadoop

检查Hadoop是否可用,在hadoop目录下输入下面命令:

./bin/hadoop version

结果如下:

Haddop版本

伪分布式配置

Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中,切换到此目录下,修改两个配置文件core-site.xmlhdfs-site.xml

core-size.xml文件的配置
修改为如下

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

hdfs-site.xml文件的配置
修改为如下:

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

名称节点格式化

配置完成后执行NameNode的格式化

cd /usr/local/hadoop
./bin/hdfs namenode -format

结果如下:

namenode format

启动Hadoop

./sbin/start-all.sh 

使用jps指令来检查是否启动成功
jps显示结果

Word Count

在hdfs中创建/user/hadoop/input目录,命令如下:

./bin/hdfs dfs -mkdir -p /user/hadoop/input

文本file.txt(在/usr/local/hadoop/input目录下):

Hello world! Hello Java! Hello Hadoop! Hello BigData!

将被计数的文本拷贝到hdfs的刚创建目录下,命令为:

./bin/hdfs dfs -put ./input/file.txt /user/hadoop/input

启动wordcount实例进行计数:

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output

查看结果

./bin/hdfs dfs -cat output/part-r-00000

计数结果

参考

[1]Linux安装hadoop-2.7.1

posted @ 2020-10-06 11:22  宇NotNull  阅读(107)  评论(0编辑  收藏  举报