我是靠谱客的博主 俭朴冬瓜,最近开发中收集的这篇文章主要介绍Ubuntu18.04从开机到...(后续更新)Ubuntu18.04从开机到Hadoop到MySQL到Hive…,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Ubuntu18.04从开机到Hadoop到MySQL到Hive...

  • Ubuntu18.04从开机到Hadoop到MySQL到Hive...
    • 设置sudo免密登陆
    • 设置root密码
    • VMware Tools
    • 安装net-tools
    • 解决无法获得锁
    • 删除Amazon的链接
    • 删掉基本不用的自带软件
    • 查看系统版本号
    • 查看系统内核版本号
    • 查看已安装的内核
    • 查看系统中安装的内核版本
    • 安装Vim
    • 修改目标源
    • 安装gic和vpnc
    • 安装多线程下载工具
    • 设置ssh免密登录
      • 安装openssh-server
      • 防火墙
      • IP信息包过滤系统
    • 修改hosts文件
    • 查看启动耗时
    • 查看每个服务的启动耗时
    • 跳过磁盘检查
    • 安装同步软件rsync
    • 安装unrar解压软件以便解压.rar压缩包
    • 安装Java及配置环境变量及检测
      • 安装Java
      • 配置环境变量
      • 检测
    • 安装Hadoop-3.2.1及配置环境变量及运行环境及检测
      • 安装Hadoop
      • 配置环境变量
      • 配置运行环境
      • 检测
    • 安装mysql8.0及运行环境
      • 安装mysql8.0
      • 配置运行环境
    • 安装hive3.1.2及配置环境变量及运行环境及检测
      • 安装hive
      • 配置环境变量
      • 配置运行环境
      • 检测
    • 查看已安装软件
    • 查看软件安装的路径
    • 查看软件版本
    • 常用sudo

Ubuntu18.04从开机到Hadoop到MySQL到Hive…

设置sudo免密登陆

sudo gedit /etc/sudoers //用vim会显示只读文件不能改
[用户名]    ALL=(ALL:ALL) NOPASSWD:ALL //在最后一行输入(空白处用tab键隔开)

设置root密码

