配置Hadoop首先要有
操作系统:centOS v6.x
yum andrpm (RHEL/CentOS/OracleLinux)
Python2.6.*
gcc
JDK要求
OracleJDK 1.8 64-bit (minimum JDK 1.8.0_77) (default)
配置静态ip和ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" (配置静态IP)
IPADDR=192.168.3.61 (根据自己机器上的域来编译后两个ip号)
HWADDR="00:0C:29:5F:8C:27"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="a28642fe-47f8-47ce-8536-f7719770279f"
1.ulimit –n 检查是否是65535而不是默认的1024
否则执行如下三步配置ulimit
第一步:编辑/etc/security/limits.conf 最后增加如下四行记录
* soft nofile 128000(软权限)
* hard nofile128000
* soft nproc128000(硬权限)
* hard nproc128000
第二步:编辑/etc/security/limits.d/90-nproc.conf
将其中的1024也修改为128000(同时打开的文件数改到128000避免打开过多时被禁掉)
第三步:执行 ulimit -SHn 128000
2. 内存设置
检查/proc/sys/vm/overcommit_memory的配置值
如果为2,建议修改为0,否则有可能会出现,明明机器可用物理内存很多,但jvm确申请不了内存的情况。
调整overcommit_ratio的阈值为90%
echo "90" > /proc/sys/vm/overcommit_ratio
(设置内存占用中内存的百分比)3.关闭swap分区
vi /etc/sysctl.conf
vm.swappiness=1
sysctl -p
sysctl -a|grep swappiness
(或者用swapoff -a 这个重启后就失效了)4.为了便于发现系统磁盘问题,超过30秒还没有响应的磁盘 打印出来
echo 30 >/proc/sys/kernel/hung_task_timeout_secs
5.配置ntp服务,时间同步用的,如果时间不同步那么Hadoop将无法运行6.检查语言环境是否UTF8
否则 配置 exportLANG=zh_CN.UTF-8 这个环境变量
7.10000端口是否被占用
由于ya100对外的jdbc的服务端口为10000,需要先通过netstat –npl|grep 10000看看是否有进程已经占用了改端口,如果有,相关服务要先停掉后才能启动ya100,(典型场景是,先前这台机器已经启动了别的spark或hive服务,占用了10000端口)
ssh-keygen
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
hostname ydbmaster
vi /etc/sysconfig/network
vi/etc/hosts
iptables-P INPUT ACCEPT
iptables-P FORWARD ACCEPT
iptables-P OUTPUT ACCEPT
iptables-F
chkconfigiptables off
/etc/init.d/iptables stopsetenforce 0
vi /etc/yum/pluginconf.d/refresh-packagekit.conf
将enable设置为0
umask 0022
echo umask 0022 >> /etc/profile
1.操作系统要独立一块磁盘
数据盘不要与操作系统共用同一块盘,否则数据盘很慢的时候,运行在操作系统上的软件都跟着慢,比如说zookeeper就很容易挂掉。
2.不要使用逻辑卷
很多用户习惯使用逻辑卷将多块盘封装成一块大的盘,作为数据盘,但是默认的逻辑卷配置方式是只有一块盘在工作,其他几块盘都闲着,发挥不出来多块盘的性能,建议hadoop直接裸盘挂载,或者raid0。
3.如果非要raid,尽量是radi0别raid5\raid10
否则磁盘写入性能较差,hdfs本身是有容灾的
4.数据盘尽量大小一样,别出现有的盘很大,有的盘很小的情况
如:同时使用300G的硬盘与1T的硬盘混搭。Hadoop控制不好这种情况,会出现300G的硬盘已经满了,1T的硬盘只用了三分之一的情况。
5.系统跟目录尽量留大一点的磁盘空间,如200G,默认centos给分配50G空间风险太大,如果hadoop等日志没有及时清理掉,将来隐患较大
本地Repository源配置cd /opt/ydbsoftware
rpm -ivh ydb-utils/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh ydb-utils/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh ydb-utils/createrepo-0.9.9-22.el6.noarch.rpm
createrepo ./ydb-utils
cd /opt/ydbsoftware
nohup python-m SimpleHTTPServer &
依赖源部署(每台机器都要配置)
cd/etc/yum.repos.d
mkdir-p bak
mv*.repo bak/
vi ambari.repo
填写如下内容(注意更改域名 )
[ydb-utils]
name= ydb-utils
baseurl=http://ydbmaster:8000/ydb-utils
gpgcheck=0
[AMBARI-2.4.1.0]
name=AMBARI-2.4.1.0
baseurl=http://ydbmaster:8000/AMBARI-2.4.1.0/centos6/2.4.1.0-22
gpgcheck=0
[HDP-2.4.2.0]
name=HDP-2.4.2.0
baseurl=http://ydbmaster:8000/HDP/centos6
gpgcheck=0
[HDP-UTILS-1.1.0.20]
name=HDP-UTILS-1.1.0.20
baseurl=http://ydbmaster:8000/HDP-UTILS-1.1.0.21/repos/centos6
gpgcheck=0
依赖源部署-centos本地源
mkdir -p /opt/ydbsoftware/centosyum
mount -o loop /opt/ydbsoftware/CentOS-6.6-x86_64-bin-DVD1.iso /opt/ydbsoftware/centosyum
cd/etc/yum.repos.d
vi centoslocal.repo
填写如下内容(注意更改域名 )
[centoslocal]
name= ydb-utils
baseurl=http://ydbmaster:8000/centosyum
gpgcheck=0
安装与配置ambari(只需在一台安装)
yum cleanall
yum makecache
yum repolist
yuminstall ambari-server
ambari-server setup
中间除jdk单独指定外,都默认
jdk选3,然后将jdk存放的目录写上。
ambari-server start
然后就可以打开 http://xx.xx.xx.xx:8080 安装hadoop了默认用户名与密码均为 admin登陆网页后点击Launch install Wizard→输入名称→next→选择HDP2.5→next→os下只保留redhat6其余都不要,将刚才配置依赖源里的地址
vi ambari.repo 里对应的复制到上面→next→将之前配置ssh时的私钥复制到ssh private key里→next→确认部署成功后next→选择安装的软件:HDFS,YARN+Mapreduce2,Zookeeper,Ambari Metrics,Kafka→next
一路默认到hdfs配置,(这里需要自己去找了,需要自己了解每个功能是干什么的)然后next安装。
以上是个人在沈阳延云云计算技术有限公司学习的一部分知识,还望对大家有点作用。