文章目录
🌸提示🌸
- 如果是在
Linux服务器
上安装JDK、Hadoop、Hbase,请按照文章顺序阅读; - 如果是在
本机的Linux虚拟机
中安装,请跳过文章1、2、6这几个部分。
0. 准备工作
首先,需要准备下列东西(VNC Viewer特别适合像我这样看不到GUI就心慌的小菜鸟🦜):
-
系统:Ubuntu18.04
-
文件传输工具
-
命令行终端连接工具
-
可视化终端连接工具:VNC Viewer(Mac/Win)
在选择JDK、Hadoop、HBase版本时需注意各版本的兼容情况
官方文档 (搜索文档中的内容:Ctrl + F
)
1. 【服务器】获取阿里云ECS
系统:Ubuntu 18.04
疫情防控期间😷,学生可获取一台6个月免费使用的阿里云ECS服务器
获取条件:
- 账号通过实名认证 & 学生认证
- 完成一次10道选择题的测试(答对6道以上)
2. 【服务器】了解快照 ✨
2.1 快照简介
快照可在某一时间点上、对某一特定磁盘的数据进行留存,起到数据备份🗄的作用。
快照的优势:
-
创建快照可有效规避大量的风险,例如操作失误删除了系统文件、安全漏洞造成了病毒感染…
-
创建快照亦可极大地提升效率,例如通过快照创建的镜像可以快速部署多个服务器
2.2 创建一个快照
- 从阿里云的
实例列表
,进入到服务器的管理界面
- 进入
本示例快照
,点击创建快照
- 填写快照信息
-
创建成功!
创建过程需要几分钟,请耐心等待~⌛️
创建成功后,本实例可以通过
回滚磁盘
来规避风险;其它实例可以通过创建自定义镜像
来快速部署。
2.3 回滚磁盘 💿
- 首先,回到
实例详情
页面,停止✋🏻服务器的运行
- 再次进入
本实例快照
页面,选择快照,点击回滚磁盘
- 在弹出页面点击
确定
✅
- 利用快照回滚完成,请耐心等待服务器的自动部署(大约需要2~5分钟)
3. 创建Hadoop用户🧑🏻💻
# 创建hadoop用户,并使用/bin/bash作为shell
sudo useradd -m hadoop -s /bin/bash
# 为hadoop用户设置密码,密码输入两次
sudo passwd hadoop
# 为hadoop用户增加管理员权限,方便部署
sudo adduser hadoop sudo
# 将当前用户切换到hadoop用户
su - hadoop
# 更新hadoop用户的apt,方便后续软件安装
sudo apt-get update
4. 配置SSH无密码登陆
# 1. 服务端安装
sudo apt-get install openssh-server
# 客户端安装
# Ubuntu默认安装了SSH client
# sudo apt-get install openssh-client
------------------------
# 2. 进入到宿主目录下,生成本机秘钥同时设置免密登录
# >>> 注意,这里不能使用 root 用户生成秘钥,而是要使用你想要设置的用户 <<<
cd /home/hadoop/
ssh-keygen -t rsa -P ""
# 2.1 将公钥追加到 authorized_keys 文件中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
# 2.2 赋予 authorized_keys 文件权限
chmod 600 .ssh/authorized_keys
------------------------
# 3. 验证是否成功
ssh localhost
5. 安装JDK
5.1 方法一:👋手动安装 (推荐 🙆🏻♂️)
5.1.1 流程
- 电脑端下载Linux_JDK8
- 使用WinSCP将压缩包上传至服务器
- 解压并安装JDK8
5.1.2 电脑端下载Linux JDK8
获取Linux_JDK8(下载需登录Oracle账号)
5.1.3 使用WinSCP将压缩包上传至服务器
- 填入服务器信息
- 连接服务器
- 上传压缩包
5.1.4 解压并安装JDK8
# 1. 创建目录
sudo mkdir /usr/lib/jvm
------------------------
# 2. 将JDK解压缩到该目录
# >>> 注意下列命令的文件名是否与自己的JDK压缩包名一致 <<<
sudo tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/lib/jvm
------------------------
# 3. 修改环境变量
# 3.1 编辑.bashrc
# 相关操作: 'i': 进入编辑模式, 'esc': 退出编辑模式, ':wq': 保存并退出
sudo vi ~/.bashrc
# 3.2 在文件末尾添加如下内容
# >>> 注意目录与JDK与自己创建的一致 <<<
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 3.3 使环境变量马上生效
source ~/.bashrc
------------------------
# 4. 系统注册此JDK
# >>> 注意JDK与自己创建的一致 <<<
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_241/bin/java 300
------------------------
# 5. 查看是否安装成功
java -version
5.2 方法二:命令行安装 (不推荐!🙅🏻♂️)
看到很多JDK命令行安装教程都是这样写的,可是我用这种方法直到最后也没装上JDK… 😭😤
# 1. 安装依赖
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
# 2. 安装jdk1.8
sudo apt-get install oracle-java8-installer
5.2.1 安装过程中遇到的一些问题🧐
-
E: Package ‘python-software-properties’ has no installation candidate
# >>> 解决方法 <<< # 系统 >= Ubuntu 12.10 使用'software-properties-common'代替'python-software-properties' sudo apt-get install software-properties-common
-
add-apt-repository command not found
# >>> 解决方法 <<< # 安装software-properties-common apt-get install software-properties-common
-
E: Package ‘oracle-java8-installer’ has no installation candidate
# >>> 尝试以下几种均无效... <<< # 1. 添加各种依赖 # 2. 更新apt-get # 3. 用aptitude替代apt-get # 4. sudo update-alternatives --config java # 该方法用于多版本jdk间的切换 # >>> 解决方法 <<< # 1. 手动安装 # (详见“方法二:手动安装”) # 2. 用OpenJDK替代 # 2.1 更新软件包列表 sudo apt-get update # 2.2 安装openjdk sudo apt-get install openjdk-8-jdk # 2.3 查看是否安装成功 java -version
6. 【服务器】图形化界面
6.1 流程
- 服务器开启VNC使用的端口
- 服务器安装Ubuntu桌面与VNC Server
- 客户端安装VNC Viewer
- 连接
6.2 服务器开启VNC使用的端口
- 进入安全组
- 添加安全组规则
⚠️ 注意:若端口未开启,用VNC Viewer连接时会出现如下提示:
6.3 服务器安装Ubuntu桌面与VNC Server
# 1. 更新apt
sudo apt-get update && sudo apt-get upgrade -y
------------------------
# 2. 安装桌面
# 安装过程中,若出现是否将系统文件改为新版本的提示,请输入'y'并回车
# 安装过程大概持续10min
sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
------------------------
# 3. 安装VNC Server
sudo apt-get install vnc4server
------------------------
# 4. 启动VNC Server并创建一个会话
# >>> 注意'vncserver'与':'间有一个空格 <<<
# 接下来需设置密码
vncserver :1
------------------------
# 5. 关闭会话
vncserver -kill :1
------------------------
# 6. 编辑~/.vnc/xstartup
# 该文件只有在第一次启动VNC Sever后才会创建
nano ~/.vnc/xstartup
# >>> nano部分操作:'ctrl + o' 保存, 'Enter' 确认,'ctrl + x' 退出 <<<
# 7. 将文件改为:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
# 8. 再次打开VNC Server
vncserver :1
6.4 客户端安装VNC Viewer(略)
6.5 连接🔗
- 输入
服务器IP
+:1
,回车
- 输入密码(命令行第一次输入
vncserver :1
后设置的密码),点击OK
- √ 大功告成!😆
7. 安装Hadoop 🐘
7.1 流程
- 电脑端下载Hadoop 2.7.1(略)
- 将Hadoop压缩包用WinSCP上传至Linux服务器(同5.1.3,略)
- 解压并安装Hadoop 2.7.1
7.2 解压并安装Hadoop 2.7.1
# 1. 解压
# 1.1 解压到/usr/local目录下
sudo tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local
# 1.2 进入到/usr/local目录
cd /usr/local
# 1.3 重命名为hadoop
sudo mv hadoop-2.7.1 hadoop
# 1.4 修改文件权限
sudo chown -R hadoop ./hadoop
------------------------
# 2. 配置环境变量
# 2.1 编辑.bashrc
vim ~/.bashrc
# 2.2 添加如下内容
# Hadoop Environment
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 2.3 使环境变量马上生效
source ~/.bashrc
# 2.4 查看是否安装成功
hadoop version
# 3. 在hadoop-env.sh中添加jdk路径
# 3.1 进入到/usr/local/hadoop/etc/hadoop目录
cd /usr/local/hadoop/etc/hadoop
# 3.2 编辑hadoop-env.sh
vim hadoop-env.sh
# 3.3 修改JAVA_HOME值
# 修改前:export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
# 4. 依旧是在/usr/local/hadoop/etc/hadoop目录下,修改两个配置文件
# 4.1 修改core-site.xml文件
# 4.1.1 编辑core-site.xml
vim core-site.xml
# 4.1.2 添加如下配置内容
<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>
----------------
# 4.2 修改hdfs-site.xml文件
# 4.2.1 编辑core-site.xml
vim hdfs-site.xml
# 4.2.2 添加如下配置内容
<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>
------------------------
# 5. 启动hadoop
# 5.1 进入/usr/local/hadoop
cd /usr/local/hadoop
# 5.2 执行NameNode格式化
./bin/hdfs namenode –format
# 5.3 启动Namenode和Datanode进程
./sbin/start-dfs.sh
# 5.4 查看启动结果
jps
7.3 jps下无NameNode进程的一种解决方法🕺🏻
# 1. 关闭dfs
stop-dfs.sh
# 2. 格式化namenode
hadoop namenode -format
# 3. 重启服务
start-all.sh
8. 安装HBase
8.1 流程
- 电脑端下载HBase 1.6.0(略)
- 将HBase压缩包用WinSCP上传至Linux服务器(同5.1.3,略)
- 解压并安装HBase 1.6.0
8.2 解压并安装HBase 1.6.0
# 1. 解压
# 1.1 解压到/usr/local目录下
sudo tar -zxf hbase-1.6.0-bin.tar.gz -C/usr/local
# 1.2 进入/usr/local目录
cd /usr/local
# 1.3 重命名
mv ./hbase-1.6.0 ./hbase
# 1.4 修改权限
sudo chown -R hadoop:hadoop ./hbase
------------------------
# 2. 配置命令行环境变量
# 2.1 编辑/etc/profile
vim /etc/profile
# 2.2 添加环境变量
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
# 3. 修改hbase的配置文件/conf/hbase-env.sh
# 3.1 编辑hbase-env.sh
vim /usr/local/hbase/conf/hbase-env.sh
# 3.2 添加如下内容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
export HBASE_MANAGES_ZK=true
# 4. 编辑.xml配置文件 conf/hbase-site.xml
# 4.1 编辑hbase-site.xml
vim /usr/local/hbase/conf/hbase-site.xml
# 4.2 添加如下内容
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
<description>数据存放的位置。</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>指定副本个数为1,因为伪分布式。</description>
</property>
</configuration>
# 5. 启动HBase
# >>> 启动HBase之前,确保Hadoop是运行正常的 <<<
# >>> 命令行输入jps,显示有4个Java进程 <<<
# >>> 分别是:jps、NameNode、DataNode、SecondaryNameNode <<<
start-hbase.sh
# 启动HBase后,再次执行jps会新增3个Java进程
# 分别是:HMaster、HRegionServer、HQuorumPeer
浏览器访问localhost:16010
,会进入到Web管理页面
⚠️ 注意:HBASE1.0之前的版本端口为60010
至此,Ubuntu Linux服务器上的HBase数据库就安装完成啦!🎉🥳🎉
不如听首我写的歌放松一下叭~