CentOS7单节点部署OpenStack云平台
CentOS7单节点部署OpenStack云平台,解决云平台搭建hadoop集群的内网、外网访问问题。
CentOS7单节点部署OpenStack云平台
首先静态IP配置,更换yum源,关闭防火墙。
OpenStack部署:OpenStack 入门体验_fixing keystone ldap config parameters to be undef_lxiaoyouyouj的博客-CSDN博客
安装成功后网桥配置:Openstack开通虚拟机实例的外部通信_br-ex_MichaelJun-的博客-CSDN博客
解决中文编码问题: Openstack Train 报错记录(四) - 个人学习
cat ~/keystonerc_admin查看密码并登录
修改密码
vi ~/keystonerc_admin
修改export OS_PASSWORD=123456
每次服务器重启nova服务都没有启动,输入以下命令:
systemctl restart openstack-nova-*
编写脚本:vi /root/reboot_execution_plan.sh
#!/bin/bash datetime=$(date) echo -e "${datetime}\t重启" >> /root/reboot.log sleep 100 datetime=$(date) /bin/systemctl restart openstack-nova-* echo -e "${datetime}\t执行/bin/systemctl restart openstack-nova-*" >> /root/reboot.log
用crontab设置重启执行命令:crontab -e输入
@reboot sh /root/reboot_execution_plan.sh
1.上传镜像
下载qcow2格式的CentOS官方通用云镜像
https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2009.qcow2
2.网络
已有public网络可以不删除重新创建,只需进入public点击子网删除原有子网重新创建子网
3.实例类型
4.安全组
5.创建实例
在创建实例——定制化脚本的输入框中输入以下内容:
#!/bin/bash
passwd root<<EOF
123456
123456
EOF
sed -i 's/PasswordAuthentication.*/\#&/' /etc/ssh/sshd_config
echo "
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes
" >> /etc/ssh/sshd_config
systemctl restart sshd
systemctl enable sshd
查看服务
systemctl list-unit-files --type=service --ful --no-legend --no-pager | egrep "^(openstack|neutron|quantum)" | grep -v 'neutron-.*-cleanup' | grep enable
查看nova服务
source ~/keystonerc_admin
nova service-list
重启openstack所有服务:
systemctl restart openstack-*
云平台搭建hadoop集群的内网、外网访问问题
需要在hdfs-site.xml中修改配置项dfs.client.use.datanode.hostname设置为true,
就是说客户端访问datanode的时候是通过主机域名访问,就不会出现通过内网IP来访问了
<!-- 如果是通过公网IP访问云上内网搭建的集群-->
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
1.云主机hosts文件配内网IP,本地windows电脑配主机名对应公网IP做映射;
Linux/Mac系统下文件地址:/etc/hosts
Windows系统下文件地址:C:\Windows\System32\drivers\etc\hosts
2.云主机搭建的Hadoop集群,集群之间通过内网通信,本地开发工具需要使用域名进行访问。
Hadoop配置文件是以内网IP作为机器间通信的IP。在这种情况下,我们能够访问到namenode机器,namenode会给我们数据所在机器的IP地址供我们访问数据传输服务,但是当写数据的时候,NameNode和DataNode是通过内网通信的,返回的是datanode内网的IP,我们无法根据该IP访问datanode服务器。将默认的通过IP访问,改为通过域名方式访问。
// 设置客户端访问datanode使用hostname来进行访问
conf.set("dfs.client.use.datanode.hostname", "true");
// 以实际hotsname为准
conf.set("fs.defaultFS", "hdfs://hostname:9000");
更多推荐
所有评论(0)