sudo passwd root
sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
[greeter-show-manual-login=true //启动后以root身份自动登录
all-guest=false //禁用guest账户] //在文件最后写入
cd /etc/pam.d/
sudo gedit gdm-autologin //注释掉auth required pam_success_if.so user!=root quiet_success这一行
sudo gedit gdm-password //注释掉auth required pam_success_if.so user!=root quiet_success这一行
sudo gedit /root/.profile
tty -s && mesg n || true //最后一行改成这个
reboot //重启以生效

VMware Tools

VMware Workstation选项卡-虚拟机(M)-安装VMware Tools(T)
把VMwareTools.tar.gz的压缩包从VMware Tools复制到桌面

cd 桌面
sudo tar -xzvf VMwareTools.tar.gz //解压上述操作中的压缩包
cd vmware-tools-distrib/ //进入解压后的文件夹
sudo ./wmware-install.pl //执行安装文件
回车以及yes
reboot //重启以生效

安装net-tools

sudo apt install net-tools
ifconfig //以检验是否生效

解决无法获得锁

sudo  rm  -rf /var/lib/dpkg/lock //[/var/lib/dpkg/]这个目录根据实际情况来填写

删除Amazon的链接

sudo apt remove unity-webapps-common

删掉基本不用的自带软件

sudo apt remove thunderbird totem rhythmbox empathy brasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-orca webbrowser-app gnome-sudoku  landscape-client-ui-install
sudo apt remove onboard deja-dup

查看系统版本号

sudo lsb_release -a

查看系统内核版本号

cat /proc/version

查看已安装的内核

grep menuentry /boot/grub/grub.cfg

查看系统中安装的内核版本

sudo dpkg --get-selections | grep linux

安装Vim

sudo apt install vim

修改目标源

sudo vim /etc/apt/sources.list

安装gic和vpnc

sudo apt install vpnc git

安装多线程下载工具

sudo apt install axel

设置ssh免密登录

安装openssh-server

sudo apt install openssh-server
ssh localhost //先登录一次ssh以便后续操作
输入yes
输入密码
exit //退出ssh
cd ~/.ssh //进入.ssh目录
ssh-keygen -t rsa //回车及yes以生成公私密钥
cat ./id_rsa.pub >> ./authorized_keys //复制公钥成文件以加入授权实现免密登录

防火墙

sudo apt install ufw //如果没有安装ufw要先安装
sudo ufw status verbose //检查ufw状态
sudo ufw default <policy> <chain> //默认策略
sudo ufw app list //列出服务器上可用的所有应用程序配置文件
sudo ufw allow ssh //允许ssh通过
sudo ufw disable //关闭防火墙
sudo ufw enable //开启防火墙
sudo ufw reset //重置防火墙

IP信息包过滤系统

sudo apt-get remove iptables //卸载iptables
modprobe ip_tables //开启iptables
[iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe -r ip_tables] //均可关闭ipables

修改hosts文件

sudo gedit /etc/hosts
192.168.186.129 hadoop-virtual-machine
把127.0.0.0那行删掉,改成自己的IP地址和主机名,中间用tab键隔开;
若有集群,则把集群中所有的IP地址及其对应的主机名写上去,在其他机器中也要全写上

查看启动耗时

systemd-analyze

查看每个服务的启动耗时

systemd-analyze blame

跳过磁盘检查

sudo gedit /etc/fstab
把最后的<pass>下的1改成0
sudo mount -a //验证配置是否正确
reboot //重启以生效

安装同步软件rsync

sudo apt install rsync

安装unrar解压软件以便解压.rar压缩包

sudo apt install unrar

安装Java及配置环境变量及检测

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html //下载地址
选择linux-64的.tar.gz安装包:jdk-8u241-linux-x64.tar.gz

安装Java

cd /jdk压缩包所在目录
sudo tar -zxvf jdk.tar.gz -C /usr/lib/jvm/ //[/usr/lib/jvm/]可以改成其他目录

配置环境变量

sudo vim ~/.bashrc
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
source ~/.bashrc //重启以生效
sudo update-alternatives --install /usr/bin/java  java  /usr/lib/jvm/jdk1.8.0_241/bin/java 300 //配置软连接
sudo update-alternatives --install /usr/bin/javac  javac  /usr/lib/jvm/jdk1.8.0_241/bin/javac 300

检测

java
javac
java -version
$JAVA_HOME/bin/java -version 
echo $JAVA_HOME

安装Hadoop-3.2.1及配置环境变量及运行环境及检测

安装Hadoop

cd /hadoop压缩包所在目录
sudo tar -zxvf hadoop.tar.gz -C /opt/ //[/opt/]可以改称其他目录

配置环境变量

sudo vim /etc/profile
or
sudo vim ~/.bashrc
#HADOOP_HOME
HADOOP_HOME=/opt/hadoop-3.2.1 //自己的路径和版本号
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile //重启以生效
or
source ~/.bashrc

配置运行环境

cd /opt/hadoop-3.2.1/etc/hadoop
sudo vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
export HADOOP_HOME=/opt/hadoop-3.2.1
export HADOOP_PID_DIR=/opt/hadoop-3.2.1/tmp/pids
sudo gedit core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-virtual-machine:9000</value> //以下hadoop-virtual-machine均为主机名
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-3.2.1/tmp</value>
    </property>
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value> //hadoop为我自己的用户名,如果权限在root,则设为root,此步骤为解决8088上的用户名为dr.who的权限问题,修改后登录者就变成有权限的用户名了,方便管理及其操作
    </property>
</configuration>
sudo gedit hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value> //hdfs存储数据的副本数量(避免一台宕机),可以不设置,默认值是3
    </property>
</configuration>
sudo gedit mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
	    <name>mapreduce.jobhistory.address</name>
        <value>hadoop-virtual-machine:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop-virtual-machine:19888</value>
    </property>
[   <property>
        <name>mapreduce.application.classpath</name>
        <value>
        /opt/hadoop-3.2.1/etc/hadoop,
        /opt/hadoop-3.2.1/share/hadoop/common/*,
        /opt/hadoop-3.2.1/share/hadoop/common/lib/*,
        /opt/hadoop-3.2.1/share/hadoop/hdfs/*,
        /opt/hadoop-3.2.1/share/hadoop/hdfs/lib/*,
        /opt/hadoop-3.2.1/share/hadoop/mapreduce/*,
        /opt/hadoop-3.2.1/share/hadoop/mapreduce/lib/*,
        /opt/hadoop-3.2.1/share/hadoop/yarn/*,
        /opt/hadoop-3.2.1/share/hadoop/yarn/lib/*
        </value>
     </property>] //可以不加,目前来看没有影响
</configuration>
sudo gedit yarn-site.xml
<configuration>
     <property>
	    <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-virtual-machine</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>hadoop-virtual-machine:8088</value>
    </property>
</configuration>
cd /opt/hadoop-3.2.1/sbin
sudo vim start-dfs.sh
HDFS_DATANODE_USER=hadoop //以下hadoop均为我自己的用户名,如果权限在root,则设为root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=hadoop
HDFS_SECONDARYNAMENODE_USER=hadoop
sudo vim stop-dfs.sh
HDFS_DATANODE_USER=hadoop
HDFS_DATANODE_SECURE_USER=hdfs 
HDFS_NAMENODE_USER=hadoop
HDFS_SECONDARYNAMENODE_USER=hadoop
sudo vim start-yarn.sh
YARN_RESOURCEMANAGER_USER=hadoop
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hadoop
sudo vim stop-yarn.sh
YARN_RESOURCEMANAGER_USER=hadoop
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hadoop
cd /opt/hadoop-3.2.1/bin
sudo hdfs namenode -format //格式化hdfs

检测

cd /opt/hadoop-3.2.1/sbin
sudo ./start-dfs.sh //开启dfs服务,包括NameNode、DataNode、SecondaryNameNode
sudo ./start-yarn.sh //开启yarn服务,包括resourcemanager、nodemanagers
jps //查看所开启服务
sudo ./stop-dfs.sh //关闭dfs服务
sudo ./stop-yarn.sh //关闭yarn服务
or
sudo ./start-all.sh //开启所有服务
jps //查看所开启服务
sudo ./stop-all.sh //关闭所有服务

安装mysql8.0及运行环境

安装mysql8.0

https://dev.mysql.com/downloads/ //下载地址
Ubuntu选择MySQL APT Repository

cd 桌面/ //进入mysql安装包所在目录
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb //使用dpkg工具运行mysql-config的程序
按上下键可以选择版本及其组件,按Enter键确定,两部分都确定好后选择OK完成配置,按照默认选的版本就行
sudo apt update //更新资源
sudo apt install mysql-server //这时下载的版本就是8.0了

进入mysql安装界面
输入密码为mysql的root用户设置密码
密码加密方式选择5.x

配置运行环境

systemctl status mysql.service //查看mysql运行状态,Ubuntu的mysql自动启动,并设置为开机自启
sudo service mysql stop //关闭mysql
sudo service mysql start //开启mysql
mysql -u root -p //进入mysql
use mysql; //使用mysql数据库
select host, user, authentication_string, plugin from user; //查看用户
show variables like '%char%'; //查看mysql字符集,mysql8字符集默认为utf-8。
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; //设置新建数据库默认编码为utf8
show databases; //查看数据库
flush privileges; //刷新保存操作
exit //退出mysql
sudo mysql_secure_installation //配置mysql
Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: N //不进行密码的强校验
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N //不更改root密码
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N //不删除匿名用户
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N //允许root远程连接
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N //不删除test数据库
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y //修改权限立即生效

出现All done!即为设置成功

安装hive3.1.2及配置环境变量及运行环境及检测

安装hive

http://hive.apache.org/downloads.html //查看hadoop版本对应的hive版本
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/ //下载地址

cd 桌面/ //进入hive安装包所在目录
sudo tar -xzvf apache-hive-3.1.2-bin.tar.gz -C /opt //解压hive[/opt可以改成别的目录]

配置环境变量

sudo vim /etc/profile
or
sudo ~/.bashrc
#hive
export HIVE_HOME=/opt/apache-hive-3.1.2-bin //自己的路径和版本号
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

source /etc/profile //重启以生效
or
source ~/.bashrc

配置运行环境

cd /opt/apahe-hive-3.1.2-bin/conf
sudo mv hive-default.xml.template hive-site.xml
sudo mv hive-env.sh.template hive-env.sh
sudo gedit hive-site.xml

141-145行

  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/opt/apache-hive-3.1.2-bin/tmp/</value>
    <description>Local scratch space for Hive jobs</description>
  </property>

146-150行

  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/opt/apache-hive-3.1.2-bin/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>

567-571行

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>xxxxx</value> //[xxxxx]为mysql的密码
    <description>password to use against metastore database</description>
  </property>

582-590行

  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>

796-806行

  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value> //取消认证,减少操作
    <description>
      Enforce metastore schema version consistency.
      True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automatic
            schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
            proper metastore schema migration. (Default)
      False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
  </property>

1100-1104行

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value> //jdbc8.0及以上的写法[8.0以下的没有cj]
    <description>Driver class name for a JDBC metastore</description>
  </property>

1125-1129行

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value> //登录mysql的用户
    <description>Username to use against metastore database</description>
  </property>

1844-1848行

  <property>
    <name>hive.querylog.location</name>
    <value>/opt/apache-hive-3.1.2-bin/${system:user.name}</value>
    <description>Location of Hive run time structured log file</description>
  </property>

3215

删除&#8非法字符或删除整行

4402-4406行

  <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/opt/apache-hive-3.1.2-bin/tmp/hadoop/operation_logs</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  </property>
cd /opt/apache-hive-3.1.2-bin/conf
sudo vim hive-env.sh
HADOOP_HOME=/opt/hadoop-3.2.1 //自己的版本号和路径
export HIVE_CONF_DIR=/opt/apache-hive-3.1.2-bin/conf //自己的版本号和路径
export HIVE_AUX_JARS_PATH=/opt/apache-hive-3.1.2-bin/lib //自己的版本号和路径
cd /opt/apache-hive-3.1.2-bin/bin
sudo gedit hive-config.sh
export JAVA_HOME=export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241 //自己的版本号和路径
export HADOOP_HOME=/opt/hadoop-3.2.1 //自己的版本号和路径
export HIVE_HOME=/opt/apache-hive-3.1.2-bin //自己的版本号和路径
export HIVE_CONF_DIR=/opt/apache-hive-3.1.2-bin/conf //自己的版本号和路径
export HIVE_AUX_JARS_PATH=/opt/apache-hive-3.1.2-bin/lib //自己的版本号和路径
cd /opt/apache-hive-3.1.2-bin
sudo mkdir -p tmp //创建tmp目录
sudo chmod -R 777 tmp //为tmp目录设置权限

https://repo1.maven.org/maven2/mysql/mysql-connector-java/ //jdbc下载链接

sudo cp -r mysql-connector-java-8.0.20.jar /opt/apache-hive-3.1.2-bin/lib/ //把jdbc的包放进hive的lib目录下
sudo cp -r /opt/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar /opt/apache-hive-3.1.2-bin/lib/ //hadoop的guava与hive的版本不同,故舍小用大
sudo rm -rf /opt/apache-hive-3.1.2-bin/lib/guava-19.0.jar //删除hive低版本的guava
sudo rm /opt/apache-hive-3.1.2-bin/lib/log4j-slf4j-impl-2.10.0.jar //版本冲突,删掉这个不会报错,删掉hadoop下面的会产生告警

检测

cd /opt/hadoop-3.2.1/sbin
sudo ./start-all.sh //开启hadoop
cd /opt/apache-hive-3.1.2-bin/bin
schematool -dbType mysql -initSchema //格式化元数据库,出现schematool completed说明格式化成功
hive //进入hive[hive开启前必须开启hadoop]
quit; //退出hive
or
exit; //退出hive
or
新建个终端
ps -ef|grep hive //查看hive进程ID
kill -9 ID号 //退出hive
mysql -u root -p //进入mysql
show databases; //查看数据库,多了一个hive数据库说明执行成功

查看已安装软件

dpkg -l | grep [软件名]

查看软件安装的路径

whereis [软件名]

查看软件版本

aptitude show [软件名]

常用sudo

代码解释
sudo apt autoclean删除已删除安装包的.deb安装文件
sudo apt claen删除包缓存中的所有包
sudo apt autoremove删除之前因依赖安装的现在不需要的软件包
sudo apt remove删除已安装的软件包但保留配置文件
sudo apt install -f修复依赖关系并安装所需软件包
sudo apt install [包名]安装软件
sudo apt update更新源
sudo apt upgrade更新软件
sudo apt purge移除软件包及配置文件
sudo apt full-upgrade在升级软件包时自动处理依赖关系
sudo apt search搜索应用程序
sudo apt show显示安装细节
sudo apt list列出包含条件的包(已安装,可升级等)
sudo apt edit-sources编辑源列表
代码解释
sudo apt-get autoclean删除已删除安装包的.deb安装文件
sudo apt-get claen删除包缓存中的所有包
sudo apt-get autoremove删除之前因依赖安装的现在不需要的软件包
sudo apt-get remove删除已安装的软件包但保留配置文件
sudo apt-get install -f修复依赖关系并安装所需软件包
sudo apt-get install [包名]安装软件
sudo apt-get update更新源
sudo apt-get upgrade更新软件
sudo apt-get purge移除软件包及配置文件
sudo apt-get dist-upgrade在升级软件包时自动处理依赖关系
sudo apt-cache search搜索应用程序
sudo apt-cache show显示安装细节
代码解释
sudo add-apt-repository ppa:webupd8team/[软件名]更新依赖库
sudo add-apt-repository --remove ppa:webupd8team/[软件名]卸载依赖库

最后

以上就是俭朴冬瓜为你收集整理的Ubuntu18.04从开机到...(后续更新)Ubuntu18.04从开机到Hadoop到MySQL到Hive…的全部内容,希望文章能够帮你解决Ubuntu18.04从开机到...(后续更新)Ubuntu18.04从开机到Hadoop到MySQL到Hive…所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部