Ubuntu16.04安装vmwaretool、更换软件源、ssh、ftp、mysql、hadoop、eclipse

还有一个月这个学期的大数据课程就结束了,到现在居然还在装软件- -

关键我还没装好- -

花了一个周末的时间来配环境,中间重装了两次虚拟机,因为没有拍摄最初系统的快照,每次重装系统都要花费一小时左右

所以建议大家空间够的话,可以多拍几张快照 做一个步骤拍一个快照,这个教程基本没什么问题了,毕竟也是我花了两天的时间写出来的

衷心希望能帮到各位,别像我一样浪费两天只是在配环境

基本操作就不讲了,连怎么编辑保存linux文件都不会的,先去学学linux基本操作吧,像:wq vim cd 这些指令都是最基本的

Ubuntu16.04(阿里云镜像)

ubuntu 16.04:
http://mirrors.aliyun.com/ubuntu-releases/16.04/

所有的压缩包云盘自取
提取码:socf

切换到root用户

不管哪个系统都直接切换到root用户 权限更高就不用每次都打sudo

sudo su #回车后自己输入密码

在这里插入图片描述

装两台虚拟机一台主机一台子机

server端装好进入桌面后首先开ssh权限

vim /etc/ssh/sshd_config

PermitRootLogin 改成yes 允许root用户远程登录
在这里插入图片描述
然后重启ssh

systemctl restart sshd

然后修改root账户密码

passwd root

在这里插入图片描述
在其他机器上操作流程也一样
到这里就可以用Xshell连接虚拟机root账户了
在这里插入图片描述

安装VMtool

找个地方新建vmtools文件夹,我在home文件夹下建的
红框框起来的是重点语句 其他不要看,学会善用ls
在这里插入图片描述

更换软件源

//阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

Ubuntu 的源存放在在 /etc/apt/ 目录下的 sources.list 文件中,修改前我们先备份,在终端中执行以下命令:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bcakup

然后执行下面的命令打开 sources.list 文件,清空里面的内容,把上面阿里云源复制进去,保存后退出。

vi命令下清空所有行

  1. 用vi打开文件后 直接输入gg进到第一行
  2. 按下d,然后输入G(切成大写)回车,此时内容被全部清楚
  3. 现在可以按i进入编辑模式了
sudo gedit /etc/apt/sources.list

接着在终端上执行以下命令更新软件列表,检测出可以更新的软件:

sudo apt-get update

最后在终端上执行以下命令进行软件更新:

sudo apt-get upgrade

桌面端安装SSH

首先通过apt安装ssh

apt-get install openssh-server

在这里插入图片描述
装完ssh记得启动

注:重启命令与关闭命令如下:

/etc/init.d/ssh restart   #重启SSH服务
/etc/init.d/ssh stop      #关闭SSH服务

安装vsftpd

apt-get install vsftpd
apt-get install ftp

设置参数

vim /etc/vsftpd.conf

添加参数如下

anonymous_enable=NO #这里记得删掉原来的anonymous_enable
anon_root=/opt/ftp
no_anon_password=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
write_enable=YES

在这里插入图片描述
做个记录

我填的时候一个变量填错了

查了半天

最后用vsftpd /etc/vsftpd.conf &找到问题
在这里插入图片描述

FTP

apt-get install vsftpd
apt-get install ftp

添加允许的账户

vim /etc/vsftpd.user_list

在这里插入图片描述
开机启动vsftpd

systemctl enable vsftpd.service

重启vsftpd

systemctl restart vsftpd.service

在这里插入图片描述

FTP测试

1.创建目录和设置目录权限

mkdir /opt/ftp
echo "test" > /opt/ftp/test
chmod 755 -R /opt/ftp

2.查看ftp基本命令
在这里插入图片描述
登录vsftpd,我直接用第一个jin登录

测试成功
在这里插入图片描述

安装Mysql

1.安装Mysql-Client

apt-get install mysql-client

2.安装Mysql-Server

apt-get install mysql-server

3.修改Mysql-server参数

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在这里插入图片描述
添加如下参数

default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

如图
在这里插入图片描述
4.设置开机启动服务

systemctl enable mysql.service

5.启动Mysql服务

systemctl start mysql.service

6.初始化Mysql

mysql_secure_installation

密码我设成root
在这里插入图片描述
给Mysql的root用户授权,允许访问所有数据库和远程访问

