阿里云上安装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
- sudo apt update 更新资源
- sudo apt install default-jdk 安装默认JDK
- 查看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 /apache
https://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
