Ubuntu docker安装、容器准备、环境准备以及软件安装
docker安装
SSH安装
- 更新源
dsj@dsj:~$ sudo apt-get update
如果这一步发现更新很慢,可以这样设置
- 点击系统设置,选择软件和更新,下载自选择其他站点
- 点击选择最佳服务器
- 等待找到最佳的服务器,选择服务器
-
点击关闭,选择重新载入
-
完成后再次更新源
-
下载ssh服务
dsj@dsj:~$ sudo apt-get install -y openssh-server
- 启动ssh服务
dsj@dsj:~$ systemctl start sshd
- 查看本机的ip地址
dsj@dsj:~$ ip addr
-
可以使用MobaXterm连接
-
安装curl
dsj@dsj:~$ sudo apt install curl
- 安装docker
dsj@dsj:~$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 查看docker版本
dsj@dsj:~$ docker -v
容器准备
- 拉取镜像
dsj@dsj:~$ sudo docker pull centos:7
- 启动并创建容
dsj@dsj:~$ sudo docker run -itd --privileged --name singleNode -h singleNode \
> -p 2222:22 \
> -p 3306:3306 \
> -p 50070:50070 \
> -p 8088:8088 \
> -p 8080:8080 \
> -p 10000:10000 \
> -p 60010:60010 \
> -p 9092:9092 \
> centos:7 /usr/sbin/init
- 查看镜像
dsj@dsj:~$ sudo docker ps
- 进入容器
dsj@dsj:~$ sudo docker exec -it singleNode /bin/bash
环境准备
安装必要软件
[root@singleNode /]# yum clean all
[root@singleNode /]# yum -y install unzip bzip2-devel vim bashname
配置SSH免密登录
- 安装必要的SSH服务
[root@singleNode /]# yum install -y openssh openssh-server openssh-clients openssl openssl-devel
- 生成密钥
[root@singleNode /]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
- 配置免密
[root@singleNode /]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 启动SSH服务
[root@singleNode /]# systemctl start sshd
设置时区
[root@singleNode /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
关闭防火墙
[root@singleNode /]# systemctl stop firewalld
[root@singleNode /]# systemctl disable firewalld
安装MySQL
- 创建文件夹
[root@singleNode /]# mkdir /opt/software
[root@singleNode /]# mkdir /opt/install
- 解压安装包
[root@singleNode software]# tar xvf MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar
- 安装必要依赖包
[root@singleNode software]# yum -y install libaio perl
- 安装服务端
[root@singleNode software]# rpm -ivh MySQL-server-5.5.40-1.linux2.6.x86_64.rpm
- 安装客户端
[root@singleNode software]# rpm -ivh MySQL-client-5.5.40-1.linux2.6.x86_64.rpm
- 启动MySQL
[root@singleNode software]# systemctl start mysql
- 配置MySQL
[root@singleNode software]# /usr/bin/mysqladmin -u root password 'root'
- 进入MySQL
[root@singleNode software]# mysql -uroot -proot
- 设置远程登录
mysql> update mysql.user set host='%' where host='localhost';
mysql> delete from mysql.user where host<>'%' or user='';
- 刷新权限并退出
mysql> flush privileges;
mysql> quit
安装JDK
- 解压jdk
[root@singleNode software]# tar zxvf jdk-8u171-linux-x64.tar.gz -C /opt/install/
- 改名
[root@singleNode install]# mv jdk1.8.0_171 java8
- 配置环境变量
[root@singleNode install]# vi /etc/profile
- 输入如下内容
export JAVA_HOME=/opt/install/java8
export PATH=$JAVA_HOME/bin:$PATH
- 保存退出,使其生效
[root@singleNode install]# source /etc/profil
- 查看版本
[root@singleNode install]# java -version
Hadoop安装
- 解压hadoop
[root@singleNode install]# tar zxvf /opt/software/hadoop-2.6.0-cdh5.14.2.tar_2.gz -C /opt/install/
- 改名
[root@singleNode install]# mv hadoop-2.6.0-cdh5.14.2 hadoop
- 配置core-site.xml
[root@singleNode hadoop]# vi core-site.xml
- 输入如下信息
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://singleNode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/install/hadoop/data/tmp</value>
</property>
</configuration>
- 配置hdfs-site.xml
[root@singleNode hadoop]# vi hdfs-site.xml
- 输入如下信息
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- 改名
[root@singleNode hadoop]# mv mapred-site.xml.template mapred-site.xml
- 配置mapred-site.xml
[root@singleNode hadoop]# vi mapred-site.xml
- 输入如下信息
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>singleNode:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>singleNode:19888</value>
</property>
</configuration>
- 配置yarn-site.xml
[root@singleNode hadoop]# vi yarn-site.xml
- 输入如下信息
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>singleNode</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
- 配置hadoop-env.sh
[root@singleNode hadoop]# vi hadoop-env.sh
- 输入如下信息
export JAVA_HOME=/opt/install/java8
- 配置yarn-env.sh
[root@singleNode hadoop]# vi yarn-env.sh
- 输入如下信息
export JAVA_HOME=/opt/install/java8
- 配置slaves
[root@singleNode hadoop]# vi slaves
- 输入如下信息
singleNode
- 修改环境变量
[root@singleNode hadoop]# vi /etc/profile
- 输入如下信息
export HADOOP_HOME=/opt/install/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
- 保存退出,使其生效
[root@singleNode hadoop]# source /etc/profile
- 查看版本信息
[root@singleNode hadoop]# hadoop version
- HDFS格式化
[root@singleNode hadoop]# hdfs namenode -format
- 启动Hadoop服务
[root@singleNode hadoop]# start-all.sh
- web端查看50070端口
Hive安装
- 解压
[root@singleNode install]# tar zxvf /opt/software/hive-1.1.0-cdh5.14.2.tar.gz -C /opt/install/
- 改名
[root@singleNode install]# mv hive-1.1.0-cdh5.14.2 hive
- 修改hive-site.xml配置
[root@singleNode install]# cd hive/conf/
[root@singleNode conf]# vi hive-site.xml
- 输入如下信息
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hadoop/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://singleNode:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/home/hadoop/hive/data/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hadoop/hive/data/${user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
</configuration>
- 保存退出,修改hive-env.sh配置
[root@singleNode conf]# mv hive-env.sh.template hive-env.sh
[root@singleNode conf]# vi hive-env.sh
- 输入如下信息
HADOOP_HOME=/opt/install/hadoop
- 添加依赖包
[root@singleNode conf]# cp /opt/software/mysql-connector-java-5.1.31.jar /opt/install/hive/lib/
- 添加环境变量
[root@singleNode conf]# vi /etc/profile
- 输入如下信息
export HIVE_HOME=/opt/install/hive
export PATH=$HIVE_HOME/bin:$PATH
- 保存退出,使其生效
[root@singleNode conf]# source /etc/profile
- 启动服务
[root@singleNode conf]# start-all.sh
[root@singleNode conf]# nohup hive --service metastore &
[root@singleNode conf]# nohup hive --service hiveserver2 &
Sqoop安装
- 解压
[root@singleNode conf]# tar zxvf /opt/software/sqoop-1.4.6-cdh5.14.2.tar.gz -C /opt/install/
- 改名
[root@singleNode install]# mv sqoop-1.4.6-cdh5.14.2 sqoop
- 修改sqoop-env.sh配置
[root@singleNode install]# cd sqoop/conf/
[root@singleNode conf]# mv sqoop-env-template.sh sqoop-env.sh
[root@singleNode conf]# vi sqoop-env.sh
- 输入如下信息
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/install/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/install/hadoop
#Set the path to where bin/hive is available
export HIVE_HOME=/opt/install/hive
- 添加依赖包
[root@singleNode conf]# cp /opt/software/mysql-connector-java-5.1.31.jar /opt/install/sqoop/lib/
[root@singleNode conf]# cp /opt/software/java-json.jar /opt/install/sqoop/lib/
- 添加环境变量
[root@singleNode conf]# vi /etc/profile
- 输入如下信息
export SQOOP_HOME=/opt/install/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
- 保存退出,使其生效
[root@singleNode conf]# source /etc/profile
- 查看版本信息
[root@singleNode conf]# sqoop version
注意:如果下次再进入的时候,环境变量没有生效的话,可以把环境变量配置在.bashrc中
[root@singleNode ~]# vi .bashrc