grant all on *.* to root@'%' identified by 'root' with grant option;

在这里插入图片描述

grant all on *.* to root@'%' identified by 'root' with grant option;

这样就能用Navicat远程连接了
在这里插入图片描述

Hadoop集群部署

修改主机名字和ip映射

  • 修改主机名字 主机改成master 其他改成slave1、slave2以此类推
vim /etc/hostname
  • 修改ip映射
vim /etc/hosts

不管多少台 每台都要这样写

这里的ip是每个人都不一样的,一定要注意ip和主机名对应,不知道的用ifconfig命令查询主机ip
在这里插入图片描述
然后重启一下才能在终端看到机器名的变化

reboot

测试能否互相ping通 能看到消息就直接Ctrl+C结束
在这里插入图片描述
注意master和slave都要创建hadoop!

1.各集群节点创建用户hadoop

groupadd -g 730 hadoop
useradd -u 730 -g 730 -m -s /bin/bash hadoop

2.添加用户hadoop到用户组sudo

gpasswd -a hadoop sudo

3.设置用户hadoop的密码

passwd hadoop

在这里插入图片描述

4.证书操作

SSH无密码登陆节点

这个操作是要让master节点可以无密码 SSH 登陆到各个slave节点上。

1、首先生成master节点的公匙,在master节点的终端中执行(因为改过主机名,所以还需要删掉原有的再重新生成一次):

执行ssh localhost

ssh localhost
cd ~/.ssh             
rm ./id_rsa*            # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa       # 一直按回车就可以

在这里插入图片描述

2、让master节点需能无密码 SSH 本机,在master节点上执行

cat ./id_rsa.pub >> ./authorized_keys

测试是否成功

ssh master

在这里插入图片描述
生成公钥后:此时登陆本机不需要输入密码
3、接着在 master节点将上公匙传输到 slave1和slave2节点(在传输前如果不存在目录,先创建)

scp ~/.ssh/id_rsa.pub root@slave1:/home/hadoop/

scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。执行 scp 时会要求输入 datanode 上 root 用户的密码(root),输入完成后会提示传输完毕,如下所示:
在这里插入图片描述
4、接着在 slave1节点上,将 ssh 公匙加入授权:
切换到/home/hadoop目录

cd /home/hadoop/
mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在则忽略
cat id_rsa.pub >> ~/.ssh/authorized_keys
rm id_rsa.pub    # 用完就可以删掉了

在这里插入图片描述

如果有其他 slave节点,也要执行将 master公匙传输到 slave节点、在 slave节点上加入授权这两步。这样,在 master节点上就可以无密码 SSH 到各个 slave节点了,可在 master节点上执行如下命令进行检验,如下所示:
输入exit即可退出
在这里插入图片描述
有问题看这个

安装Hadoop

用Xftp传到opt目录下
在这里插入图片描述
切换到hadoop用户下

su hadoop

在这里插入图片描述
解压文件
同理把jdk和eclipse一起解压出来
在这里插入图片描述
把圈起来的三个包删掉
在这里插入图片描述
修改文件属性

sudo chown -R hadoop:hadoop jdk1.8.0_241 hadoop-2.7.3

进入hadoop配置文件文件夹里

cd /opt/hadoop-2.7.3/etc/hadoop

然后修改hadoop-env.sh文件

vim hadoop-env.sh

export JAVA_HOME=${JAVA_HOME}

改成

export JAVA_HOME=/opt/jdk1.8.0_241

在这里插入图片描述

修改Hadoop配置文件

修改core-site.xml文件

因为vim格式不太方便所以这里用gedit

下面几个文件都是修改<configuration></configuration>中的东西
在这里插入图片描述

sudo gedit core-site.xml
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop-2.7.3/tmp</value>
	</property>
</configuration>

修改hdfs-site.xml

<configuration>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>master:50090</value>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/opt/hadoop-2.7.3/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/opt/hadoop-2.7.3/dfs/data</value>
	</property>
	<property>
		<name>fs.checkpoint.dir</name>
		<value>/opt/hadoop-2.7.3/dfs/namesecondary</value>
	</property>
	<property>
		<name>dfs.block.size</name>
		<value>134217728</value>
	</property>
	<property>
		<name>dfs.namenode.handler.count</name>
		<value>20</value>
	</property>
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
</configuration>

