基于UBuntu18.04搭建CDH6.3.2集群

基于UBuntu18.04搭建CDH6.3.2集群

1、前期问题处理步骤

  • 问题说明1
    Ubuntu不能直接通过root超用户连接,会出现拒绝登录,或者连接超时
    ubuntu一开始并没有给root分配密码,所以切换到root超级用户,输入任何密码都会认证失败。
    先登录默认用户,执行:su root
    如果出现,在输入root超用户的密码后出现认证失败的字样,按照如下步骤执行
  1. 报错信息图片如下:
  2. 只要在命令行中输入sudo passwd root,输入新的密码就ok了
  3. 之后就可以su root 切换到超用户里面
  4. 修改配置文件
vim /etc/ssh/sshd_config

修改
PermitRootLogin yes

5. 重启SSH服务

sudo systemctl restart ssh

之后就可以实现直接连接root超用户了

  • 问题说明2
    查看ifconfig出现以下报错

    原因:缺少依赖包,执行以下命令
apt install net-tools

如果下载出现以下错误

说明系统缺少依赖包,需要更新,执行以下命令

sudo apt-get update

会下载一堆东西

之后在执行 apt install net-tools 就可以正常下载

再次执行 ifconfig 可以正常查看

  • 问题说明3
    使用yum install命令报错,显示:
    没有已启用的仓库。
    执行 “yum repolist all” 查看您拥有的仓库。
    您可以用 yum-config-manager --enable <仓库名> 来启用仓库

    原因:ubuntu默认软件包管理器不是yum,安装软件时需用apt-get
    所以:将上面代码改为:
sudo apt-get install -y unzip
或者
apt install -y unzip 

  • 问题说明4
    下载CDH所需依赖 此处几个包可能会出现类似下图的错误:

    这样就需要把所需下载的依赖包进行拆分下载
  1. apt install perl openssl-devel
apt install openssl
apt install libssl-dev


2. apt install MySQL-python

apt-get install python-dev
apt-get install libmysqlclient-dev
  1. 此处的几个依赖可以直接下载
apt install psmisc
apt install fuse portmap 
apt install python-psycopg2

2、关闭防火墙

sudo systemctl stop ufw
sudo systemctl disable ufw
sudo systemctl status ufw

3、安装JDK

  1. 上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm到服务器中
  2. rpm安装
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
  1. 配置profile文件
    末尾添加如下:
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin


4. 刷新配置文件
source /etc/profile
5. 验证是否安装成功

java -version


6. 上传连接Mysql依赖Jar包
服务器创建目录 /opt/mysql-connector/
将mysql-connector-java-5.1.47.jar上传到此目录下

mkdir -p /usr/share/java/
cd /opt/mysql-connector/
cp ./mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar

4、修改内核参数(所有节点)

cat /proc/sys/vm/swappiness


配置

echo 0 > /proc/sys/vm/swappiness

永久生效

echo "vm.swappiness = 0" >> /etc/sysctl.con

再次查看

cat /proc/sys/vm/swappiness

5、关闭大页面压缩

CDH推荐关闭大页面压缩,防止出现后续页面安装时的警告。
查看THG

cat /sys/kernel/mm/transparent_hugepage/defrag


关闭THG

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

再次查看

cat /sys/kernel/mm/transparent_hugepage/defrag

6、httpd安装(parcel网络源部署)

安装

sudo apt-get install apache2

启动

sudo systemctl start apache2

开启自启

sudo systemctl enable apache2

7、SSH配置免密

生成密钥(三次回车)

ssh-keygen -t rsa


将公钥添加到认证文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置authorized_keys的访问权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

复制密钥,并输入yes和密码
此处为hostname,也可以改为IP

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3
ssh-copy-id slave4

测试是否成功

ssh slave1

使用SSH进行切换时出现报错

去对应的节点上查看

cat /var/lib/ubuntu-release-upgrader/release-upgrade-available


删除此文件

rm /var/lib/ubuntu-release-upgrader/release-upgrade-available

执行此命令

/usr/lib/ubuntu-release-upgrader/release-upgrade-motd

再次查看

cat /var/lib/ubuntu-release-upgrader/release-upgrade-availabl


再次切换,没有上述报错

8、直接安装Mysql

直接安装即可

sudo apt install mysql-server

sudo systemctl start mysql
sudo systemctl status mysql

sudo apt-get install mysql-client


直接使用 mysql -u root -p123456即可登录

使用Navicat无法连接

编辑 mysqld.cnf 文件

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


注释掉或改成0.0.0.0就可以解决
判断方法

netstat -tl | grep mysql


3306前不能是127.0.0.1或者localhost
此处我们修改 bind-address为 0.0.0.0

