Advertisement

阿里云上安装Hadoop+Hive

阅读量:

为了方便随时学习和不愿意在自己电脑上安装各种虚拟机,于是购买了一个低配的阿里云linux服务器,配置1cpu+2G内存,ubuntu系统。

安装步骤:

1.安装hadoop

1.1 申请阿里云ecs服务器,默认已经申请

1.2 通过终端工具远程连接阿里云Ubuntu服务器,经比较ZOC这个工具不仅小巧,并且功能丰富,可以建立站点等,大家下载免费版的就行,如下是地址

Telnet client for Windows and macOS - Download our Telnet Client ZOC and Other Software

配置Host,和Login两个信息即可。

连接选项:

1.3安装JDK

  1. sudo apt update 更新资源
  2. sudo apt install default-jdk 安装默认JDK
  3. 查看Java 路径 readlink -f /usr/bin/java | sed "s:bin/java::" 供后续添加JAVA_HOME

1.4 下载Hadoop ,注意一定要使用国内的源,否则会很慢,建议用清华的镜像

get https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz --no-check-certificate
如果不是这个版本,可以直接去这个链接自行查找

Index of /apacheicon-default.png?t=M5H6https://mirrors.tuna.tsinghua.edu.cn/apache/ 1.5 新增用户
adduser hadoop
passwd hadoop
groupadd hadoop
usermod -g hadoop hadoop
id hadoop

1.6创建hadoop的节点目录
mkdir -p /home/hadoop/tmp
mkdir -p /home/hadoop/hdfs/name
mkdir -p /home/hadoop/hdfs/data
mkdir -p /home/hadoop/log
sudo chown -R hadoop /home/hadoop

1.7设置无密码ssh登录模式,hadoop和root用户都需要设置

复制代码

1.8 启动hadoop,用start-all命令

1.9 输入jps命令,如果显示如下,则说明成功

~# jps
2400 SecondaryNameNode
2689 ResourceManager
2835 NodeManager
3894 RunJar
2186 DataNode
4715 Jps
2044 NameNode

2.安装Hive

2.1安装mysql,默认是

sudo apt-get install mysql-server 直接安装,设置密码

2.2下载mysql jar,这个也可以从清华镜像上获取

复制代码
    [nullIndex of /mysql/downloads/Connector-J/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/Connector-J/](https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/Connector-J/ "MySQL Connector 地址")

拷贝mysql驱动文件mysql-connector-java-5.1.29-bin.jar目录下的mysql-connector-java-5.1.29-bin.jar到/opt/module/hive/lib/

2.3修改hadoop配置

hadoop的配置文件都在 etc/hadoop 目录下,配置文件有很多,最基本要修改3个文件:hadoop-env.sh ,core-site.xml,hdfs-site.xml。

2.3.1 hadoop-env.sh

复制代码
    export JAVA_HOME=/opt/java/jdk1.8.0_151 # 修改JAVA_HOME环境变量为JDK的安装路径。

2.3.2 core-site.xml:

设置hdfs的监听端口(一般配置为9000)。

复制代码
 <configuration>

    
     <property>
    
     <name>fs.defaultFS</name>
    
     <value>hdfs://localhost:9000</value>
    
     <description>hdfs内部通讯访问地址</description>
    
     </property>
    
     <property>
    
     <name>hadoop.tmp.dir</name>
    
     <value>file:/home/hadoop/tmp</value>
    
     <description>hadoop数据存放</description>
    
     </property>
    
 </configuration>

2.3.3 hdfs-site.xml:

复制代码
 <configuration>

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

此处参考链接:https://www.jianshu.com/p/78f9cc79a766

2.4 hive初始化,这一步一定要做,否则会出现metastore的报错

进入指定的目录 cd $HIVE_HOME/bin # 初始化,

./schematool -initSchema -dbType mysql

2.5 如果执行hive语句报java.lang.outofmemoryerror: java heap space

请适当在/hive/conf/hive-env.sh 中添加如下语句

export HADOOP_HEAPSIZE=1024

全部评论 (0)

还没有任何评论哟~