新建mapred-site.xml

Ubuntu16.04是没有这个文件的,需要改名操作,这里我们直接新建

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
  </property>
</configuration>

修改yarn-site.xml

<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

修改slaves文件

vim slaves

如果你只配了两台那就像我这样设 如果说你有一台主机两台子机那就设成slave1、slave2
在这里插入图片描述

slave节点安装软件

以用户hadoop登录slave1节点

su hadoop
sudo scp -r hadoop@master:/opt/* /opt

在这里插入图片描述
然后会让你输入主机和子机的密码 接下来就开始传输了

传完后ls

把eclipse文件夹删掉

sudo rm -rf eclipse

然后给文件夹提权

sudo chown -R hadoop:hadoop /opt/*

在这里插入图片描述
各集群节点设置环境变量

vim /home/hadoop/.profile

添加以下内容

export JAVA_HOME=/opt/jdk1.8.0_241
export HADOOP_HOME=/opt/hadoop-2.7.3
export HBASE_HOME=/opt/hbase-1.2.4
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.9
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

在这里插入图片描述
执行以下命令更新配置文件

source /home/hadoop/.profile

Master节点启动Hadoop服务

Namenode格式化

hdfs namenode -format

在这里插入图片描述
到关键的一步了

直接一键启动全部

start-all.sh

启动HistoryServer

mr-jobhistory-daemon.sh start historyserver

输入jps查看
在这里插入图片描述
在这里插入图片描述
算上jps的话master上一共5个进程,slave1上3个进程

hdfs dfsadmin -report查看Live DataNode数量

如过存活数量为0那就是有问题

我百度了半天发现slave1的/etc/hosts下的ip映射没设置搞了半天
在这里插入图片描述

还等什么赶紧拍个快照啊tm的太难了

访问一下几个网址看看 我就不访问了

master:50070
master:50090
master:8088
master:19888

安装eclipse

之前已经在opt解压过了所以现在直接用

第一步先把hadoop-eclipse-plugin-2.6.0.jar传到eclipse下plugins目录下

提权

chown -R hadoop:hadoop /opt/eclipse /opt/hadoop* /opt/jdk*

切换到hadoop用户运行eclipse

出了点问题- -
在这里插入图片描述
这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户(不是hadoop用户,是root用户)执行如下命令。

解决方法
在这里插入图片描述

在这里插入图片描述

HBase、Zookeeper部署

Master节点安装软件

将Hbase和Zookeeper软件包直接传到opt下,怎么传不细讲了

切换到hadoop用户下进入opt目录
在这里插入图片描述

sudo tar -zxf hbase-1.2.4-bin.tar.gz
sudo tar -zxf zookeeper-3.4.9.tar.gz

解压完后删掉软件包
在这里插入图片描述
提权

sudo chown -R hadoop:hadoop hbase-1.2.4 zookeeper-3.4.9

Master节点设置HBase参数

(1)修改hbase-env.sh文件

cd /opt/hbase-1.2.4/conf
vim hbase-env.sh

把如下内容:

export JAVA_HOME=/usr/java/jdk1.6.0/
export HBASE_MANAGES_ZK=true

改为:

export JAVA_HOME=/opt/jdk1.8.0_241/
export HBASE_MANAGES_ZK=false

在这里插入图片描述

(2)修改hbase-site.xml文件

vim hbase-site.xml

在 之间添加内容如下:

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.datadir</name>
    <value>/opt/zookeeper-3.4.9/data/</value>
  </property>
  <property>
    <name>hbase.regionserver.handler.count</name>
    <value>20</value>
  </property>
  <property>
    <name>hbase.regionserver.maxlogs</name>
    <value>64</value>
  </property>
  <property>
    <name>hbase.hregion.max.filesize</name>
    <value>10485760</value>
  </property>

(3)修改regionservers

vim regionservers

改成这样
在这里插入图片描述

Master节点设置Zookeeper参数

本来自带的文件名是叫zoo_sample.cfg 首先把名字改过来先改成zoo.cfg

这一步务必注意!必须改名,别新建文件

mv zoo_sample.cfg zoo.cfg

然后再ls一下

在这里插入图片描述
编辑zoo.cfg

vim zoo.cfg

改成如下这样

在这里插入图片描述
在dataDir指定的目录下创建myid文件,添加相应内容

如果提示权限不够就先切换到root去

mkdir /opt/zookeeper-3.4.9/data
echo 0 > /opt/zookeeper-3.4.9/data/myid

用cat看看是否写入成功

cat /opt/zookeeper-3.4.9/data/myid

在这里插入图片描述
拷贝zookeeper的配置文件zoo.cfg到HBase

cp /opt/zookeeper-3.4.9/conf/zoo.cfg /opt/hbase-1.2.4/conf/

Slave节点安装软件

首先切换到hadoop用户下

 sudo scp -r hadoop@master:/opt/hbase-1.2.4 /opt
 sudo scp -r hadoop@master:/opt/zookeeper-3.4.9 /opt

然后提权

 sudo chown -R hadoop:hadoop /opt/hbase-1.2.4 /opt/zookeeper-3.4.9

写入信息

echo 1 > /opt/zookeeper-3.4.9/data/myid

同样cat看一下
在这里插入图片描述

Zookeeper服务

zkServer.sh start

在这里插入图片描述
slave1也这样做
在这里插入图片描述

验证Zookeeper服务

zkServer.sh status

在这里插入图片描述
slave1也去验证
在这里插入图片描述

验证HBase服务

Master节点启动HBase

start-hbase.sh

少一个都算错 多启动几次试试
在这里插入图片描述
在这里插入图片描述
火狐访问http://master:16010,查看HBase Master状态
在这里插入图片描述
进入http://master:16030,查看RegionServer状态
在这里插入图片描述

HBase Shell

表的管理

hbase shell

在这里插入图片描述

create 'score','name','class','course'
list
describe 'score'

在这里插入图片描述

数据操作

添加记录

put 'score','610213','name:','Tom'
put 'score','610213','class:class','163Cloud'
put 'score','610213','course:python','79'
put 'score','610215','name','John'
put 'score','610215','class:class','173BigData'
put 'score','610215','course:java','70'
put 'score','610215','course:java','80'
put 'score','610215','course:python','86'

在这里插入图片描述

读表记录

get 'score','610215'

在这里插入图片描述

get 'score','610215','course'

在这里插入图片描述

get 'score','610215','course:java'

在这里插入图片描述

扫描记录

scan 'score'

在这里插入图片描述

scan 'score',{COLUMNS=>'course'}

在这里插入图片描述

scan 'score',{COLUMN=>'course:java'}

在这里插入图片描述

FILTER过滤扫描记录

扫描值是John的记录

scan 'score',FILTER=>"ValueFilter(=,'binary:John')"

在这里插入图片描述
扫描值包含To的记录

scan 'score',FILTER=>"ValueFilter(=,'substring:To')"

在这里插入图片描述
扫描值包含Clou的记录

scan 'score',FILTER=>"ColumnPrefixFilter('class') AND ValueFilter(=,'substring:Cloud')"

在这里插入图片描述
扫描Rowkey为610开头的记录

scan 'score',FILTER=>"PrefixFilter('610')"

在这里插入图片描述
扫描Rowkey为610开头的记录

scan 'score',FILTER=>"PrefixFilter('610')"

在这里插入图片描述
只拿出key中的第一个column的第一个version并且只要key的记录

scan 'score',FILTER=>"FirstKeyOnlyFilter() AND KeyOnlyFilter()"

在这里插入图片描述
扫描从610213开始到610215结束的记录

scan 'score',{STARTROW=>'610213',STOPROW=>'610215'}

在这里插入图片描述
扫描列族name中含有To的记录

scan 'score',{COLUMNS=>['name'],FILTER=>"(ValueFilter(=,'substring:To'))"}

在这里插入图片描述
扫描列族course中成绩大等于85的记录

scan 'score',{COLUMNS=>['course'],FILTER=>"(ValueFilter(>=,'binary:85'))"}

在这里插入图片描述

删除记录

delete 'score','610213','course:python'
get 'score','610213'

在这里插入图片描述

delete 'score','610215','class:class',1486456047670
get 'score','610215'

在这里插入图片描述

表的删除与修改

增加列族

alter 'score',NAME=>'address'

删除列族

alter 'score',NAME=>'address',METHOD=>'delete'

删除表

disable 'score'
drop 'score'

在这里插入图片描述

HBase编程

关于重启后需要source重置环境变量的问题

附一篇环境变量教程
是关于重启后找不到java、jps等指令的问题解决方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值