hadoop 搭建

服务器搭建 | 2022-08-14 18:10:16 | 阅读 180 次 | 评论(0)

1、安装jdk

1.1 tar -zxvf server-jre-8u333-linux-x64.tar.gz

1.2 修改/etc/profile

export JAVA_HOME=/home/server/jdk1.8.0_333

2、安装hadoop

tar -zxvf hadoop-3.2.3.tar.gz

2.1、修改/home/server/hadoop/hadoop-3.2.3/etc/hadoop/hadoop-env.sh 配置文件中JAVA_HOME参数

export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/home/server/jdk1.8.0_333 hdfs dfs -ls

2.2、执行vim core-site.xml

<configuration>

<!-- 指定HDFS老大(namenode)的通信地址 -->

            <property>

                    <name>fs.defaultFS</name>

                    <value>hdfs://127.0.0.1:9000</value>

            </property>

            <!-- 指定hadoop运行时产生文件的存储路径 -->

            <property>

                    <name>hadoop.tmp.dir</name>

                    <value>/home/server/hadoop/hadoop-3.2.3/tmp</value>

            </property>

<property>

       <!--  hadoop.proxyuser.xxx.hosts xxx为用户名或是主机名    -->

    <name>hadoop.proxyuser.root.hosts</name>

    <value>*</value>

</property>

<property>

    <name>hadoop.proxyuser.root.groups</name>

    <value>*</value>

</property>

注意:可以参考WARN jdbc.HiveConnection: Failed to connect to localhost:10000 Error: Could not open client trans... - 简书 (jianshu.com)

2.3vim hdfs-site.xml

<configuration>

 <!-- 设置hdfs副本数量 -->

            <property>

                    <name>dfs.replication</name>

                    <value>1</value>

            </property>

</configuration>

2.4vim mapred-site.xml

注意:查看文件是否mapred-site.xml 是否存在,如果名称是mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml

<configuration>

<!-- 通知框架MR使用YARN -->

            <property>

                    <name>mapreduce.framework.name</name>

                    <value>yarn</value>

            </property>

</configuration>

2.5vim yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- reducer取数据的方式是mapreduce_shuffle -->

            <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

            </property>

</configuration>

2.6 配置hadoop环境变量

export HADOOP_HOME=/home/server/hadoop/hadoop-3.2.3

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

2.7 刷新环境变量

source /etc/profile

2.8 格式化HDFS(namenode)第一次使用时要格式化
        hadoop namenode -format


2.9 启动hadoop

 先启动HDFS
 ./start-dfs.sh
 再启动YARN
 ./start-yarn.sh


解决方案:vim /etc/profile

把下面变量添加进去

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

添加完再重新刷新下source /etc/profile

2.10 使用jps验证是否启动成功

注意:jps查询命令如果显示的进程不全,可以

a、  namenode的端口可能被占用了;

b、 namenode的在core-site.xml配置的hadoop.tmp.dir文件位置不对

c、  没有设置ssh秘钥

ssh-keygen -t rsa 下面可以一直回车

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

chmod 0600 ~/.ssh/authorized_keys

2.11 在浏览器访问HDFS管理页面

http://192.168.192.128:9870

2.12 在浏览器访问MR管理界面

http://192.168.192.128:8088

无法访问

在防火墙添加开放端口

3. 验证hadoop搭建完成,

3.1 通过shell命令在hadoop上创建文件夹,并上传文件

3.2 通过java

3.2.1 导入maven依赖

<dependency>

        <groupId>org.apache.hadoop</groupId>

        <artifactId>hadoop-client</artifactId>

        <version>3.1.4</version>

    </dependency>

package com.runoob;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
public class Application {
    public static void main(String[] args) {
        try {
            // 配置连接地址
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://192.168.192.128:9000");
            FileSystem fs = FileSystem.get(conf);
            // 打开文件并读取输出
            Path hello = new Path("/hello/hello.txt");
            FSDataInputStream ins = fs.open(hello);
            int ch = ins.read();
            while (ch != -1) {
                System.out.print((char)ch);
                ch = ins.read();
            }
            System.out.println();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

文章评论,共0条
游客请输入验证码
最新评论