linux部署hadoop2.10.0和hive1.2.2

Scroll Down

hadoop

官网文档:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation

下载

官网:https://hadoop.apache.org/

hadoop2.10.0下载地址
国内(清华):https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
国外(官网):https://downloads.apache.org/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

可以使用wget下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

解压

tar -xvf hadoop-2.10.0.tar.gz

检查是否可用

执行bin下的脚本,出现以下信息表示可用。

[root@VM-0-6-centos bin]# ./hadoop version
Hadoop 2.10.0
Subversion ssh://git.corp.linkedin.com:29418/hadoop/hadoop.git -r e2f1f118e465e787d8567dfa6e2f3b72a0eb9194
Compiled by jhung on 2019-10-22T19:10Z
Compiled with protoc 2.5.0
From source with checksum 7b2d8877c5ce8c9a2cca5c7e81aa4026
This command was run using /opt/hadoop/hadoop-2.10.0/share/hadoop/common/hadoop-common-2.10.0.jar

修改配置文件

hadoop根目录/etc/hadoop下。

hadoop-env.sh文件

export JAVA_HOME=${JAVA_HOME}

替换为jdk根目录具体路径

export JAVA_HOME=/opt/jdk/jdk1.8.0_141

core-site.xml文件

<configuration>
        <!-- 指定HDFS的nameservice -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
        </property>
        <!-- 缓冲区大小 -->
        <property>
                <name>io.file.buffer.size</name>
                <value>4096</value>
        </property>
        <!-- 指定临时文件目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop/tmp</value>
        </property>
</configuration>
<configuration>
        <!-- configuration for NameNode:-->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/opt/hadoop/name</value>
        </property>
        <!-- 文件块大小 128M,也可以直接写128m、1g -->
        <property>
                <name>dfs.blocksize</name>
                <value>134217728</value>
        </property>
        <property>
                <name>dfs.namenode.handler.count</name>
                <value>100</value>
        </property>
        <!-- configuration for DateNode:-->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/opt/hadoop/data</value>
        </property>
        <!-- 指定HDFS副本的数量 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

初始化节点

进入bin目录,执行脚本,格式化文件系统

./hdfs namenode -format

出现以下信息代表初始化成功
image.png

启动hadoop

检查ssh连接localhost能否免密登录

ssh localhost

出现如下信息,则不可免密登录
image.png

配置免密登录

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

image.png

进入sbin目录,执行启动脚本

./start-dfs.sh

image.png

image.png

添加环境变量

在/etc/profile中加入

export HADOOP_HOME=/opt/hadoop/hadoop-2.10.0
export PATH=.:$HADOOP_HOME/bin:$PATH

使变量生效

source /etc/profile

web界面访问地址

http://服务器IP:50070/

hive

下载

官网:http://hive.apache.org/

hive1.2.2下载地址
国内(清华):https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
国外(官网):
https://downloads.apache.org/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz

可以使用wget下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz

解压

tar -xvf apache-hive-1.2.2-bin.tar.gz

设置环境变量

方法一:临时生效,重启后需要重新设置。

export HIVE_HOME=/opt/hive/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH

方法二:修改/etc/profile文件,添加系统环境变量。

vim /etc/profile

文件中加入

#hive
export HIVE_HOME=/opt/hive/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH

使配置生效

source /etc/profile

创建hdfs文件夹

使用hadoop命令创建文件夹并授权

hadoop fs -mkdir       /tmp
hadoop fs -mkdir -p    /user/hive/warehouse
hadoop fs -chmod g+w   /tmp
hadoop fs -chmod g+w   /user/hive/warehouse

进入客户端

方式一:hive客户端(已过时,但方便好用)

hive

方式二:HiveServer2和Beeline
初始化

/bin/schematool -dbType derby -initSchema

dbType有derby、local、remote三种。

  • derby为hive默认方式,使用内嵌derby数据库,不需要使用外部数据库,缺点是同时只能有一个连接,可以在hive-site.xml中修改连接信息。
  • local为使用本地数据库,如mysql,需要把驱动包拷到lib文件夹下,在hive-site.xml中配置数据源相关信息。
  • remote为使用远程数据库,如mysql,需要分别配置服务端和客户端配置文件,待后续研究。

启动HiveServer2

./bin/hiveserver2

新打开一个ssh会话,启动beeline

./bin/beeline -u jdbc:hive2://IP:端口