之前尝试过手动安装Hadoop环境特别麻烦,hadoop安装包还要编译,最近接触到Cloudera Manager 安装感觉特别方便;

 

硬件要求 16G内存,512固态,虚拟机安装三台镜像,一主两从

0:关闭防火墙

查看防火墙状态

systemctl status firewalld
  • 1

我这里显示防火墙没有关闭

这里写图片描述

关闭防火墙

systemctl stop firewalld
  • 1

禁止防火墙

systemctl disable firewalld

 

 1:安装JDK

 

第一步:下载安装包

下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件;

由于我的Linux是64位的,因此我下载jdk-8u131-linux-x64.tar.gz

如下图所示:

如果Linux本身连接到互联网,我们可以直接通过wget命令直接把JDK安装包下载下来,如图所示:

要是没有外网的环境,还是安装上面的方法下载安装包,然后上传到服务器当中

第二步、解压安装包

将我们下载好的JDK安装包上传到服务器,进行解压

解压命令进行解压

1 $ cd  /home/cmfchina
2 $ tar  -zxvf  jdk-8u131-linux-x64.tar.gz

解压完成之后,可以在当前目录下看到一个名字为【jdk1.8.0_131】的目录,里面存放的是相关文件

我们要将解压后的【jdk1.8.0_131】里面的所有数据移动到我们需要安装的文件夹当中,我们打算将jdk安装在usr/java当中,我们在usr目录下新建一个java文件夹

mkdir /usr/java

将【jdk1.8.0_131】里的数据拷贝至java目录下

mv /home/cmfchina/jdk1.8.0_131 /usr/java

第三步、修改环境变量

至此,我们最后需要修改环境变量,通过命令

vi /etc/profile

用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

如图所示:

然后,保存并退出(按:wq!)

保存完之后,我们还需要让这个环境变量配置信息里面生效,要不然只能重启电脑生效了。

通过命令source /etc/profile 让profile文件立即生效,如图所示

第四步、测试是否安装成功

①、使用javac命令,不会出现command not found错误

②、使用java -version,出现版本为java version "1.8.0_131"

③、echo $PATH,看看自己刚刚设置的的环境变量配置是否都正确

如图所示:

至此,安装结束

 

 2:安装SSh 免密登入

分别在每一台机器上执行

ssh-keygen 
  • 1

一路回车,然后到cd ~/.ssh/文件夹下

在Master上将id_rsa.pub重定向到authorized_keys

cat id_rsa.pub > authorized_keys
  • 1

在主节点上将Slaver1/Slaver2的id_rsa.pub的内容追加到都放到Master的authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqdXGSgzLjUcS+aB3Qb0xz3xhLHinaHUjQTxs/AOp61L1yuNAD0w/B1sv2jJ5QYriYyNXpX+N1m3gtfTZnsAWakPLxu4YxZ+NNiuAlf3zyGvMZCbJM5A/GwG5Ig50x4TrM+6H4j5tEMNM5PXWMjvGlI8dqxSKYKB5OFTRkBcxrgBdxYVGIGtDNVysl6ZDU0eIfR1/Mq51HAq834w9pJXk6KUeeopxbuH/NaVw43aTlg/X3JrlxwwZBE/5LmmkJ7YdpTL9olaGTz8rpLmUw3L7VOaRDcGZ1ncAsoi4eP6WLeSWVK7xuuSM4kTDif5VKZ+FTsnKhqUgdS+jljm97/2Yv root@m
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuCjl5vr4wZz3DVzrL9oTlXZwV2XR8G1k+L7fhnUmMV9RATj2rvczU5jb+82ur3g64WjL86DYDPsUTURAwQngEfq1N34HrCfIlmH+MV8e/4NXRkga3x9S9ta3vZDSE2waObn+jOjecWmQxP7wL1vXDLuJtEXiTseKuFuAXaLL6WH/5cEq7ScYM2TB7jg5j1NDggNF3631d1PJCX0LRpJI8Pqd2GYifNFOPtfB3szFGWZhBRt2t0m4hgyrWjKWNmJ4I1Hhm3w7YjdpEsSTfX2Ezisf9GKVSrfaWHJcv/rH7ufCClXmKS3xW5ySkXHmGpwqk8f341BrmGvaFRG8fBg07 root@s1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEbo1xH/+cPoPQyU268Ho0RAxWmquOfypPxi16mn6LNnCxZy+x2H9btvFG0ddFq5hes1Fgll2olXBGW7ZJElwRpctnp5QSs6OvVgRXsBSrJrHzuliipFKxzt4N9qFaF7w72DmuLcHfKnSNl0QL608WBfVq+sNXHrAaooKbxG8rRiiclzqvTSzR1vzOpc5vsILbxy6aMcweKkCqkZIB1hFbsCvLUNe3KEGvbBmAj7mCfYT9454HeegpXf8FgFRK8R0r3eWiFDMP++tgL7XgHFEj5xOtly53zYsQ4PnitsfJLqV/xt7hnU6oGHiZ9GAKDzRaKg4d46VKlB+ZVDy2IFl9 root@s2
  •  

