大数据平台基础环境准备
之前已经记录过,这里再记录一下,相以便快速使用。安装依赖sudo yum install -y epel-release psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git配置用户和权限添加新用户 hdfs,并赋予 root 权限。如果使用 hdfs 用户作为 Hadoop 默认用户,需要将 h
·
之前已经记录过,这里再记录一下,相以便快速使用。
安装依赖
sudo yum install -y epel-release psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
配置用户和权限
添加新用户 hdfs,并赋予 root 权限。
如果使用 hdfs 用户作为 Hadoop 默认用户,需要将 hdfs 用户也配置免密登录。
adduser hdfs
passwd hdfs
# 如果提示 无效的密码: 密码未通过字典检查 - 过于简单化/系统化
echo '123456' | passwd --stdin hdfs
修改 sudoers 文件
sudo vim /etc/sudoers
root ALL=(ALL) ALL
# 添加
hadoop ALL=(ALL) NOPASSWD:ALL
网络信息
vim /etc/sysconfig/network-scripts/ifcfg-ensxx
# 修改以下选项
BOOTPROTO=static
ONBOOT=yes # 开机自动启动
IPADDR=10.xx.xx.xx # 地址
# 重启网络
systemctl restart network
# 测试网络
ping baidu.com
主机名
# 查看主机名
hostname
uname –n
# 修改主机名
hostnamectl set-hostname hadoop-master
# 查看ip
ip addr
ifconfig
# 没有ifconfig
yum search all ifconfig
yum install -y net-tools
内网映射
# 配置内网映射
vim /etc/hosts
# 添加
10.0.11.110 hadoop-master
10.0.11.111 hadoop-slave01
10.0.11.112 hadoop-slave02
关闭防火墙
# 查看状态
systemctl status firewalld
systemctl status iptables
# 停止
systemctl stop firewalld
systemctl stop iptables
# 禁止开机启动
systemctl disable firewalld
systemctl disable iptables
免密登录
修改配置
vim /etc/ssh/sshd_config
PermitRootLogin yes # 允许root用户登录
RSAAuthentication yes
PubkeyAuthentication yes # 开启公钥验证
重启sshd
systemctl restart sshd
配置免密登录
# 只在cdh-master服务器
ssh-keygen -t rsa -P '' # 回车
# 生成authorized_keys
cd ~/.ssh/
cat id_rsa.pub > authorized_keys
# 下载私匙id_rsa 和 authorized_keys 文件,并上传到其他节点~/.ssh目录下
yum install -y lrzsz
mkdir ~/.ssh
chmod 700 ~/.ssh/
cd ~/.ssh
chmod 700 id_rsa
chmod 644 authorized_keys
# 验证
ssh hadoop-slave01
ssh hadoop-slave02
exit
禁用Selinux(重启生效)
# 查看Selinux状态
sestatus
# 临时关闭
setenforce 0
# 永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
设置SWAP为0
# 查看
cat /proc/sys/vm/swappiness
# 修改
echo "vm.swappiness = 0" >> /etc/sysctl.conf
# 生效
sysctl -p
禁用透明大页面压缩
# 查看
cat /sys/kernel/mm/transparent_hugepage/defrag
# 修改
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 将命令写入开机启动
vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi
if test -f/sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
# 赋予 rc.local 可执行权限
chmod +x /etc/rc.d/rc.local
配置时间同步
ntp
yum install -y ntp
vim /etc/ntp.conf
master
# 允许内网其他机器同步时间,如果不添加该约束默认允许所有IP访问本机同步服务
# IP为本局域网内的子网IP
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap
# 配置和上游标准时间同步
server 210.72.145.44 # 中国国家授时中心
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
# 如果外部时间服务器不可用,NTP Server以本地时间作为时间服务器
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
slave
# 配置和上游标准时间同步
server 10.0.0.10
# 配置允许上游时间服务器主动修改本机的时间
restrict 10.0.0.10 nomodify notrap noquery
systemctl restart ntpd
systemctl enable ntpd
chrony
与ntp任选其一
yum install -y chrony
vim /etc/chrony.conf
master
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server s1a.time.edu.cn iburst minpoll 4 maxpoll 10
server ntp.aliyun.com iburst minpoll 4 maxpoll 10
server ntp1.aliyun.com iburst minpoll 4 maxpoll 10
server ntp.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
server ntp1.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
# 记录系统时钟获得/丢失时间的速率至drift文件中
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进。
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# 启用实时时钟(RTC)的内核同步。
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# 允许客户端同步
# Allow NTP client access from local network.
allow 10.0.11.0/112 # 允许网段的机器到这台服务器同步时间
# 阿里云提供的公网NTP服务器不可用时,采用本地时间作为同步标准
local stratum 10
# 指定存放日志文件的目录
# Specify directory for log files.
logdir /var/log/chrony
slave
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 10.0.11.110 iburst
# Allow NTP client access from local network.
allow 10.0.11.110
systemctl restart chronyd
systemctl enable chronyd
netstat -antulp | grep chronyd # UDP 705端口
查看同步状态
timedatectl
# 开启网络时间同步
timedatectl set-ntp true
# 更改当前时区为东八区
timedatectl set-timezone Asia/Shanghai
# 设置硬件时间与系统时间同步
hwclock --systohc
hwclock -w
# ntp
# * 表示同步成功的上层NTP服务器, + 表示已经连接成功,可以作为下一个提供时间更新的候选者
ntpdc -np
# 查看时间同步源
chronyc sources /chronyc sources -v
# 查看时间同步源状态
chronyc sourcestats -v
修改文件打开限制
vim /etc/security/limits.conf
* soft nofile 655350 # 任何用户可以打开的最大的文件描述符数量,默认1024,这里的数值会限制tcp连接
* hard nofile 655350
* soft nproc 655350 # 任何用户可以打开的最大进程数
* hard nproc 650000
# 所有用户创建的进程数
ps h -Led -o user | sort | uniq -c | sort -n
# 系统打开文件描述符数
cat /proc/sys/fs/file-max
794250
# 修改
vim /etc/sysctl.conf
fs.file-max = 655350
# 查看当前系统使用的打开文件描述符数
# 数字含义:
#1.已分配使用的打开文件描述符数
#2.分配后已释放的
#3.等于file-max
cat /proc/sys/fs/file-nr
5056 0 794250
# 进程最大打开文件描述符数
# 查看的是 soft limit
ulimit -n
# 查看 hard limit
ulimit -Hn
安装 JDK
tar -zxf jdk-8u211-linux-x64.tar.gz -C /opt/apps/
配置环境变量
sudo vim /etc/profile.d/hdfs_env.sh
# java
export JAVA_HOME=/opt/apps/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile.d/hdfs_env.sh
jdbc
# 上传jdbc到/usr/share/java/目录下,重命名为 mysql-connector-java.jar
# 也可以在线下载解压
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.15.tar.gz
tar zxvf mysql-connector-java-8.0.15.tar.gz
mkdir -p /usr/share/java/
cp mysql-connector-java-8.0.15.jar /usr/share/java/
# 创建软链
cd /usr/share/java/
ln -s mysql-connector-java-8.0.15.jar mysql-connector-java.jar
更多推荐
已为社区贡献1条内容
所有评论(0)