Bryan

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            37 Posts :: 3 Stories :: 24 Comments :: 0 Trackbacks
          I had one openstack instance which is red hat linux and its elastic ip is 10.157.166.142.

          The following is the information for the linux:
          [docker@bigdata data]$ cat /etc/redhat-release
          Red Hat Enterprise Linux Server release 7.5 (Maipo)

          docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                  inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
                  inet6 fe80::42:16ff:fe51:fd7f  prefixlen 64  scopeid 0x20<link>
                  ether 02:42:16:51:fd:7f  txqueuelen 0  (Ethernet)
                  RX packets 4991  bytes 10991244 (10.4 MiB)
                  RX errors 0  dropped 0  overruns 0  frame 0
                  TX packets 1932  bytes 135756 (132.5 KiB)
                  TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
          eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1450
                  inet 192.168.0.14  netmask 255.255.255.0  broadcast 192.168.0.255
                  inet6 fe80::f816:3eff:fe71:7997  prefixlen 64  scopeid 0x20<link>
                  ether fa:16:3e:71:79:97  txqueuelen 1000  (Ethernet)
                  RX packets 691428  bytes 1209779192 (1.1 GiB)
                  RX errors 0  dropped 2  overruns 0  frame 0
                  TX packets 346155  bytes 127969852 (122.0 MiB)
                  TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

          Stand-alone Installation

          when I installed elasticsearch in this server, I could not access to it via  http://10.157.166.142:9200 from my local window pc which in the same internal network.
          and I tried to find the ports which are listenning, but I could not find 9200.  and finally, It seems that we need to change the elasticsearch.yml to make it work to be accessedby other pc within the same internal network

          network.host: 0.0.0.0
          http.port: 9200

          and also we need to add following rule to the iptables

          -A IN_public_allow -p tcp -m tcp --dport 9200-m conntrack --ctstate NEW -j ACCEPT

          Docker Installation

          Also we are using the official docker containers to install elasticsearch, but I find it still could not access to external network which linux host can. and with a lot of time search across bing.com, I find the root cause for my case is that the mtu is not the same for eth0 and docker0, so I changed the docker-compose.yaml to include more things. and then I tried It can connect to the external network as linux host.

          networks:
            esnet:
             driver_opts:
               com.docker.network.driver.mtu: 1450

          the docker-compose.yml is as below

          version: '2.2'
          services:
            elasticsearch:
              image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
              container_name: elasticsearch
              environment:
                - cluster.name=docker-cluster
                - bootstrap.memory_lock=true
                - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
                - SERVER_HOST="0.0.0.0"
              ulimits:
                memlock:
                  soft: -1
                  hard: -1
                nofile:
                  soft: 65536
                  hard: 65536
              volumes:
                - esdata1:/usr/share/elasticsearch/data
              ports:
                - 9200:9200
                - 9300:9300
              networks:
                - esnet
            elasticsearch2:
              image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
              container_name: elasticsearch2
              environment:
                - cluster.name=docker-cluster
                - bootstrap.memory_lock=true
                - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
                - "discovery.zen.ping.unicast.hosts=elasticsearch"
              ulimits:
                memlock:
                  soft: -1
                  hard: -1
                nofile:
                  soft: 65536
                  hard: 65536
              volumes:
                - esdata2:/usr/share/elasticsearch/data
              networks:
                - esnet
            kibana:
              image: docker.elastic.co/kibana/kibana:6.7.0
              ports:
                - 5601:5601
              networks:
                - esnet
          volumes:
            esdata1:
              driver: local
            esdata2:
              driver: local
          networks:
            esnet:
             driver_opts:
               com.docker.network.driver.mtu: 1450
          posted on 2019-04-01 09:12 Life is no respector of any genius. 閱讀(340) 評論(2)  編輯  收藏

          Feedback

          # re: Elasticsearch fails access to external network on openstack instance 2019-05-12 14:21 Life is no respector of any genius.
          https://www.draw.io/  回復(fù)  更多評論
            

          # re: Elasticsearch fails access to external network on openstack instance 2019-07-11 05:22 Life is no respector of any genius.
          http://mattturck.com/wp-content/uploads/2019/06/2019_Matt_Turck_Big_Data_Landscape_2019_Fullsize.png  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 三明市| 太仓市| 六盘水市| 通化县| 麦盖提县| 昂仁县| 莱阳市| 怀远县| 甘孜| 江北区| 固安县| 鹿邑县| 保山市| 明光市| 梁平县| 水城县| 广州市| 潼南县| 天柱县| 台江县| 沙坪坝区| 定安县| 井研县| 德格县| 和硕县| 通榆县| 塔城市| 郸城县| 贵溪市| 峨山| 寻甸| 资兴市| 胶州市| 房山区| 郧西县| 应用必备| 麻栗坡县| 牙克石市| 天长市| 新邵县| 青龙|