重启Mysql服务

sudo systemctl restart mysql

验证是否更新配置文件成功

netstat -tl | grep mysql


再次使用navicate连接

9、安装部署NTP时间同步

cloudera manager需要ntp服务。需要安装。使用ntp做时钟同步的操作在这里不做描述,可以自行查找资料。
另外,Ubuntu内置支持了timedatectl,默认开启了时钟同步。可用来调整服务器时间。

尽管时间同步对于大多数目的来说都很好,但是对于即使是最轻微的时间扰动非常敏感的一些应用程序也可以通过ntpd更好地服务,因为它使用更复杂的技术来不断地逐步保持系统时间的正常运行,故而此处还是使用NTP来进行时间同步
在安装ntpd之前,我们应该关闭timesyncd:

timedatectl set-ntp no

验证timesyncd是否已关闭

timedatectl


在输出中查找 systemd-timesyncd.service active: no。这意味着timesyncd已经停止。我们现在可以用apt安装ntp包

sudo apt update
sudo apt install ntp


ntpd将在安装后自动启动。您可以在ntpd中查询状态信息,以验证一切正常

ntpq -p


ntpq是ntpd的查询工具。该
-p标志要求提供关于所述NTP服务器(或信息p EERS)NTPD已连接到。您的输出会略有不同,但应列出默认的Ubuntu池服务器以及其他一些服务器。请记住,ntpd建立连接可能需要几分钟时间。
主节点配置如下:

vim /etc/ntp.conf

在文件末尾加入(主节点)

restrict 服务器IP mask 255.255.255.0 nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 10

此处 服务器IP 编写成了hostname

参数解析
ignore关闭所有的 NTP 联机服务
nomodify客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
nopeer用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod访问违规时发送 KoD 包。

配置文件的第二行和第三行是为了让本机的硬件时间和本机的ntp服务进行时间同步。
配置完成后保存,执行

service ntp restart
ntpq -p


从节点安装NTP服务器

vim /etc/ntp.conf

在最后一行添加

server master prefer

之后下载依赖以及重启任务

apt install ntpdate
apt install ntpsec-ntpdate
service ntp restart
ntpdate -u master
ntpq -p

重启后通过如下命令观察NTP的运行状态:

watch ntpq -p


监控已切换到master 节点同步时间

参数解析
remote它指的就是本地机器所连接的远程NTP服务器;
refid它指的是给远程服务器提供时间同步的服务器;
st远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端。所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的;
when几秒钟前曾经做过时间同步化更新的动作;
poll本地机和远程服务器多少时间进行一次同步(单位为秒).在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小;
reach已经向上层 NTP 服务器要求更新的次数;
delay网络传输过程当中延迟的时间,单位为 10^(-6) 秒;
offset时间补偿的结果,单位与 10^(-3) 秒;
jitterLinux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒。简单地说这个数值的绝对值越小我们和服务器的时间就越精确;
*它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供;
+它将作为辅助的NTP Server和带有号的服务器一起为我们提供同步服务. 当号服务器不可用时它就可以接管;
-远程服务器被clustering algorithm认为是不合格的NTP Server;
x远程服务器不可用;

10、搭建本地仓库(全部节点都需要部署)

CDH安装包下载 CDH官方的网站已经无法直接下载安装包了(需要账号密码),需要Ubuntu版本的CDH软件包以及Ubuntu18.04安装包的可以联系我
1730873674@qq.com 邮箱地址

创建 Ubuntu 的 repository(所有节点)

sudo apt-get install dpkg-dev
sudo apt-get install apache2
service apache2 start
sudo  systemctl enable apache2
cd /var/www/html/
sudo chmod -R 777 html/
sudo mkdir -p /var/www/html/cloudera-repos/cm6

解压cm6.3.1-ubuntu1804.tar.gz到cm6目录

sudo tar xvfz ./cm6.3.1-ubuntu1804.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1

strip-components=1的意思代表,不额外创建目录

移动
allkeys.asc、manifest.json
到/var/www/html/cloudera-repos/cm6目录下

sudo cp allkeys.asc /var/www/html/cloudera-repos/cm6/cd
sudo cp manifest.json /var/www/html/cloudera-repos/cm6/


去/var/www/html目录下,将index.html删除或者改名,这样就不会出现默认界面,而是会变成下面的文件服务器

mv  index.html bak_index.html


WEB访问搭建好的仓库

http://本机IP地址/cloudera-repos/cm6/


新建CDH6目录以及上传parcel包

