设置hostname、ip
先更改,对应的网络名称便于后续维护(每台机子都要执行):
sudo gedit /etc/sysconfig/network
TWORKING=yes
HOSTNAME=danner000
在namenode 的主机设置hostname和ip:
vi /etc/hosts
192.168.22.147 danner000
192.168.22.149 danner001
设置ssh 免密码登录
设定danner000为Master;在每台机器运行:ssh-keygen –t rsa
,生成ssh 密钥。把本地主机的公钥复制到目标主机的authorized_keys
文件下,实现本地主机免密登陆:
ssh-copy-id –i ~/.ssh/id_rsa.pub danner000
ssh-copy-id –i ~/.ssh/id_rsa.pub danner001
以上代码是在danner000机器上执行;在后续的ssh 免密登陆过程中如果提示Agent admitted failure to sign using the key
,则利用 ssh-add ~/.ssh/id_rsa
把私钥加进去。
关闭防火墙
线上环境不准如此设置,只开放对应端口即可。
Centos7以下:
service iptables stop 即时生效,重启后复原
chkconfig iptables off 永久性生效,重启后不会复原
centos7 及以上:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
jdk 环境(hadoop版本>=2.7 jdk7 )
-
下载
jdk-7u79-linux-x64.tar.gz
-
使用tar 命令解压到 ~/app 目录下
-
在
~/.bash_profile
配置Java环境变量:PATH=$PATH:JAVA_HOME/bin
配置hadoop集群
以下修改都是在danner000 机器上执行
安装Hadoop
-
下载
hadoop-2.6.0-cdh5.7.0.tar.gz
-
使用tar命令解压到~/app 目录
-
在
~/.bash_profile
配置hadoop环境变量:PATH=$PATH:HADOOP_HOME/bin
修改hadoop配置文件
在HADOOP_HOME/etc/hadoop
目录下
hadoop_env.sh
修改java_home:EXPORT JAVA_HOME=/home/danner/app/jdk1.7.0_79
-
core-site.xml
:配置namenode ```默认文件系统及端口 fs.default.name hdfs://danner000:8020/
- `hdfs-site.xml`:配置**namenode datanode**数据目录
<description>namedoe 存储永久性的元数据目录列表</description>
<name>dfs.namenode.name.dir</name>
<value>/home/danner/app/tmp/dfs/name/</value>
</property>
<property>
<description>datanode 存放数据块的目录列表</description>
<name>dfs.datanode.data.dir</name>
<value>/home/danner/app/tmp/dfs/data/</value>
</property>
- `yarn-site.xml`
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>danner000</value>
</property>
- `mapred-site.xml`:
- slave:配置从节点(3个)
> danner000
>
> danner001
>
> danner100
- 分发hadoop配置: 直接将配置好的Hadoop copy 到slave 机器上
> scp -r ~/app danner001:~/
> scp -r ~/app danner100:~/
> scp ~/.bash_profile danner001:~/
> scp ~/.bash_profile danner100:~/
### Hadoop集群的启动和停止
- 对nanedode做格式化:只要在danner000机器上执行
> hdfs namenode –format: 会在对应hdfs目录下生成” dfs/name/current”
- 启动hadoop集群: 只要在danner000机器上执行
> sbin/start-all.sh
- 验证集群启动:`jps`
输出如下:
danner000: 51835 DataNode 51997 SecondaryNameNode 52236 NodeManager 51713 NameNode 52139 ResourceManager Danner001: 11140 NodeManager 11050 DataNode Danner100: 3980 DataNode 4074 NodeManager Webui:danner000:50070; danner000:8088
- 停止:`sbin/stop-all.sh`
### mapreduce job history 配置(mapreduce-site.xml)
```
配置好后,需单独执行:./mr-jobhistory-daemon.sh start historyserver
关闭job history:./mr-jobhistory-daemon.sh stop historyserver