在主节点上执行 将authorized_keys分发到Slaver1、Slaver2的 ~/.ssh/

 

可以看到现在Master上登录在Slaver1、Slaver2并不需要手动输入密码了

如果不能直接ssh slavername,需要先手动配置一下master 上的/etc/hosts文件
然后再通过scp命令分发到每台从节点的对应位置 保存退出后重启(三台机子都配置)

  • hostname配置

  •  

/etc/hostname文件如下:

 vi /etc/hostname

 

3:安装NTP时间同步

1 准备工作

两个节点都需要执行

首先安装ntp

#yum install ntp

安装完毕之后,启动服务

#systemctl start ntpd.service

设置开机自启动

#systemctl enable ntpd.service

 

2 准备2台服务器

2台服务器:【192.168.0.104】,【192.168.0.107】

 

3 ntp服务端设置

第一台服务器192.168.0.104,作为ntpserver,将他设置为同步外网时间(ntpd服务开启默认就同步了)。

但是得设置允许内网网段可以连接它,将它作为内网的时间同步服务器,所以需要一个简单配置。

修改/etc/ntp.conf文件,添加如下信息,表示允许210网段来同步此服务器

# vi /etc/ntp.conf

restrict 192.168.0.0 mask 255.255.255.0   #添加此行

截图如下:

设置后,重启ntpd服务,用ntpstat来检查效果【大概几秒钟就可以看到效果】

#systemctl restart ntpd

#ntpstat    

 

4 ntp客户端设置

192.168.0.107 作为ntpclient,将他设置为同步上面的ntpserver,同样需要一个简单配置,分别在两个节点上做如下配置!

修改/etc/ntp.conf文件,注释掉外网时间服务器,添加本地服务器即可

#vi /etc/ntp.conf

server 192.168.0.104     #添加此行

# server 0.centos.pool.ntp.org iburst           #以下四行注释掉

# server 1.centos.pool.ntp.org iburst

# server 2.centos.pool.ntp.org iburst

# server 3.centos.pool.ntp.org iburst

截图如下:

设置后,重启ntpd服务,用ntpstat来检查效果【大概需要等十五分钟,看到效果】

#systemctl restart ntpd

#ntpstat    

4:执行如下脚本关闭selinux

 setenforce 0 # 立刻关闭,本次启动有效

为了下次启动有效,需要修改/etc/selinux/config文件,设置 SELINUX=disabled。

5:安装MYSQL 数据库(只在主的机子上安装)

开始在linux下下载repo源

?

1

2

3

4

5

6

7

8

//下载mysql rpm包

# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

 

//安装mysql rpm包

# rpm -ivh mysql57-community-release-el7-11.noarch.rpm

 

//安装mysql

# yum install mysql-community-server

安装成功后需要重启mysql服务。

?

1

# service mysqld restart

刚开始安装的Mysql5.7是会随机生成一个root密码的,我们要先找到这个随机密码,然后改新密码。我们可以通过grep命令查找随机root密码。

?

1

2

[root@local bin]# grep "password" /var/log/mysqld.log

2017-09-24T08:03:30.664086Z 1 [Note] A temporary password is generated for root@localhost: 8A3xwbk8_P1A

使用随机密码登录mysq

?

使用默认的密码登陆

mysql -uroot -p

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:


mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

如果密码设置太简单出现以下的提示

如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 这里直接提供解决方案文末有详细的说明

必须修改两个全局参数:
首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0; 

再修改密码的长度

set global validate_password_length=1;

再次执行修改密码就可以了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

8、授权其他机器登陆

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges; 

 

5:下载cloudera manager 放在linux任意一目录下执行

 

 http://archive.cloudera.com/cm5/installer/  

在此网站上下载对应的

 cloudera-manager-installer.bin 是然后赋予可执行权限 chmod  +x *****

 

执行./cloudera-manager-installer.bin  然后就是next yes 下面部分截图

 

7:切换数据库(只在Master上运行)

过程中需要安装数据库驱动

  https://dev.mysql.com/downloads/connector/j/

下载好放到任意目录下解压并且将里面的.bin.jar文件夹放在/usr/share/java 目录下并改名为mysql-connector-java.jar

在安装完毕时先不要启动要切换数据库用mysql的 先在mysql数据库中建立一个数据库cloudera然后执行命令

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cloudera root root

然后重启服务器


 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