sudo mkdir -p /var/www/html/cloudera-repos/cdh6
sudo cp ./allkeys.asc /var/www/html/cloudera-repos/cdh6/
sudo cp ./CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel /var/www/html/cloudera-repos/cdh6/
sudo cp ./CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1 /var/www/html/cloudera-repos/cdh6/
sudo cp ./CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha256 /var/www/html/cloudera-repos/cdh6/
sudo cp ./manifest.json /var/www/html/cloudera-repos/cdh6/
cd /var/www/html/cloudera-repos/cdh6

mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha


配置安装路径

sudo vi /etc/apt/sources.list.d/cloudera-repo.list

cloudera-repo.list 如果没有自行创建格式一致即可
加入之前配置的源
#Cloudera Manager 6.3.1
deb [arch=amd64] http://本机IP/cloudera-repos/cm6/ bionic-cm6.3.1 contrib
导入仓库签名GPG KEY,archive.key在上面本地源的cloudera-repos/cm6目录下:

sudo apt-key add archive.key

sudo apt-get update

11、安装CM

apt-get install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server


Mysql创建所需库

create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database manager DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
GRANT ALL ON monitor.* TO 'monitor'@'%' IDENTIFIED BY '123456';
GRANT ALL ON manager.* TO 'manager'@'%' IDENTIFIED BY '123456';
flush privileges;


初始化SCM库
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm -hmaster -uroot -p123456

scm库在初始化时会自动创建
创建本地Parcel仓库

cp /var/www/html/cloudera-repos/cdh6/* /opt/cloudera/parcel-repo/

chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*


从节点安装

apt-get install cloudera-manager-daemons cloudera-manager-agent


所有需要安装agent节点都需要执行

sed -i "s/server_host=localhost/server_host=master/g" /etc/cloudera-scm-agent/config.ini


启动server

systemctl start cloudera-scm-server
systemctl status cloudera-scm-server
systemctl enable cloudera-scm-server

启动agent

systemctl start cloudera-scm-agent
systemctl status cloudera-scm-agent
systemctl enable cloudera-scm-agent

查看日志

sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log


标识启动成功
服务器访问CDH

curl http//Server节点IP:7180


缺少依赖

apt  install curl


再次访问

curl http//Server节点IP:7180


访问CDH WEB页面

本机IP:7180


默认用户、密码:admin admin










注意: zookeeper选择3倍数的节点




HDFS检查集群状态,有如下警告:
存在隐患 : 9 DataNodes are required for the erasure coding policies: RS-6-3-1024k. The number of DataNodes is only 4.

解决方法:配置里面不要RS-6-3-1024k,或者屏蔽该警告,这里选择修改配置

重启服务进行配置更新



添加Sqoop服务





上传ojdbc6.jar连接驱动包放入sqoop目录下

cd /opt/cloudera/parcels/CDH/lib/sqoop/lib


添加KAFKA服务






最终展示图

至此Ubuntu搭建CDH6.3.2已经全部完成

需要相关软件包的可以联系我

QQ邮箱地址:1730873674@qq.com
网易邮箱地址:j1730873674@163.com

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
DVWA(Damn Vulnerable Web Application)是一款专门为渗透测试人员设计的Web应用程序。它提供了一个安全漏洞测试环境,可以帮助测试人员进行漏洞挖掘和渗透测试。 下面是在Ubuntu 18.04上搭建DVWA的步骤: 1. 安装LAMP 在Ubuntu 18.04上安装LAMP(Linux、Apache、MySQL、PHP)环境,可以使用以下命令: ```bash sudo apt update sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql ``` 安装过程中会提示你设置MySQL的root用户密码。 2. 下载DVWA 可以从GitHub上下载最新版本的DVWA: ```bash sudo apt install git cd /var/www/html/ sudo git clone https://github.com/ethicalhack3r/DVWA.git ``` 3. 配置DVWA 将dvwa/config/config.inc.php.dist文件复制一份,并重命名为config.inc.php: ```bash cd DVWA/config sudo cp config.inc.php.dist config.inc.php ``` 编辑config.inc.php文件,将以下几行代码修改为: ```php $_DVWA[ 'db_user' ] = 'root'; $_DVWA[ 'db_password' ] = 'your_mysql_root_password'; ``` 4. 设置DVWA 将DVWA文件夹的权限设置为Web服务器可写入: ```bash sudo chown -R www-data:www-data /var/www/html/DVWA/ sudo chmod -R 755 /var/www/html/DVWA/ ``` 5. 启动DVWA 在浏览器中输入http://localhost/DVWA,进入DVWA的登录界面。默认的用户名和密码均为admin。登录成功后,可以进入DVWA的主界面,开始使用它提供的漏洞测试环境。 以上就是在Ubuntu 18.04上搭建DVWA的步骤。希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值